Group Trunk Group

Warning: The behaviour of this API had been adapted in rel 1.7.3 with the introduction of limitOutgoingCalls and limitIncomingCalls to overcome some limitations linked to the value 0. It is however possible to enable a backward compatible adaptation logic that will try to define the values of these 2 parameters based on the maxIncomingCalls and maxOutgoingCalls. See below.

List group’s trunk groups

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/trunk_groups/

Get the list of trunk groups in a group.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/trunk_groups/ HTTP/1.1
Host: example.com
Request JSON Object:
  • trunkingMode (string) – Optional filter on one trunking mode only (“normal” or “teamsDR”)

  • includeEnterpriseTrunkGroups (boolean) – Optional filter to requests the Trunks Groups of the whole Enterprise (only accepted for Tenant of type Enterprise)

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{
   "trunks": [
      {
         "name": "APIO_Trunk_Group_Existing",
         "department": {
              "tenantId": "ApioSpTest",
              "groupId": "ApioGrpTest",
              "departmentName": "test_department_initial",
              "fullPathName": "test_department_parent_1 \\ test_department_initial"
         },
         "deviceName": "Trunk_Group_Device_1",
         "deviceLevel": "Group",
         "groupId": "GroupTest",
         "trunkingMode": "normal"
      }
   ]
}
Response JSON Object:
  • trunks (array) – A list of objects as defined in Trunk Group.

Status Codes:

Add group’s trunk group

POST /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/trunk_groups/

Create a new trunk group in a group.

Example request:

POST /api/v1/tenants/foo/groups/foogroup/services/trunk_groups/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "name": "TrunkTest",
   "department": {
      "tenantId": "ApioEntTest",
      "groupId": "ApioEntGrpTest",
      "departmentName": "test_department_parent"
   },
   "maxActiveCalls": 15,
   "enableBursting": false,
   "accessDevice": {
      "name": "TrunkTest_device",
      "level": "Group"
   },
   "pilotUser": {
      "userId": "TrunkTestPilot@netaxis.be",
      "department": {
          "tenantId": "ApioEntTest",
          "groupId": "ApioEntGrpTest",
          "departmentName": "test_department_parent"
      },
      "lastName": "Pilot",
      "firstName": "User",
      "linePort": "LP_TrunkTest_Pilot@netaxis.be",
      "password": "ChangeMe"
   },
   "callForwardingAlwaysAction": "Forward",
   "callForwardingAlwaysForwardAddress": "+3222123456"
}
Request JSON Object:
  • name (string) – the name of the new trunk group.

  • accessDevice (object) – (optional) The existing Access Device that will be used for this Trunk Group. See Access Device (only name and level are relevant in this case, the other fields will be ignored). Mutually exclusive with accessDeviceInfo, if bot are present, only accessDevice will be used.

  • accessDeviceInfo (object) – (optional) Create a new Access Device with these info and use it for the Trunk Group. See Access Device Info. Mutually exclusive with accessDevice, if bot are present, only accessDevice will be used.

  • pilotUser (object) – (optional) Create a Pilot User wiuth a full control of the parameters. See User Profile Attributes. Can be used for example for pure SIP (no phone number) configuration. Mutually exclusive with pilotUserInfo, if bot are present, only pilotUser will be used.

  • department (object) – (Optional) An object as Group department key attributes.

  • pilotUserInfo (object) – (optional) Create a Pilot User based on the phone number. See Pilot User Info. Can be used for example for PBX configuration. Mutually exclusive with pilotUserInfo, if bot are present, only pilotUser will be used. It i simportant to know that the number present here will always be treated in auto_create mode.

  • maxActiveCalls (integer) – the maximum number of concurrent active trunk calls.

  • limitIncomingCalls (integer) – (optional) limit the number of concurrent active incoming trunk calls.

  • maxIncomingCalls (integer) – (optional) the maximum number of concurrent active incoming trunk calls. 0 means forbidden. Only taken into consideration if limitIncomingCalls is present and set to true.

  • limitOutgoingCalls (integer) – (optional) limit the number of concurrent active outgoing trunk calls.

  • maxOutgoingCalls (integer) – (optional) the maximum number of concurrent active outgoing trunk calls. 0 means forbidden. Only taken into consideration if limitOutgoingCalls is present and set to true

  • requireAuthentication (boolean) – (optional) Indicate if the Trunk must be authenticated to be used.

  • sipAuthenticationUserName (string) – (conditional) The SIP user name for the authentication. Must be present if requireAuthentication is set to true

  • sipAuthenticationPassword (string) – (conditional) The SIP user name for the authentication. Must be present if requireAuthentication is set to true

  • trunkGroupIdentity (string) – the trunk group identity. It is a SIP URI (without the sip:).

  • allowTerminationToTrunkGroupIdentity (boolean) – (optional)

  • includeTrunkGroupIdentity (boolean) – (optional) if set will include trunk group identity

  • includeDtgIdentity (boolean) – (optional) if set will include dtg identity

  • includeTrunkGroupIdentityForNetworkCalls (boolean) – (optional) is set will include trunk group identity for network calls

  • includeOtgIdentityForNetworkCalls (boolean) – (optional) if set will include otg identity in network calls

  • allowUnscreenedCalls (boolean) – (optional) if set will allow unscreened calls

  • allowUnscreenedEmergencyCalls (boolean) – (optional) if set will allow unscreened emergency calls

  • pilotUserCallingLineIdentityForExternalCallsPolicy (string) – (optional) the policy of the pilot user for calling line identity in presence of external calls

  • pilotUserChargeNumberPolicy (string) – (optional) the Trunk Group Pilot User Charge Number policy. Its value comes from list: “All Originating Calls”,”Unscreened Originating Calls”,”No Calls”

  • peeringDomain (string) – (optional) the network peering domain name.

  • routeToPeeringDomain (booolean) – (optional) if set will enable routing to Peering Domain

  • prefix (string) – (optional) prefix for the number

  • prefixEnabled (booolean) – if set will enable the prefix

  • statefulReroutingEnabled (booolean) – if set will enable stateful rerouting

  • pilotUserCallingLineAssertedIdentityPolicy (string) – (optional) the calling line asserted identity policy of the pilot user

  • useSystemCallingLineAssertedIdentityPolicy (boolean) – (optional) if True will use system’s calling line asserted identity policy, otherwise will use pilot user’s one

  • pilotUserCallOptimizationPolicy (string) – (optional) the call optimization policy of the pilot user

  • clidSourceForScreenedCallsPolicy (string) – (optional) the calling line ID source for screened calls policy of the pilot user

  • useSystemCLIDSourceForScreenedCallsPolicy (boolean) – (optional) if True will use system’s calling line ID source for screened calls policy, otherwise will use pilot user’s one

  • userLookupPolicy (string) – (optional) the lookup policy of the pilot user

  • useSystemUserLookupPolicy (boolean) – (optional) if True will use system’s lookup policy, otherwise will use pilot user’s one

  • pilotUserCallingLineIdentityForEmergencyCallsPolicy (string) – (optional) the calling line identity for emergency calls policy of the pilot user {‘All Originating Calls’|’Unscreened Originating Calls’|’No Calls’}

  • enableBursting (boolean) – (optional) if set it will enable extra calls over the maxActiveCalls limit.

  • burstingMaxActiveCalls (integer) – (conditional) the maximum number of concurrent active burst trunk calls. Must be present if enableBursting is set to true

  • burstingMaxIncomingCalls (integer) – (optional) the maximum number of concurrent active incoming burst trunk calls.

  • burstingMaxOutgoingCalls (integer) – (optional) the maximum number of concurrent active incoming burst trunk calls.

  • capacityExceededAction (string) – (optional) Trunk Group capacity exceeded action. Its value comes from list: “Forward”,”Reroute”, “”. (”” is to set no action).

  • capacityExceededForwardAddress (string) – (optional) Forward Address in case of capacity Exceeded. Must be present if capacityExceededAction is to “Forward”.

  • capacityExceededRerouteTrunkGroup (string) – (conditional) Reroute Trunk Group Key in case of capacity Exceeded. Must be present if capacityExceededAction is to “Reroute”. See Trunk Group Key.

  • capacityExceededTrapInitialCalls (integer) – (optional) An SNMP trap will be sent when the number of counted events crosses this threshold value.

  • capacityExceededTrapOffsetCalls (integer) – (optional) An SNMP traps will be sent after the initial trap each time the number of counted events increases by this value since the last trap.

  • unreachableDestinationAction (string) – (optional) Trunk Group unreachable destination action. Its value comes from list: “Forward” , “Reroute” , “”. (”” is to set no action).

  • unreachableDestinationForwardAddress (string) – (conditional) Phone Number or SIP URI that can be used to forward call in case of unreachable Destination. Must be present if unreachableDestinationAction is to “Forward”.

  • unreachableDestinationRerouteTrunkGroup (string) – (conditional)unreachable Destination Reroute Trunk Group Key. Must be present if unreachableDestinationAction is to “Reroute”. See Trunk Group Key.

  • invitationTimeout (integer) – (optional) The timer to start when an invitation is sent to a device associated with a trunk group.

  • sendContinuousOptionsMessage (booolean) – (optional) if set will send OPTIONS messages continuously

  • continuousOptionsSendingIntervalSeconds (integer) – (optional) the interval in seconds between one OPTIONS message and the other

  • failureOptionsSendingIntervalSeconds (integer) – (optional) the interval in seconds between a failure and the next OPTIONS message

  • failureThresholdCounter (integer) – (optional) the max number of failures allowed

  • successThresholdCounter (integer) – (optional) the max number of successes allowed

  • inviteFailureThresholdCounter (integer) – (optional) the max number of failures allowed for INVITE messages

  • inviteFailureThresholdWindowSeconds (integer) – the window in seconds to wait for an INVITE message to fail

  • templateName (string) – (optional) The name of the template to be used during the Trunk Group creation.

  • callForwardingAlwaysAction (string) – (optional) The call forwarding always mode. Its value comes from list: {‘Forward’|’Reroute’}.

  • callForwardingAlwaysForwardAddress (string) – (conditional) Phone Number or SIP URI where calls have to be forwarded. Must be present if callForwardingAlwaysAction is set to ‘Forward’.

  • callForwardingAlwaysRerouteTrunkGroup (object) – (conditional) Trunk Group where calls have to be rerouted. Must be present if callForwardingAlwaysAction is set to ‘Reroute’. See Trunk Group Key.

  • trunkingMode (string) – (optional) the type of trunk to be created (“normal”/”teamsDR”) if used and set to “teamsDR” it will use the default teams dr Trunk group template from settings, if none is present in the data.

Response:

Same as GET instance answer.

Status Codes:

Template Information for Trunk Group

The template category is trunk_group

MS Teams Direct Routing information

For creating a Trunk Group for DR, it is recommended to simply use a template with name “msteams_dr” (its content is described in the Configuration Guide) and to provide only the name and the capacity related fields. Most of the other parameters will have specific parameters needed by the MS Teams integration.

The element below has to be included in the Configuration Settings:

"TEAMS_CONFIG": {
  "DR_SBC_DEVICE": "SBC-team",
  "CARRIER_DOMAIN": "teams-bwks.netaxis.cloud"
}

Here are the meaning of the parameters:

  • DR_SBC_DEVICE: it is the name of the System Access Device that has been created for the SBC.

  • CARRIER_DOMAIN: it is the Teams Carrier Domain. The Teams Tenant Domains will be sub-domains of this one.

Configuration Information for Limit of Calls

The APIO behaviour is controlled by the following settings:

"BACKWARD_TRUNKGROUP_LIMITCALLS": true

This parameter is used in the POST and PUT operations.

If set to true (default) the following logic will be applied if limitIncomingCalls or limitOutgoingCalls is not present, taking limitIncomingCalls for example:

  • if maxIncomingCalls is present and greater than 0 then limitIncomingCalls is set to true

  • if maxIncomingCalls is present and equal to 0 then limitIncomingCalls is set to false

Display group’s trunk group

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/trunk_groups/(string: instance_name)/

Get a trunk group in a group.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/trunk_groups/trunkgroup/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{
   "department": {
        "tenantId": "ApioSpTest",
        "groupId": "ApioGrpTest",
        "departmentName": "test_department_initial"
   },
   "pilotUserId": "TrunkTestPilot",
   "accessDevice": {
      "name": "TrunkTest_device",
      "level": "Group"
   },
   "maxActiveCalls": 15,
   "enableBursting": false,
   "capacityExceededTrapInitialCalls": 0,
   "capacityExceededTrapOffsetCalls": 0,
   "invitationTimeout": 6,
   "requireAuthentication": false,
   "hostedUsers": [],
   "allowTerminationToTrunkGroupIdentity": false,
   "includeTrunkGroupIdentity": false,
   "includeDtgIdentity": false,
   "includeTrunkGroupIdentityForNetworkCalls": false,
   "includeOtgIdentityForNetworkCalls": false,
   "allowUnscreenedCalls": false,
   "allowUnscreenedEmergencyCalls": false,
   "pilotUserCallingLineIdentityForExternalCallsPolicy": "No Calls",
   "pilotUserChargeNumberPolicy": "No Calls",
   "routeToPeeringDomain": false,
   "prefix": "02",
   "statefulReroutingEnabled": false,
   "sendContinuousOptionsMessage": false,
   "continuousOptionsSendingIntervalSeconds": 30,
   "failureOptionsSendingIntervalSeconds": 10,
   "failureThresholdCounter": 1,
   "successThresholdCounter": 1,
   "inviteFailureThresholdCounter": 1,
   "inviteFailureThresholdWindowSeconds": 30,
   "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": "Unscreened Originating Calls",
   "callForwardingAlwaysAction": "Forward",
   "callForwardingAlwaysForwardAddress": "+3222123456",
   "trunkingMode": "normal"
}
Response JSON Object:
  • department (object) – An object as defined as Group department key attributes.

  • accessDevice (object) – See Access Device.

  • maxActiveCalls (integer) – the maximum number of concurrent active trunk calls.

  • limitIncomingCalls (integer) – limit the number of concurrent active incoming trunk calls.

  • maxIncomingCalls (integer) – the maximum number of concurrent active incoming trunk calls. 0 means forbidden. Only relevant if limitIncomingCalls is true

  • limitOutgoingCalls (integer) – limit the number of concurrent active outgoing trunk calls.

  • maxOutgoingCalls (integer) – the maximum number of concurrent active outgoing trunk calls. 0 means forbidden. Only relevant if limitOutgoingCalls is true

  • enableBursting (boolean) – if set it will enable extra calls over the maxActiveCalls limit.

  • BurstingMaxActiveCalls (integer) – Bursting Maximum Number of Active Calls

  • burstingMaxIncomingCalls (integer) – Bursting Maximum Number of Incoming Calls

  • burstingMaxOutgoingCalls (integer) – Bursting Maximum Number of Outgoing Calls

  • capacityExceededAction (string) – (optional) Trunk Group capacity exceeded action.

  • capacityExceededForwardAddress (string) – (conditional) Trunk Group capacity exceeded Frorward Address. Relevant only if capacityExceededAction is set to ‘Forward’.

  • capacityExceededRerouteTrunkGroup (string) – (conditional) Trunk Group capacity exceeded reroute to Trunk Group. Relevant only if capacityExceededAction is set to ‘Reroute’. See Trunk Group Key.

  • capacityExceededTrapInitialCalls (integer) – An SNMP trap will be sent when the number of counted events crosses this threshold value.

  • capacityExceededTrapOffsetCalls (integer) – An SNMP traps will be sent after the intial trap each time the number of counted events increases by this value since the last trap.

  • unreachableDestinationAction (string) – (optional) Trunk Group unreachable destination action. Its value comes from list: “Forward” , “Reroute” , “”. (”” is to set no action).

  • unreachableDestinationForwardAddress (string) – (conditional) Phone Number or SIP URI that can be used to forward call in case of unreachable Destination. Relevant only if unreachableDestinationAction is to “Forward”.

  • unreachableDestinationRerouteTrunkGroup (string) – (conditional) unreachable Destination Reroute Trunk Group Key. Relevant only if unreachableDestinationAction is to “Reroute”. See Trunk Group Key.

  • invitationTimeout (integer) – The timer to start when an invitation is sent to a device associated with a trunk group.

  • requireAuthentication (boolean) – Indicate if the Trunk must be authenticated to be used.

  • sipAuthenticationUserName (string) – The SIP user name for the authentication

  • hostedUsers (array) – A list of objects as defined in User Profile Attributes.

  • trunkGroupIdentity (string) – the trunk group identity. It is a SIP URI (without the sip:).

  • otgDtgIdentity (string) – the Otg Dtg Identity.

  • allowTerminationToTrunkGroupIdentity (boolean) – allow termination to TrunkGroup Identity

  • allowTerminationToDtgIdentity (boolean) – allow termination to Dtg Identity

  • includeTrunkGroupIdentity (boolean) – if set will include trunk group identity

  • includeDtgIdentity (boolean) – if set will include dtg identity

  • includeTrunkGroupIdentityForNetworkCalls (boolean) – is set will include trunk group identity for network calls

  • includeOtgIdentityForNetworkCalls (boolean) – if set will include otg identity in network calls

  • allowUnscreenedCalls (boolean) – if set will allow unscreened calls

  • allowUnscreenedEmergencyCalls (boolean) – if set will allow unscreened emergency calls

  • pilotUserCallingLineIdentityForExternalCallsPolicy (string) – the policy of the pilot user for calling line identity in presence of external calls

  • pilotUserChargeNumberPolicy (string) – Trunk Group Pilot User Charge Number policy

  • callForwardingAlwaysAction (string) – (optional) The call forwarding always mode. Its value comes from list: {‘Forward’|’Reroute’}.

  • callForwardingAlwaysForwardAddress (string) – (conditional) Phone Number or SIP URI where calls have to be forwarded. Relevant only if callForwardingAlwaysAction is set to ‘Forward’.

  • callForwardingAlwaysRerouteTrunkGroup (object) – (conditional) Trunk Group where calls have to be rerouted. Relevant only if callForwardingAlwaysAction is set to ‘Reroute’. See Trunk Group Key.

  • peeringDomain (string) – peering domain

  • routeToPeeringDomain (boolean) – if set route To Peering Domain

  • prefix (string) – prefix for the number

  • statefulReroutingEnabled (booolean) – if set will enable stateful rerouting

  • sendContinuousOptionsMessage (booolean) – if set will send OPTIONS messages continuously

  • continuousOptionsSendingIntervalSeconds (integer) – the interval in seconds between one OPTIONS message and the other

  • failureOptionsSendingIntervalSeconds (integer) – the interval in seconds between a failure and the next OPTIONS message

  • failureThresholdCounter (integer) – the max number of failures allowed

  • successThresholdCounter (integer) – the max number of successes allowed

  • inviteFailureThresholdCounter (integer) – the max number of failures allowed for INVITE messages

  • inviteFailureThresholdWindowSeconds (integer) – the window in seconds to wait for an INVITE message to fail

  • pilotUserCallingLineAssertedIdentityPolicy (string) – the calling line asserted identity policy of the pilot user

  • useSystemCallingLineAssertedIdentityPolicy (boolean) – if True will use system’s calling line asserted identity policy, otherwise will use pilot user’s one

  • totalActiveIncomingCalls (integer) – the number of active incoming calls

  • totalActiveOutgoingCalls (integer) – the number of active outgoing calls

  • pilotUserCallOptimizationPolicy (string) – the call optimization policy of the pilot user

  • clidSourceForScreenedCallsPolicy (string) – the calling line ID source for screened calls policy of the pilot user

  • useSystemCLIDSourceForScreenedCallsPolicy (boolean) – if True will use system’s calling line ID source for screened calls policy, otherwise will use pilot user’s one

  • userLookupPolicy (string) – the lookup policy of the pilot user

  • useSystemUserLookupPolicy (boolean) – if True will use system’s lookup policy, otherwise will use pilot user’s one

  • pilotUserCallingLineIdentityForEmergencyCallsPolicy (string) – the calling line identity for emergency calls policy of the pilot user

  • trunkingMode (string) – the trunking mode (‘normal’, ‘teamsDR’).

Status Codes:

Update group’s trunk group

PUT /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/trunk_groups/(string: instance_name)/

Update a trunk group in a group.

Example request:

PUT /api/v1/tenants/foo/groups/foogroup/services/trunk_groups/trunkgroup/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "pilotUserId": "TrunkTestPilot",
   "department": {
      "tenantId": "ApioEntTest",
      "groupId": "ApioEntGrpTest",
      "departmentName": "test_department_parent"
   },
   "maxActiveCalls": 15,
   "enableBursting": false,
   "capacityExceededTrapInitialCalls": 0,
   "capacityExceededTrapOffsetCalls": 0,
   "invitationTimeout": 6,
   "requireAuthentication": false,
   "hostedUsers": [],
   "allowTerminationToTrunkGroupIdentity": false,
   "includeTrunkGroupIdentity": false,
   "includeDtgIdentity": false,
   "includeTrunkGroupIdentityForNetworkCalls": false,
   "includeOtgIdentityForNetworkCalls": false,
   "allowUnscreenedCalls": false,
   "allowUnscreenedEmergencyCalls": false,
   "pilotUserCallingLineIdentityForExternalCallsPolicy": "No Calls",
   "pilotUserChargeNumberPolicy": "No Calls",
   "routeToPeeringDomain": false,
   "prefix": "02",
   "statefulReroutingEnabled": false,
   "sendContinuousOptionsMessage": false,
   "continuousOptionsSendingIntervalSeconds": 30,
   "failureOptionsSendingIntervalSeconds": 10,
   "failureThresholdCounter": 1,
   "successThresholdCounter": 1,
   "inviteFailureThresholdCounter": 1,
   "inviteFailureThresholdWindowSeconds": 30,
   "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": "Unscreened Originating Calls",
   "callForwardingAlwaysAction": "Reroute",
   "callForwardingAlwaysRerouteTrunkGroup": {
       "name": "TrunkTest"
   }
}
Request JSON Object:
  • name (string) – (optional). New Trunk Group name.

  • pilotUserId (string) – (optional). User Id of one of the Trunk Users linked to the Trunk Group that will be now used as Pilot User.

  • department (object) – (Optional) An object as Group department key attributes.

  • accessDevice (object) – (optional) The existing Access Device that will be used for this Trunk Group. See Access Device (only name and level are relevant in this case, the other fields will be ignored).

  • maxActiveCalls (integer) – the maximum number of concurrent active trunk calls.

  • limitIncomingCalls (integer) – (optional) limit the number of concurrent active incoming trunk calls.

  • maxIncomingCalls (integer) – (optional) the maximum number of concurrent active incoming trunk calls. 0 means forbidden. Only taken into consideration if limitIncomingCalls is present and set to true

  • limitOutgoingCalls (integer) – (optional) limit the number of concurrent active outgoing trunk calls.

  • maxOutgoingCalls (integer) – (optional) the maximum number of concurrent active outgoing trunk calls. 0 means forbidden. Only taken into consideration if limitOutgoingCalls is present and set to true

  • enableBursting (boolean) – (optional) if set it will enable extra calls over the maxActiveCalls limit.

  • burstingMaxActiveCalls (integer) – (conditional) the maximum number of concurrent active burst trunk calls. Must be present if enableBursting is set to true

  • burstingMaxIncomingCalls (integer) – (optional) the maximum number of concurrent active incoming burst trunk calls.

  • burstingMaxOutgoingCalls (integer) – (optional) the maximum number of concurrent active outgoing burst trunk calls.

  • capacityExceededAction (string) – (optional) Trunk Group capacity exceeded action. Its value comes from list: “Forward”,”Reroute”, “”. (”” is to set no action).

  • capacityExceededForwardAddress (string) – (optional) Forward Address in case of capacity Exceeded. Must be present if capacityExceededAction is to “Forward”.

  • capacityExceededRerouteTrunkGroup (string) – (conditional) Reroute Trunk Group Key in case of capacity Exceeded Must be present if capacityExceededAction is to “Reroute”. See Trunk Group Key. Set to Null to remove it.

  • capacityExceededTrapInitialCalls (integer) – (optional) An SNMP trap will be sent when the number of counted events crosses this threshold value.

  • capacityExceededTrapOffsetCalls (integer) – (optional) An SNMP traps will be sent after the initial trap each time the number of counted events increases by this value since the last trap.

  • unreachableDestinationAction (string) – (optional) Trunk Group unreachable destination action. Its value comes from list: “Forward” , “Reroute” , “”. (”” is to set no action).

  • unreachableDestinationForwardAddress (string) – (conditional) Phone Number or SIP URI that can be used to forward call in case of unreachable Destination. Must be present if unreachableDestinationAction is to “Forward”.

  • unreachableDestinationRerouteTrunkGroup (string) – (conditional) unreachable Destination Reroute Trunk Group Key. Must be present if unreachableDestinationAction is to “Reroute”. See Trunk Group Key. Set to Null to remove it.

  • invitationTimeout (integer) – (optional) The timer to start when an invitation is sent to a device associated with a trunk group.

  • requireAuthentication (boolean) – (optional) Indicate if the Trunk must be authenticated to be used.

  • sipAuthenticationUserName (string) – (conditional) The SIP user name for the authentication. Must be present if requireAuthentication is set to true

  • sipAuthenticationPassword (string) – (conditional) The SIP user name for the authentication. Must be present if requireAuthentication is set to true

  • trunkGroupIdentity (string) – (optional) the trunk group identity. It is a SIP URI (without the sip:).

  • otgDtgIdentity (string) – (optional) the dtg identity

  • allowTerminationToTrunkGroupIdentity (boolean) – (optional) if set will allow termination to trunk group Identity

  • allowTerminationToDtgIdentity (boolean) – (optional) if set will allow termination to Dtg Identity

  • includeTrunkGroupIdentity (boolean) – (optional) if set will include trunk group identity

  • includeDtgIdentity (boolean) – (optional) if set will include dtg identity

  • includeTrunkGroupIdentityForNetworkCalls (boolean) – (optional) is set will include trunk group identity for network calls

  • includeOtgIdentityForNetworkCalls (boolean) – (optional) if set will include otg identity in network calls

  • allowUnscreenedCalls (boolean) – (optional) if set will allow unscreened calls

  • allowUnscreenedEmergencyCalls (boolean) – (optional) if set will allow unscreened emergency calls

  • pilotUserCallingLineIdentityForExternalCallsPolicy (string) – (optional) the policy of the pilot user for calling line identity in presence of external calls. Its value comes from list: “All Originating Calls”,”Unscreened Originating Calls”,”No Calls”

  • pilotUserChargeNumberPolicy (string) – (optional) the Trunk Group Pilot User Charge Number policy. Its value comes from list: “All Originating Calls”,”Unscreened Originating Calls”,”No Calls”

  • callForwardingAlwaysAction (string) – (optional) The call forwarding always mode. Its value comes from list: “Forward” , “Reroute” , “”. (”” is to set no action).

  • callForwardingAlwaysForwardAddress (string) – (conditional) Phone Number or SIP URI where calls have to be forwarded. Must be present if callForwardingAlwaysAction is set to ‘Forward’.

  • callForwardingAlwaysRerouteTrunkGroup (object) – (conditional) Trunk Group where calls have to be rerouted. Must be present if callForwardingAlwaysAction is set to ‘Reroute’. See Trunk Group Key. Set to Null to remove it.

  • peeringDomain (string) – (optional) the network peering domain name.

  • routeToPeeringDomain (booolean) – (optional) if set will enable routing to Peering Domain

  • prefixEnabled (string) – (optional) enabling prefix for the number

  • prefix (string) – (optional) prefix for the number

  • statefulReroutingEnabled (booolean) – (optional) if set will enable stateful rerouting

  • sendContinuousOptionsMessage (boolean) – (optional) if set will send OPTIONS messages continuously

  • continuousOptionsSendingIntervalSeconds (integer) – (optional) the interval in seconds between one OPTIONS message and the other. value must be >= 10 and <= 86400

  • failureOptionsSendingIntervalSeconds (integer) – (optional) the interval in seconds between a failure and the next OPTIONS message. value must be >= 10 and <= 86400

  • failureThresholdCounter (integer) – (optional) the max number of failures allowed. value must be >= 1 and <= 60

  • successThresholdCounter (integer) – (optional) the max number of successes allowed. value must be >= 1 and <= 60

  • inviteFailureThresholdCounter (integer) – (optional) the max number of failures allowed for INVITE messages. value must be >= 1 and <= 60

  • inviteFailureThresholdWindowSeconds (integer) – the window in seconds to wait for an INVITE message to fail. value must be >= 30 and <= 240

  • pilotUserCallingLineAssertedIdentityPolicy (string) – (optional) the calling line asserted identity policy of the pilot user.A value from list: “All Originating Calls”,”Unscreened Originating Calls”

  • useSystemCallingLineAssertedIdentityPolicy (boolean) – (optional) if True will use system’s calling line asserted identity policy, otherwise will use pilot user’s one

  • pilotUserCallOptimizationPolicy (string) – (optional) the call optimization policy of the pilot user. A value from list: “Optimize For User Services”, “Optimize For High Call Volume”

  • clidSourceForScreenedCallsPolicy (string) – (optional) the calling line ID source for screened calls policy of the pilot user A value from list: “Profile Name Profile Number”,”Received Name Profile Number”,”Received Name Received Number”

  • useSystemCLIDSourceForScreenedCallsPolicy (boolean) – (optional) if True will use system’s calling line ID source for screened calls policy, otherwise will use pilot user’s one

  • userLookupPolicy (string) – (optional) the lookup policy of the pilot user. A value from list: “Basic”, “Extended”

  • useSystemUserLookupPolicy (boolean) – (optional) if True will use system’s lookup policy, otherwise will use pilot user’s one

  • pilotUserCallingLineIdentityForEmergencyCallsPolicy (string) – (optional) the calling line identity for emergency calls policy of the pilot user. A value from list: “All Originating Calls”,”Unscreened Originating Calls”,”No Calls”

Status Codes:

Configuration Information for Trunk Group

The APIO behaviour of the delete Trunk Group instance is controlled by the following settings:

"TRUNK_GROUP" : {
        "ON_CASCADE" : true,
        "KEEP_DEVICE" : true,
        "KEEP_NUMBERS": false
}
With following parameters:
  • ON_CASCADE: the trunk users and the trunk numbers (including pilot if any) will be deleted too. Default is false. For the numbers and he device it is controlled by the 2 extra parameters below.

  • KEEP_DEVICE: the device will not be deleted when on_cascade is true. Default is false.

  • KEEP_NUMBERS: the trunk numbers (including the pilot) will not be deleted when on_cascade is true. But the trunk users (including the pilot) will be. Default is false.

Delete a Trunk Group

DELETE /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/trunk_groups/(string: instance_name)/

Delete a trunk group in a group.

Authorization rights: minimum Enterprise Group.

Restricted authorization rights: minimum Tenant Admin for this parameter:

  • keep_number

Example request:

DELETE /api/v1/tenants/foo/groups/foogroup/services/trunk_groups/trunkgroup/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{}
Request JSON Object:
  • on_cascade (boolean) – (optional). If true the access device, the trunk users and the trunk numbers (including pilot if any) will be deleted too. Default is false.

  • keep_device (boolean) – (Optional) If true the device will not be deleted when on_cascade is true. Default is false.

  • keep_numbers (boolean) – (Optional) If true the trunk numbers (including the pilot) will not be deleted when on_cascade is true. But the trunk users (including the pilot) will be. Default is false.

Status Codes:

Display group’s trunk group backup details

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/trunk_groups/(string: instance_name)/backup/

Get the backup details of a trunk group in a group.

This is a virtual service that is exposing the parameters of type unreachableDestination of the main API in a different and isolated way. It was a request of a specific customer who wanted to have a dedicated end point for these parameters.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/trunk_groups/trunkgroup/backup/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

  {
     "mode": "Forward"
     "destination": "trunkgroup1@netaxis.be"
  }
Response JSON Object:
  • mode (string) – the action to perform in case of unreachable trunk group

  • destination (string) – the destination to forward

  • trunk (object) – the reroute destination. See Trunk Group Key.

Status Codes:

Update group’s trunk group backup details

PUT /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/trunk_groups/(string: instance_name)/backup/

Update the backup details of a trunk group in a group.

This is a virtual service that is exposing the parameters of type unreachableDestination of the main API in a different and isolated way. It was a request of a specific customer who wanted to have a dedicated end point for these parameters.

Example request:

PUT /api/v1/tenants/foo/groups/foogroup/services/trunk_groups/trunkgroup/backup/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "mode": "Reroute"
   "trunk": {
      "name": "backup_trunk_group"
   }
}
Request JSON Object:
  • mode (string) – the action to perform in case of unreachable trunk group. One of ‘Forward’, ‘Reroute’, ‘’

  • destination (string) – the destination to forward

  • trunk (object) – the reroute destination. See Trunk Group Key.

Status Codes:

Objects definition

Trunk Group

This structure allows to represent a trunk group.

Name

Type

Methods

Description

GET

name

String

A

The name of the trunk group

department

Object

A

An object as defined as Group department key attributes.

deviceName

String

A

The device name of the trunk group

deviceLevel

String

A

The device level of the trunk group

groupId

String

A

The group ID of the trunk group

trunkingMode

String

A

The type of trunking “normal” or “teamsDR”.

Trunk Group Key

This structure allows to represent a trunk group.

Name

Type

Methods

Description

GET

tenantId

String

O

If not present, it is the one of the url

groupId

String

O

If not present, it is the one of the url

name

String

A

The name of the trunk group

Access Device Info

The minimum set of information to create a new device to be used by a Trunk Group.

Name

Type

Methods

Description

POST

deviceType

String

R

The type of device to be created.

deviceName

String

O

The name for the device. If not provided, APIO will generate one based on the Trunk Group Name.

macAddress

String

O

The macAddress for the device if needed.

Pilot User Info

The minimum set of information to create a Trunk Group Pilot User.

Name

Type

Methods

Description

POST

phoneNumber

String

R

The phone number to be used for the Pilot User

userId

String

O

The pilot user id. If not provided, APIO will generate one based on the Phone Number

password

String

O

The password for the Pilot User . If not provided APIO will generate a random one