From c0d308e39764a6e5118883f36272b08e87f0549a Mon Sep 17 00:00:00 2001 From: LivCurtis <133100222+LivCurtis@users.noreply.github.com> Date: Tue, 9 Jul 2024 11:23:11 +0100 Subject: [PATCH 1/8] Updated docs Added docs for post.group_device and put.service_providers_trunk_group_call_capacity --- .../docs/methods/devices/post-group_device.md | 100 ++++++++++++++++++ ...ice-providers-trunk-group-call-capacity.md | 46 ++++++++ 2 files changed, 146 insertions(+) create mode 100644 docs/docs/methods/devices/post-group_device.md create mode 100644 docs/docs/methods/trunk-groups/put-service-providers-trunk-group-call-capacity.md diff --git a/docs/docs/methods/devices/post-group_device.md b/docs/docs/methods/devices/post-group_device.md new file mode 100644 index 0000000..9d567b1 --- /dev/null +++ b/docs/docs/methods/devices/post-group_device.md @@ -0,0 +1,100 @@ +# 🗃️ POST - Group Device + +Adds a new device to a group. + +### Parameters + +* service\_provider\_id (str): Service provider ID where the device should be built. +* group\_id (str): Group ID where the device should be built +* device\_name (str): Name of the new device +* device\_type (str): Type of device. +* payload (dict, optional): Device configuration data. + +### Returns + +* Dict: Returns the device profile. + +### How To Use: + +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +payload = { + "deviceType": "Polycom Soundpoint IP 4000", + "deviceName": "my-new-device-name", + "deviceLevel": "Group", + "useCustomUserNamePassword": true, + "accessDeviceCredentials": { + "userName": "9871515000", + "password": "ym7#zIuA" + }, + "netAddress": "111.111.111.111", + "port": "2222", + "outboundProxyServerNetAddress": "222.222.222.222", + "stunServerNetAddress": "333.333.333.333", + "macAddress": "CBFB0EBBF325", + "serialNumber": "123456789", + "description": "description", + "physicalLocation": "usa", + "transportProtocol": "UDP", + "groupId": "grp.odin", + "serviceProviderId": "ent.odin", + "profile": "Intelligent Proxy Addressing", + "staticRegistrationCapable": "false", + "configType": "3 File Configuration", + "protocolChoice": [ + "SIP 2.0" + ], + "isIpAddressOptional": "true", + "useDomain": "true", + "isMobilityManagerDevice": "false", + "deviceConfigurationOption": "Device Management", + "staticLineOrdering": "false", + "deviceTypeLevel": "System", + "tags": [], + "relatedServices": [], + "protocol": "SIP 2.0", + "userName": "9871515000" +} + + +my_api.post.group_device( + "service_provider_id", + "group_id", + "device_name", + "device_type", + payload=payload +) +``` +{% endcode %} + +### Example Returned Data of Device (Formatted) + +```json +{ + { + "deviceType": "device_type", + "protocol": "SIP 2.0", + "numberOfPorts": { + "unlimited": "true" + }, + "numberOfAssignedPorts": 0, + "status": "Online", + "transportProtocol": "Unspecified", + "useCustomUserNamePassword": false, + "deviceName": "device_name", + "serviceProviderId": "service_provider_id", + "groupId": "group_id", + "macAddress": "", + "deviceLevel": "Group", + "accessDeviceCredentials": { + "userName": null + }, + "tags": [], + "relatedServices": [] +} +} +``` \ No newline at end of file diff --git a/docs/docs/methods/trunk-groups/put-service-providers-trunk-group-call-capacity.md b/docs/docs/methods/trunk-groups/put-service-providers-trunk-group-call-capacity.md new file mode 100644 index 0000000..0551b5e --- /dev/null +++ b/docs/docs/methods/trunk-groups/put-service-providers-trunk-group-call-capacity.md @@ -0,0 +1,46 @@ +--- +description: api.put.service_provider_trunk_group_call_capacity() +--- + +# 🚿 PUT - Service Provider Trunk Group Call Capacity + +Updates the max active calls and the bursting max active calls for the given service provider. + +### Parameters + +* service\_provider\_id (str): Service provider ID for which the max active calls needs to be updated +* updates (dict): The updates to be applied to the service provider's trunking call capacity + +### Returns + +* Dict: Returns the updated call capacity for the service provider + +### How To Use: + +{% code overflow="wrap" %} +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +my_api.put.service_provider_trunk_group_call_capacity( + my_service_provider_id = "ServiceProviderID", + updates = { + "maxActiveCalls": 30, + "burstingMaxActiveCalls": -1 + } +) +``` +{% endcode %} + +### Example Data Returned (Formatted) + +```json +{ + "serviceProviderId": "odin.mock.clone.ent1", + "maxActiveCalls": 10, + "burstingMaxActiveCalls": 10, + "numberOfBurstingBTLUs": 0 +} +``` From 3ff3046c3b40f2461079eb9f2341d79d9389155b Mon Sep 17 00:00:00 2001 From: LivCurtis <133100222+LivCurtis@users.noreply.github.com> Date: Thu, 11 Jul 2024 15:59:02 +0100 Subject: [PATCH 2/8] Added to docs Added in put-group-trunk-groups-call-capacity.md --- .../put-group-trunk-groups-call-capacity.md | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 docs/docs/methods/trunk-groups/put-group-trunk-groups-call-capacity.md diff --git a/docs/docs/methods/trunk-groups/put-group-trunk-groups-call-capacity.md b/docs/docs/methods/trunk-groups/put-group-trunk-groups-call-capacity.md new file mode 100644 index 0000000..84aa96c --- /dev/null +++ b/docs/docs/methods/trunk-groups/put-group-trunk-groups-call-capacity.md @@ -0,0 +1,53 @@ +--- +description: api.put.group_trunk_groups_call_capacity() +--- + +# 📞 PUT - Group Trunk Groups Call Capacity + +Updates the trunking call capacity in the specified group. + +### Parameters + +* service\_provider\_id (str): Service provider ID where the target group is built +* group\_id (str): Group ID whose trunk group call capacity needs updating +* max_active_calls (int, optional): The max active calls for the group. +* bursting_max_active_calls (int, optional): The bursting max active calls for the group. +* number_of_bursting_btlus (int, optional): The number of Business Trunking License Units for bursting. + +### Returns + +* Dict: Returns the updated state of the trunk group call capacity. + +### How To Use: + +{% code overflow="wrap" %} +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +my_api.put.group_trunk_groups_call_capacity( + my_service_provider_id = "ServiceProviderID", + my_group_id = "GroupID", + max_active_calls = 5, + bursting_max_active_calls = -1, + number_of_bursting_btlus = 1 +) +``` +{% endcode %} + +### Example Data Returned (Formatted) + +```json +{ +"maxActiveCalls": 5, +"maxAvailableActiveCalls": 10, +"burstingMaxActiveCalls": -1, +"burstingMaxAvailableActiveCalls": -1, +"serviceProviderId": "ServiceProviderID", +"groupId": "GroupID", +"maxAvailableNumberOfBurstingBTLUs": 1, +"numberOfBurstingBTLUs": 1 +} +``` From a884ee1f32ecc979bb9030c31e4ddd6c307230aa Mon Sep 17 00:00:00 2001 From: LivCurtis <133100222+LivCurtis@users.noreply.github.com> Date: Thu, 11 Jul 2024 16:08:41 +0100 Subject: [PATCH 3/8] Updated docs Updated group_trunk_groups_call_capacity and SUMMARY.md --- docs/SUMMARY.md | 1 + .../methods/trunk-groups/put-group-trunk-groups-call-capacity.md | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 921fa07..b322f41 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -43,6 +43,7 @@ * [🚰 GET - Group Trunk Groups](docs/methods/trunk-groups/get-group-trunk-groups.md) * [🚿 GET - Service Provider Trunk Group Call Capacity](docs/methods/trunk-groups/get-service-provider-trunk-group-call-capacity.md) * [📂 GET - Service Provider Call Capacity Report](docs/methods/trunk-groups/get-service-provider-call-capacity-report.md) + * [📞 PUT - Group Trunk Groups Call Capacity](docs/methods/trunk-groups/put-group-trunk--groups-call-capacity.md) * [🤵 User](docs/methods/user/README.md) * [🆔 GET - User By ID](docs/methods/user/get-user-by-id.md) * [👯 GET - Users](docs/methods/user/get-users.md) diff --git a/docs/docs/methods/trunk-groups/put-group-trunk-groups-call-capacity.md b/docs/docs/methods/trunk-groups/put-group-trunk-groups-call-capacity.md index 84aa96c..1aa56c0 100644 --- a/docs/docs/methods/trunk-groups/put-group-trunk-groups-call-capacity.md +++ b/docs/docs/methods/trunk-groups/put-group-trunk-groups-call-capacity.md @@ -5,6 +5,7 @@ description: api.put.group_trunk_groups_call_capacity() # 📞 PUT - Group Trunk Groups Call Capacity Updates the trunking call capacity in the specified group. +NOTE: The max available active calls cannot be changed here. Please see service_providers_trunk_group_call_capacity to update this. ### Parameters From e91385f9cc5b7e52ac571f1c46930e724f92fd02 Mon Sep 17 00:00:00 2001 From: LivCurtis <133100222+LivCurtis@users.noreply.github.com> Date: Fri, 12 Jul 2024 13:08:21 +0100 Subject: [PATCH 4/8] Updated docs Added post-group_hunt_group.md doc --- docs/SUMMARY.md | 1 + .../hunt-groups/post-group-hunt-group.md | 127 ++++++++++++++++++ 2 files changed, 128 insertions(+) create mode 100644 docs/docs/methods/hunt-groups/post-group-hunt-group.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index b322f41..9b3124f 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -86,6 +86,7 @@ * [🟢 PUT - Group Hunt Groups Status](docs/methods/hunt-groups/group-hunt-groups-status.md) * [🍏 PUT - Group Hunt Group](docs/methods/hunt-groups/group-hunt-group.md) * [💯 PUT - Group Hunt Group Weighted Call Distribution](docs/methods/hunt-groups/group-hunt-group-weighted-call-distribution.md) + * [🙋‍♂️ POST - Group Hunt Group](docs/methods/hunt-groups/post-group-hunt-group.md) * [🍒 Services](docs/methods/services/README.md) * [🧍 PUT - User Services](docs/methods/services/user-services.md) * [🛑 Do Not Disturb](docs/methods/do-not-disturb/README.md) diff --git a/docs/docs/methods/hunt-groups/post-group-hunt-group.md b/docs/docs/methods/hunt-groups/post-group-hunt-group.md new file mode 100644 index 0000000..f43e633 --- /dev/null +++ b/docs/docs/methods/hunt-groups/post-group-hunt-group.md @@ -0,0 +1,127 @@ +# 🙋‍♂️ POST - Group Hunt Group + +Builds a hunt group (HG) in the specified group. + +### Parameters + +* service\_provider\_id (str): The service provider ID in which the target group is built. +* group\_id (str): The group ID where the HG should be built. +* service\_user\_id (str): The service user ID for the new HG. This must include the domain of the user. +* clid\_first\_name (str): The Calling Line ID first name. +* clid\_last\_name (str): The Calling Line ID last name. +* extension (str): The extension number for the HG. This must be entered as a string. +* payload (dict, optional): HG configuration data. +* agents (list, optional): List of user IDs (str) that should be assigned to the new HG. The user(s) must already exist in the group. +* policy (str, optional): Regular, Circular, Simultaneous, Uniform, Weighted. Defaults to Regular. +* no\_answer\_number\_of\_rings (int, optional): Defaults to 5. +* forward\_timeout\_seconds (int, optional): Defaults to 0. + +### Returns + +* None: This method does not return any specific value. + +### How To Use: + +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +hunt_group_agents= [ + "hunt_group_user1@microv-works.com", + "hunt_group_user2@microv-works.com" +] + +my_api.post.group_hunt_group( + my_service_provider_id = "ServiceProviderID", + my_group_id = "GroupID", + service_user_id = "odin.mock.hg.2@microv-works.com", + clid_first_name = "odin", + clid_last_name = "mock.hg.2", + hunt_group_extension = "1234", + agents = hunt_group_agents, + policy = "Regular" +) +``` +### Example Returned Data of Hunt Group (Formatted) + +```json +{ + "serviceInstanceProfile": { + "name": "odin mock.hg.2", + "callingLineIdLastName": "mock.hg.2", + "callingLineIdFirstName": "odin", + "hiraganaLastName": "odin mock.hg.2", + "hiraganaFirstName": "Hunt Group", + "extension": "1234", + "language": "English", + "timeZone": "Europe/London", + "timeZoneDisplayName": "(GMT+01:00) Greenwich Mean Time", + "aliases": [] + }, + "policy": "Regular", + "huntAfterNoAnswer": False, + "noAnswerNumberOfRings": 5, + "forwardAfterTimeout": False, + "forwardTimeoutSeconds": 0, + "allowCallWaitingForAgents": False, + "useSystemHuntGroupCLIDSetting": False, + "includeHuntGroupNameInCLID": False, + "enableNotReachableForwarding": False, + "makeBusyWhenNotReachable": False, + "allowMembersToControlGroupBusy": False, + "enableGroupBusy": False, + "applyGroupBusyWhenTerminatingToAgent": False, + "serviceUserId": "odin.mock.hg.2@microv-works.com", + "resellerId": None, + "serviceProviderId": "ServiceProviderID", + "groupId": "GroupID", + "isEnterprise": True, + "agents": [ + { + "userId": "hunt_group_user1@microv-works.com", + "lastName": "1", + "firstName": "hunt_group_user", + "hiraganaLastName": "1", + "hiraganaFirstName": "hunt_group_user", + "weight": None, + "phoneNumber": None, + "extension": "111111", + "department": None, + "emailAddress": None, + "isPhoneNumberActivated": None, + "countryCode": None, + "nationalPrefix": None, + "departmentName": None, + "departmentType": None, + "parentDepartment": None, + "parentDepartmentType": None, + "groupId": "GroupID", + "groupName": "Group Name" + }, + { + "userId": "hunt_group_user2@microv-works.com", + "lastName": "2", + "firstName": "hunt_group_user", + "hiraganaLastName": "2", + "hiraganaFirstName": "hunt_group_user", + "weight": None, + "phoneNumber": None, + "extension": "222222", + "department": None, + "emailAddress": None, + "isPhoneNumberActivated": None, + "countryCode": None, + "nationalPrefix": None, + "departmentName": None, + "departmentType": None, + "parentDepartment": None, + "parentDepartmentType": None, + "groupId": "GroupID", + "groupName": "Group Name" + } + ] +} + +``` \ No newline at end of file From c250a55e5dab3a69065804ff0012d88f7882d349 Mon Sep 17 00:00:00 2001 From: LivCurtis <133100222+LivCurtis@users.noreply.github.com> Date: Mon, 15 Jul 2024 10:54:08 +0100 Subject: [PATCH 5/8] Added to docs Added post-group-trunk-group.md --- .../trunk-groups/post-group-trunk-group.md | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 docs/docs/methods/trunk-groups/post-group-trunk-group.md diff --git a/docs/docs/methods/trunk-groups/post-group-trunk-group.md b/docs/docs/methods/trunk-groups/post-group-trunk-group.md new file mode 100644 index 0000000..1a2219b --- /dev/null +++ b/docs/docs/methods/trunk-groups/post-group-trunk-group.md @@ -0,0 +1,118 @@ +--- +description: api.post.group_trunk_group() +--- + +# 🚿 POST - Group Trunk Group + +Builds a Trunk Group (TG) in the specified group. Please note, several fields are set to have default values. Please see below. + +### Parameters + +* service\_provider\_id (str): Service provider ID for which the max active calls needs to be updated +* group\_id (str): The group ID where the HG should be built. +* trunk\_name (str): The name of the new TG. +* max\_active\_calls (str): The maximum active calls to be set on the TG. +* payload (dict, optional): Configuration for the TG. +* sip\_authentication\_username (str, optional): The SIP authentication username for the TG. This field is required if "requireAuthentication" in the payload is set to "true". +* sip\_authentication\_password (str, optional): The SIP authentication password for the TG. You can generate a password for this using get.sip_password_generator. This field is required if "requireAuthentication" in the payload is set to "true". + +### Returns + +* Dict: Returns the Trunk Group profile. + +### Default Fields + +* "capacityExceededTrapInitialCalls":0, +* "capacityExceededTrapOffsetCalls":0, +* "clidSourceForScreenedCallsPolicy":"Profile Name Profile Number", +* "continuousOptionsSendingIntervalSeconds":30, +* "failureOptionsSendingIntervalSeconds":10, +* "failureThresholdCounter":1, +* "invitationTimeout":6, +* "inviteFailureThresholdCounter":1, +* "inviteFailureThresholdWindowSeconds":30, +* "pilotUserCallOptimizationPolicy":"Optimize For User Services", +* "pilotUserCallingLineAssertedIdentityPolicy":"Unscreened Originating Calls", +* "pilotUserCallingLineIdentityForEmergencyCallsPolicy":"No Calls", +* "pilotUserCallingLineIdentityForExternalCallsPolicy":"No Calls", +* "pilotUserChargeNumberPolicy":"No Calls", +* "requireAuthentication":"false", +* "successThresholdCounter":1, +* "useSystemUserLookupPolicy":"true", +* "userLookupPolicy":"Basic" + + +### How To Use: + +{% code overflow="wrap" %} +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +my_api.put.group_trunk_group( + my_service_provider_id = "ServiceProviderID", + my_group_id = "GroupID", + my_trunk_group_name = "Odin Test Trunk" + max_active_calls = 2 +) +``` +{% endcode %} + +### Example Data Returned (Formatted) + +```json +{ + "maxActiveCalls": 2, + "enableBursting": False, + "capacityExceededTrapInitialCalls": 0, + "capacityExceededTrapOffsetCalls": 0, + "invitationTimeout": 6, + "requireAuthentication": False, + "allowTerminationToTrunkGroupIdentity": False, + "allowTerminationToDtgIdentity": False, + "includeTrunkGroupIdentity": False, + "includeDtgIdentity": False, + "includeTrunkGroupIdentityForNetworkCalls": False, + "includeOtgIdentityForNetworkCalls": False, + "enableNetworkAddressIdentity": False, + "allowUnscreenedCalls": False, + "allowUnscreenedEmergencyCalls": False, + "pilotUserCallingLineIdentityForExternalCallsPolicy": "No Calls", + "pilotUserChargeNumberPolicy": "No Calls", + "routeToPeeringDomain": False, + "prefixEnabled": False, + "statefulReroutingEnabled": False, + "sendContinuousOptionsMessage": False, + "continuousOptionsSendingIntervalSeconds": 30, + "failureOptionsSendingIntervalSeconds": 10, + "failureThresholdCounter": 1, + "successThresholdCounter": 1, + "inviteFailureThresholdCounter": 1, + "inviteFailureThresholdWindowSeconds": 30, + "trunkGroupState": "Available", + "pilotUserCallingLineAssertedIdentityPolicy": "Unscreened Originating Calls", + "useSystemCallingLineAssertedIdentityPolicy": False, + "totalActiveIncomingCalls": 0, + "totalActiveOutgoingCalls": 0, + "pilotUserCallOptimizationPolicy": "Optimize For User Services", + "clidSourceForScreenedCallsPolicy": "Profile Name Profile Number", + "useSystemCLIDSourceForScreenedCallsPolicy": False, + "userLookupPolicy": "Basic", + "useSystemUserLookupPolicy": True, + "pilotUserCallingLineIdentityForEmergencyCallsPolicy": "No Calls", + "implicitRegistrationSetSupportPolicy": "Disabled", + "useSystemImplicitRegistrationSetSupportPolicy": True, + "sipIdentityForPilotAndProxyTrunkModesPolicy": "User", + "useSystemSIPIdentityForPilotAndProxyTrunkModesPolicy": True, + "useSystemSupportConnectedIdentityPolicy": True, + "supportConnectedIdentityPolicy": "Disabled", + "useSystemOptionsMessageResponseStatusCodes": True, + "serviceProviderId": "ServiceProviderID", + "groupId": "GroupID", + "name": "Odin Test Trunk", + "users": [] +} + +``` From 9a27e4a28e1c50774024818b0feb2120627614cd Mon Sep 17 00:00:00 2001 From: LivCurtis <133100222+LivCurtis@users.noreply.github.com> Date: Mon, 15 Jul 2024 11:42:16 +0100 Subject: [PATCH 6/8] Updated docs Added put-group_trunk_group doc. Updated SUMMARY.md for put-group-trunk-group and post-group-trunk-group --- docs/SUMMARY.md | 2 + .../trunk-groups/put-group_trunk_group.md | 100 ++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 docs/docs/methods/trunk-groups/put-group_trunk_group.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 9b3124f..86020d9 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -44,6 +44,8 @@ * [🚿 GET - Service Provider Trunk Group Call Capacity](docs/methods/trunk-groups/get-service-provider-trunk-group-call-capacity.md) * [📂 GET - Service Provider Call Capacity Report](docs/methods/trunk-groups/get-service-provider-call-capacity-report.md) * [📞 PUT - Group Trunk Groups Call Capacity](docs/methods/trunk-groups/put-group-trunk--groups-call-capacity.md) + * [☎️ PUT - Group Trunk Group](docs/methods/trunk-groups/put-group-trunk--group.md) + * [🚿 POST - Group Trunk Groupy](docs/methods/trunk-groups/post-group-trunk--group.md) * [🤵 User](docs/methods/user/README.md) * [🆔 GET - User By ID](docs/methods/user/get-user-by-id.md) * [👯 GET - Users](docs/methods/user/get-users.md) diff --git a/docs/docs/methods/trunk-groups/put-group_trunk_group.md b/docs/docs/methods/trunk-groups/put-group_trunk_group.md new file mode 100644 index 0000000..baaf636 --- /dev/null +++ b/docs/docs/methods/trunk-groups/put-group_trunk_group.md @@ -0,0 +1,100 @@ +--- +description: api.put.group_trunk_group() +--- + +# 📞 PUT - Group Trunk Group + +Updates trunk group (TG) information. + +### Parameters + +* service\_provider\_id (str): Service provider ID where the target group is built +* group\_id (str): Group ID whose trunk group call capacity needs updating +* trunk\_group\_name (str): The name of the trunk group that is being updated. +* updates (dict): Updates to be applied to the TG. + +### Returns + +* Dict: Returns the updated Trunk Group profile. + +### How To Use: + +{% code overflow="wrap" %} +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +my_api.put.group_trunk_group( + my_service_provider_id = "ServiceProviderID", + my_group_id = "GroupID", + my_trunk_group = "Odin Test Trunk + updates = { + "maxActiveCalls": 1, + "maxIncomingCalls": 0, + "maxOutgoingCalls": 0, + "enableBursting": false + } +) +``` +{% endcode %} + +### Example Data Returned (Formatted) + +```json +{ + "maxActiveCalls": 1, + "maxIncomingCalls": 0, + "maxOutgoingCalls": 0, + "enableBursting": False, + "capacityExceededTrapInitialCalls": 0, + "capacityExceededTrapOffsetCalls": 0, + "invitationTimeout": 6, + "requireAuthentication": False, + "allowTerminationToTrunkGroupIdentity": False, + "allowTerminationToDtgIdentity": False, + "includeTrunkGroupIdentity": False, + "includeDtgIdentity": False, + "includeTrunkGroupIdentityForNetworkCalls": False, + "includeOtgIdentityForNetworkCalls": False, + "enableNetworkAddressIdentity": False, + "allowUnscreenedCalls": False, + "allowUnscreenedEmergencyCalls": False, + "pilotUserCallingLineIdentityForExternalCallsPolicy": "No Calls", + "pilotUserChargeNumberPolicy": "No Calls", + "routeToPeeringDomain": False, + "prefixEnabled": False, + "statefulReroutingEnabled": False, + "sendContinuousOptionsMessage": False, + "continuousOptionsSendingIntervalSeconds": 30, + "failureOptionsSendingIntervalSeconds": 10, + "failureThresholdCounter": 1, + "successThresholdCounter": 1, + "inviteFailureThresholdCounter": 1, + "inviteFailureThresholdWindowSeconds": 30, + "trunkGroupState": "Available", + "pilotUserCallingLineAssertedIdentityPolicy": "Unscreened Originating Calls", + "useSystemCallingLineAssertedIdentityPolicy": True, + "totalActiveIncomingCalls": 0, + "totalActiveOutgoingCalls": 0, + "pilotUserCallOptimizationPolicy": "Optimize For User Services", + "clidSourceForScreenedCallsPolicy": "Profile Name Profile Number", + "useSystemCLIDSourceForScreenedCallsPolicy": True, + "userLookupPolicy": "Basic", + "useSystemUserLookupPolicy": True, + "pilotUserCallingLineIdentityForEmergencyCallsPolicy": "No Calls", + "implicitRegistrationSetSupportPolicy": "Disabled", + "useSystemImplicitRegistrationSetSupportPolicy": True, + "sipIdentityForPilotAndProxyTrunkModesPolicy": "User", + "useSystemSIPIdentityForPilotAndProxyTrunkModesPolicy": True, + "useSystemSupportConnectedIdentityPolicy": True, + "supportConnectedIdentityPolicy": "Disabled", + "useSystemOptionsMessageResponseStatusCodes": True, + "serviceProviderId": "ServiceProviderID", + "groupId": "GroupID", + "name": "Odin Test Trunk", + "users": [] +} + +``` From 92bf62922b4e124fb8188726f9bbf3ad963b27de Mon Sep 17 00:00:00 2001 From: LivCurtis <133100222+LivCurtis@users.noreply.github.com> Date: Mon, 15 Jul 2024 12:47:31 +0100 Subject: [PATCH 7/8] Added to docs Added put-user-call-processing-policy.md. Updated SUMMARY.md --- docs/SUMMARY.md | 2 + .../call-processing-policies/README.md | 3 + .../put-user-call-processing-policy.md | 84 +++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 docs/docs/methods/call-processing-policies/README.md create mode 100644 docs/docs/methods/call-processing-policies/put-user-call-processing-policy.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 86020d9..0dcd79b 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -70,6 +70,8 @@ * [🟢 PUT - User Call Center](docs/methods/call-centers/user-call-center.md) * [🙋‍♂️ PUT - User Call Center Agents Update](docs/methods/call-centers/user-call-center-agents-update.md) * [🛑 PUT - User Call Center Agent Sign Out](docs/methods/call-centers/user-call-center-agent-sign-out.md) + * [📞 Call Processing Policies](docs/methods/call-processing-policies/README.md) + * [🗃️ PUT - User Call Processing Policy](docs/methods/call-processing-policy.md) * [☎️ Devices](docs/methods/devices/README.md) * [📱 PUT - Group Devices](docs/methods/devices/group-devices.md) * [📞 PUT - Service Provider Device](docs/methods/devices/service-provider-device.md) diff --git a/docs/docs/methods/call-processing-policies/README.md b/docs/docs/methods/call-processing-policies/README.md new file mode 100644 index 0000000..fe316ca --- /dev/null +++ b/docs/docs/methods/call-processing-policies/README.md @@ -0,0 +1,3 @@ +# 🔑 Authentication + +All things authentication and passwords. diff --git a/docs/docs/methods/call-processing-policies/put-user-call-processing-policy.md b/docs/docs/methods/call-processing-policies/put-user-call-processing-policy.md new file mode 100644 index 0000000..950311d --- /dev/null +++ b/docs/docs/methods/call-processing-policies/put-user-call-processing-policy.md @@ -0,0 +1,84 @@ +--- +description: my_api.put.user_call_processing_policy() +--- + +# 🗃️ PUT - User Call Processing Policy + +Update the Call Processing Policies for a specified user. + +### Parameters + +* user\_id (str): The user ID of the user whose call processing policies need updating. +* updates (dict): Updates to apply to the specified user. + +### Returns + +* Dict: Returns the updated call processing policies. + +### How To Use: + +The below code will set the AA to deactivated. + +{% code overflow="wrap" %} +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +my_api.put.user_call_processing_policy( + "userID@domain.com", + updates = { + "clidPolicy": "Use DN", + "emergencyClidPolicy": "Use DN", + "allowAlternateNumbersForRedirectingIdentity": "true", + "useGroupName": "false" + } +) +``` +{% endcode %} + +### Example Data Returned (Formatted) + +```json +{ + "useUserCLIDSetting": False, + "useUserMediaSetting": False, + "useUserCallLimitsSetting": False, + "useUserDCLIDSetting": False, + "useUserTranslationRoutingSetting": False, + "useMaxSimultaneousCalls": True, + "maxSimultaneousCalls": 5, + "useMaxSimultaneousVideoCalls": True, + "maxSimultaneousVideoCalls": 5, + "useMaxCallTimeForAnsweredCalls": True, + "maxCallTimeForAnsweredCallsMinutes": 1440, + "useMaxCallTimeForUnansweredCalls": False, + "maxCallTimeForUnansweredCallsMinutes": 2, + "mediaPolicySelection": "No Restrictions", + "useMaxConcurrentRedirectedCalls": True, + "maxConcurrentRedirectedCalls": 5, + "useMaxFindMeFollowMeDepth": True, + "maxFindMeFollowMeDepth": 2, + "maxRedirectionDepth": 5, + "useMaxConcurrentFindMeFollowMeInvocations": True, + "maxConcurrentFindMeFollowMeInvocations": 2, + "clidPolicy": "Use DN", + "emergencyClidPolicy": "Use DN", + "allowAlternateNumbersForRedirectingIdentity": True, + "useGroupName": False, + "blockCallingNameForExternalCalls": False, + "enableDialableCallerID": False, + "allowConfigurableCLIDForRedirectingIdentity": True, + "allowDepartmentCLIDNameOverride": False, + "useUserPhoneListLookupSetting": False, + "enablePhoneListLookup": False, + "useMaxConcurrentTerminatingAlertingRequests": False, + "maxConcurrentTerminatingAlertingRequests": 10, + "includeRedirectionsInMaximumNumberOfConcurrentCalls": False, + "allowMobileDNForRedirectingIdentity": False, + "userId": "userID@domain.com" +} + +``` + From e267625ccb69424b0520f8f9f436eb11e66680a8 Mon Sep 17 00:00:00 2001 From: LivCurtis <133100222+LivCurtis@users.noreply.github.com> Date: Mon, 15 Jul 2024 12:52:00 +0100 Subject: [PATCH 8/8] Updated README.md --- docs/docs/methods/call-processing-policies/README.md | 4 +--- docs/docs/methods/trunk-groups/put-group_trunk_group.md | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/docs/methods/call-processing-policies/README.md b/docs/docs/methods/call-processing-policies/README.md index fe316ca..fd98f37 100644 --- a/docs/docs/methods/call-processing-policies/README.md +++ b/docs/docs/methods/call-processing-policies/README.md @@ -1,3 +1 @@ -# 🔑 Authentication - -All things authentication and passwords. +# 🗃️ Call Processing POlicies \ No newline at end of file diff --git a/docs/docs/methods/trunk-groups/put-group_trunk_group.md b/docs/docs/methods/trunk-groups/put-group_trunk_group.md index baaf636..d2ad118 100644 --- a/docs/docs/methods/trunk-groups/put-group_trunk_group.md +++ b/docs/docs/methods/trunk-groups/put-group_trunk_group.md @@ -2,7 +2,7 @@ description: api.put.group_trunk_group() --- -# 📞 PUT - Group Trunk Group +# ☎️ PUT - Group Trunk Group Updates trunk group (TG) information.