Providers

List providers

get

Retrieve a collection of providers

Authorizations
Query parameters
filterstringOptional

Use the filter query parameter to retrieve just a subset of a collection.

searchstringOptional

Use the search query parameter to restrict the results of a request to match a search criterion.

orderbystringOptional

Use the orderby query parameter to specify the sort order of the items returned from server.
The default order is ascending order.

skipinteger · int32Optional

Use the skip query parameter to set the number of items to skip at the start of a collection.

Default: 0
topinteger · int32 · min: 1 · max: 100Optional

Use the top query parameter to specify the page size of the result set.

Default: 100
Responses
200
OK
application/json
get
GET /api/providers HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "count": 100,
  "items": [
    {
      "id": "NzAwNTUxOTA5NzczMTQ4MTYw",
      "name": "text",
      "enabled": true,
      "brand": "text",
      "hostname": "text",
      "port": 80,
      "did_numbers": "text",
      "shared": true
    }
  ]
}

Create a provider

post

Add a new provider into system.

Authorizations
Body
namestring · min: 1 · max: 64Required

The name of the trunk.

enabledbooleanOptional

Whether to enable the provider.

Default: true
brandstring · min: 1 · max: 64Optional

The brand of trunk.

auth_modestring · enumOptional

Authentication mode:
Can be either:

  • IP_AUTH:
  • REGISTER_AUTH:
  • ACCEPT_REGISTER:
  • TEAMS:
  • WHATS_APP:
Possible values:
transportstring · enumRequired

The trunk transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
hostnameall ofRequired

The hostname of trunk.

stringOptional

Server hostname or IP address

portall ofRequired

The port pf trunk.

integer · int32 · max: 65535Optional

A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port

Example: 80
auth_idstring · max: 64Optional

Authentication ID, i.e. SIP username.

usernamestring · max: 64Optional

Authentication username.

passwordstringOptional

Password for authentication.

registrationbooleanOptional

Whether registration is required.

Default: true
register_intervalinteger · int32Optional

Interval for registry refreshment, in seconds.

Default: 600
outbound_serverstringRequired

The outbound server hostname of the trunk.

outbound_server_portall ofRequired

The outbound server port of the trunk.

integer · int32 · max: 65535Optional

A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port

Example: 80
inlanbooleanOptional

Whether the trunk under LAN or not.

Default: false
single_via_headerbooleanOptional

Whether this trunk is only accept single Via SIP header or not.

Default: true
rewrite_via_ipbooleanOptional

Rewrite the host IP of Via header by public IP when sending the request to trunk.

Default: true
verify_portbooleanOptional

Verify the port when receiving SIP messages from trunk

Default: true
keep_alivebooleanOptional

Send OPTIONS message for keep alive.

Default: true
concurrencyinteger · int32Required

The max number of concurrent calls.

keep_alive_intervalinteger · int32Optional

Keep alive message sending interval (seconds).

Default: 360
additional_ipsstringOptional

The additional IP addresses of provider.
A semicolon-separated list of IP addresses in CIDR format.
For example: 192.0.2.0/24;192.0.2.0/32 as defined in RFC 4632 and RFC 4291.

adjust_sdp_directionbooleanOptional

Adjust the SDP direction for call hold.

Default: true
remove_srtp_infobooleanOptional

Remove crypto line in the SDP.

Default: true
stir_shaken_signature_requiredbooleanOptional

Whether to enable STIR/SHAKEN signature.

Default: false
did_numbersstringOptional

The semicolon-separated list of DID/DDI pool number range or DID/DDI number. Assign a DID/DDI pool number range or DID/DDI number to the tenant. For example: 3000;12000-18000. The DID/DDI pool number range should not overlap with other tenant DID/DDI pool number ranges and numbers.

Responses
201
Created
application/json
post
POST /api/providers HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2816

{
  "name": "text",
  "enabled": true,
  "brand": "text",
  "auth_mode": "IP_AUTH",
  "transport": "UDP",
  "hostname": "text",
  "port": 80,
  "auth_id": "text",
  "username": "text",
  "password": "text",
  "registration": true,
  "register_interval": 600,
  "outbound_server": "text",
  "outbound_server_port": 80,
  "inlan": false,
  "single_via_header": true,
  "rewrite_via_ip": true,
  "verify_port": true,
  "keep_alive": true,
  "concurrency": 1,
  "keep_alive_interval": 360,
  "additional_ips": "text",
  "adjust_sdp_direction": true,
  "remove_srtp_info": true,
  "stir_shaken_signature_required": false,
  "did_numbers": "text",
  "inbound_parameters": {
    "caller_num": "REQUEST_LINE_URI_USER_PART",
    "caller_display_name": "REQUEST_LINE_URI_USER_PART",
    "called_num": "REQUEST_LINE_URI_USER_PART",
    "privacy_types_supported": "ID",
    "enable_stir_shaken_validation": false,
    "pai_header_parameter_name": "verstat",
    "drop_calls_with_verification_status": [
      "text"
    ],
    "pass_api_header_to_uad": false
  },
  "outbound_parameters": {
    "request_line_uri_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "request_line_uri_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "contact_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "contact_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "to_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "to_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "to_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "from_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "from_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "from_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "remote_party_id_called_party_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "remote_party_id_called_party_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "remote_party_id_called_party_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "remote_party_id_calling_party_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "remote_party_id_calling_party_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "remote_party_id_calling_party_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "p_asserted_identity_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_asserted_identity_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_asserted_identity_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "p_preferred_identify_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_preferred_identify_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_preferred_identify_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "p_called_party_id_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_called_party_id_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_called_party_id_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "privacy_types_supported": {
      "value": "ID"
    }
  }
}
{
  "id": "NzAwNTUxOTA5NzczMTQ4MTYw"
}

Retrieve a provider

get

Get details of a provider by it's unique ID.

Authorizations
Path parameters
idall ofRequired

The unique ID of trunk.

stringOptional

The unique ID of the resource.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200
OK
application/json
get
GET /api/providers/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "NzAwNTUxOTA5NzczMTQ4MTYw",
  "name": "text",
  "enabled": true,
  "brand": "text",
  "auth_mode": "IP_AUTH",
  "transport": "UDP",
  "hostname": "text",
  "port": 80,
  "auth_id": "text",
  "username": "text",
  "registration": true,
  "register_interval": 600,
  "outbound_server": "text",
  "outbound_server_port": 80,
  "inlan": false,
  "single_via_header": true,
  "rewrite_via_ip": true,
  "verify_port": true,
  "keep_alive": true,
  "keep_alive_interval": 360,
  "concurrency": 1,
  "additional_ips": "text",
  "adjust_sdp_direction": true,
  "remove_srtp_info": true,
  "stir_shaken_signature_required": false,
  "did_numbers": "text",
  "inbound_parameters": {
    "caller_num": "REQUEST_LINE_URI_USER_PART",
    "caller_display_name": "REQUEST_LINE_URI_USER_PART",
    "called_num": "REQUEST_LINE_URI_USER_PART",
    "privacy_types_supported": "ID",
    "enable_stir_shaken_validation": false,
    "pai_header_parameter_name": "verstat",
    "drop_calls_with_verification_status": [
      "text"
    ],
    "pass_api_header_to_uad": false
  },
  "outbound_parameters": {
    "request_line_uri_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "request_line_uri_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "contact_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "contact_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "to_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "to_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "to_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "from_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "from_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "from_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "remote_party_id_called_party_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "remote_party_id_called_party_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "remote_party_id_called_party_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "remote_party_id_calling_party_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "remote_party_id_calling_party_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "remote_party_id_calling_party_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "p_asserted_identity_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_asserted_identity_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_asserted_identity_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "p_preferred_identify_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_preferred_identify_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_preferred_identify_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "p_called_party_id_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_called_party_id_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_called_party_id_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "privacy_types_supported": {
      "value": "ID"
    }
  },
  "shared": true
}

Update provider

post

Update properties of provider by it's unique ID.

Authorizations
Path parameters
idall ofRequired

The unique ID of trunk.

stringOptional

The unique ID of the resource.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Body
namestring · min: 1 · max: 64Optional

The name of the trunk.

enabledbooleanOptional

Whether to enable the provider.

Default: true
transportstring · enumOptional

The trunk transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
hostnameall ofOptional

The hostname of trunk.

stringOptional

Server hostname or IP address

portall ofOptional

The port pf trunk.

integer · int32 · max: 65535Optional

A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port

Example: 80
auth_idstring · max: 64Optional

Authentication ID, i.e. SIP username.

usernamestring · max: 64Optional

Authentication username.

passwordstringOptional

Password for authentication.

registrationbooleanOptional

Whether registration is required.

Default: true
register_intervalinteger · int32Optional

Interval for registry refreshment, in seconds.

Default: 600
outbound_serverstringOptional

The outbound server hostname of the trunk.

outbound_server_portall ofOptional

The outbound server port of the trunk.

integer · int32 · max: 65535Optional

A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port

Example: 80
inlanbooleanOptional

Whether the trunk under LAN or not.

Default: false
single_via_headerbooleanOptional

Whether this trunk is only accept single Via SIP header or not.

Default: true
rewrite_via_ipbooleanOptional

Rewrite the host IP of Via header by public IP when sending the request to trunk.

Default: true
verify_portbooleanOptional

Verify the port when receiving SIP messages from trunk

Default: true
keep_alivebooleanOptional

Send OPTIONS message for keep alive.

Default: true
keep_alive_intervalinteger · int32Optional

Keep alive message sending interval (seconds).

Default: 360
concurrencyinteger · int32Optional

The max number of concurrent calls.

additional_ipsstringOptional

The additional IP addresses of provider.
A semicolon-separated list of IP addresses in CIDR format.
For example: 192.0.2.0/24;192.0.2.0/32 as defined in RFC 4632 and RFC 4291.

adjust_sdp_directionbooleanOptional

Adjust the SDP direction for call hold.

Default: true
remove_srtp_infobooleanOptional

Remove crypto line in the SDP.

Default: true
stir_shaken_signature_requiredbooleanOptional

Whether to enable STIR/SHAKEN signature.

Default: false
did_numbersstringOptional

The semicolon-separated list of DID/DDI pool number range or DID/DDI number. Assign a DID/DDI pool number range or DID/DDI number to the tenant. For example: 3000;12000-18000. The DID/DDI pool number range should not overlap with other tenant DID/DDI pool number ranges and numbers.

Responses
200
OK
post
POST /api/providers/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2779

{
  "name": "text",
  "enabled": true,
  "transport": "UDP",
  "hostname": "text",
  "port": 80,
  "auth_id": "text",
  "username": "text",
  "password": "text",
  "registration": true,
  "register_interval": 600,
  "outbound_server": "text",
  "outbound_server_port": 80,
  "inlan": false,
  "single_via_header": true,
  "rewrite_via_ip": true,
  "verify_port": true,
  "keep_alive": true,
  "keep_alive_interval": 360,
  "concurrency": 1,
  "additional_ips": "text",
  "adjust_sdp_direction": true,
  "remove_srtp_info": true,
  "stir_shaken_signature_required": false,
  "did_numbers": "text",
  "inbound_parameters": {
    "caller_num": "REQUEST_LINE_URI_USER_PART",
    "caller_display_name": "REQUEST_LINE_URI_USER_PART",
    "called_num": "REQUEST_LINE_URI_USER_PART",
    "privacy_types_supported": "ID",
    "enable_stir_shaken_validation": false,
    "pai_header_parameter_name": "verstat",
    "drop_calls_with_verification_status": [
      "text"
    ],
    "pass_api_header_to_uad": false
  },
  "outbound_parameters": {
    "request_line_uri_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "request_line_uri_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "contact_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "contact_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "to_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "to_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "to_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "from_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "from_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "from_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "remote_party_id_called_party_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "remote_party_id_called_party_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "remote_party_id_called_party_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "remote_party_id_calling_party_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "remote_party_id_calling_party_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "remote_party_id_calling_party_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "p_asserted_identity_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_asserted_identity_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_asserted_identity_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "p_preferred_identify_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_preferred_identify_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_preferred_identify_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "p_called_party_id_display_name": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_called_party_id_user_part": {
      "value": "AUTH_ID",
      "custom_value": "text"
    },
    "p_called_party_id_host_part": {
      "value": "TRUNK_HOST_PORT",
      "custom_value": "text"
    },
    "privacy_types_supported": {
      "value": "ID"
    }
  }
}

No content