# Trunks

Manage your trunks.

## List providers

> Retrieve a collection of providers<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Trunk","description":"Manage your trunks.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/providers":{"get":{"tags":["Trunk"],"operationId":"listProviders","summary":"List providers","description":"Retrieve a collection of providers\n","parameters":[{"name":"filter","in":"query","schema":{"type":"string"},"description":"Use the `filter` query parameter to retrieve just a subset of a collection.\n"},{"name":"search","in":"query","schema":{"type":"string"},"description":"Use the `search` query parameter to restrict the results of a request to match a search criterion.\n"},{"name":"orderby","in":"query","schema":{"type":"string"},"description":"Use the `orderby` query parameter to specify the sort order of the items returned from server.  \nThe default order is ascending order.\n"},{"name":"skip","in":"query","schema":{"type":"integer","format":"int32","minimum":0,"default":0},"description":"Use the `skip` query parameter to set the number of items to skip at the start of a collection.\n"},{"name":"top","in":"query","schema":{"type":"integer","format":"int32","minimum":1,"maximum":100,"default":100},"description":"Use the `top` query parameter to specify the page size of the result set.\n"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer","format":"int64","minimum":0,"description":"Total number of resource.\n"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"allOf":[{"type":"string","description":"The unique ID of the resource.\n"}],"description":"The unique ID of trunk.\n"},"name":{"type":"string","minLength":1,"maxLength":64,"description":"The name of the trunk.\n"},"enabled":{"type":"boolean","default":true,"description":"Whether to enable the provider.\n"},"brand":{"type":"string","minLength":1,"maxLength":64,"description":"The brand of trunk.\n"},"hostname":{"allOf":[{"type":"string","description":"Server hostname or IP address\n"}],"description":"The hostname of trunk.\n"},"port":{"allOf":[{"type":"integer","format":"int32","minimum":0,"maximum":65535,"description":"A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535.\nFor 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\n"}],"description":"The port pf trunk.\n"},"did_numbers":{"type":"string","description":"The semicolon-separated list of DID/DDI pool number range or DID/DDI number.\nAssign a DID/DDI pool number range or DID/DDI number to the tenant.\nFor example: 3000;12000-18000.\nThe DID/DDI pool number range should not overlap with other tenant DID/DDI pool number ranges and numbers.\n"},"shared":{"type":"boolean","description":"The flag of whether the trunk is shared.\n"}}}}}}}}},"4XX":{"description":"Error"}}}}}}
```

## Create a provider

> Add a new provider into system.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Trunk","description":"Manage your trunks.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/providers":{"post":{"tags":["Trunk"],"operationId":"createProvider","summary":"Create a provider","description":"Add a new provider into system.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64,"description":"The name of the trunk.\n"},"enabled":{"type":"boolean","default":true,"description":"Whether to enable the provider.\n"},"brand":{"type":"string","minLength":1,"maxLength":64,"description":"The brand of trunk.\n"},"auth_mode":{"type":"string","enum":["IP_AUTH","REGISTER_AUTH","ACCEPT_REGISTER","TEAMS","WHATS_APP"],"description":"Authentication mode:  \nCan be either:  \n- `IP_AUTH`:   \n- `REGISTER_AUTH`:   \n- `ACCEPT_REGISTER`:   \n- `TEAMS`:   \n- `WHATS_APP`:\n"},"transport":{"type":"string","enum":["UDP","TCP","TLS"],"description":"The trunk transport protocol:  \nCan be either:  \n- `UDP`:\n- `TCP`:\n- `TLS`:\n"},"hostname":{"allOf":[{"type":"string","description":"Server hostname or IP address\n"}],"description":"The hostname of trunk.\n"},"port":{"allOf":[{"type":"integer","format":"int32","minimum":0,"maximum":65535,"description":"A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535.\nFor 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\n"}],"description":"The port pf trunk.\n"},"auth_id":{"type":"string","maxLength":64,"description":"Authentication ID, i.e. SIP username.\n"},"username":{"type":"string","maxLength":64,"description":"Authentication username.\n"},"password":{"type":"string","description":"Password for authentication.\n"},"registration":{"type":"boolean","default":true,"description":"Whether registration is required.\n"},"register_interval":{"type":"integer","format":"int32","minimum":0,"default":600,"description":"Interval for registry refreshment, in seconds.\n"},"outbound_server":{"type":"string","description":"The outbound server hostname of the trunk.\n"},"outbound_server_port":{"allOf":[{"type":"integer","format":"int32","minimum":0,"maximum":65535,"description":"A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535.\nFor 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\n"}],"description":"The outbound server port of the trunk.\n"},"inlan":{"type":"boolean","default":false,"description":"Whether the trunk under LAN or not.\n"},"single_via_header":{"type":"boolean","default":true,"description":"Whether this trunk is only accept single Via SIP header or not.\n"},"rewrite_via_ip":{"type":"boolean","default":true,"description":"Rewrite the host IP of Via header by public IP when sending the request to trunk.\n"},"verify_port":{"type":"boolean","default":true,"description":"Verify the port when receiving SIP messages from trunk\n"},"keep_alive":{"type":"boolean","default":true,"description":"Send `OPTIONS` message for keep alive.\n"},"concurrency":{"type":"integer","format":"int32","minimum":0,"description":"The max number of concurrent calls.\n"},"keep_alive_interval":{"type":"integer","format":"int32","minimum":0,"default":360,"description":"Keep alive message sending interval (seconds).\n"},"additional_ips":{"type":"string","description":"The additional IP addresses of provider.   \nA semicolon-separated list of IP addresses in CIDR format.   \nFor example: 192.0.2.0/24;192.0.2.0/32 as defined in RFC 4632 and RFC 4291.\n"},"adjust_sdp_direction":{"type":"boolean","default":true,"description":"Adjust the SDP direction for call hold.\n"},"remove_srtp_info":{"type":"boolean","default":true,"description":"Remove crypto line in the SDP.\n"},"stir_shaken_signature_required":{"type":"boolean","default":false,"description":"Whether to enable STIR/SHAKEN signature.\n"},"did_numbers":{"type":"string","description":"The semicolon-separated list of DID/DDI pool number range or DID/DDI number.\nAssign a DID/DDI pool number range or DID/DDI number to the tenant.\nFor example: 3000;12000-18000.\nThe DID/DDI pool number range should not overlap with other tenant DID/DDI pool number ranges and numbers.\n"},"inbound_parameters":{"type":"object","properties":{"caller_num":{"type":"string","enum":["REQUEST_LINE_URI_USER_PART","CONTACT_USER_PART","TO_DISPLAY_NAME","TO_USER_PART","FROM_DISPLAY_NAME","FROM_USER_PART","REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLED_PARTY_USER_PART","REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLING_PARTY_USER_PART","P_ASSERTED_IDENTITY_DISPLAY_NAME","P_ASSERTED_IDENTITY_USER_PART","P_PREFERRED_IDENTIFY_DISPLAY_NAME","P_PREFERRED_IDENTIFY_USER_PART","P_CALLED_PARTY_ID_DISPLAY_NAME","P_CALLED_PARTY_ID_USER_PART","DEFAULT"],"description":"Inbound parameters:\n- `REQUEST_LINE_URI_USER_PART`:\n- `CONTACT_USER_PART`:\n- `TO_DISPLAY_NAME`:\n- `TO_USER_PART`:\n- `FROM_DISPLAY_NAME`:\n- `FROM_USER_PART`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_USER_PART`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_USER_PART`:\n- `P_ASSERTED_IDENTITY_DISPLAY_NAME`:\n- `P_ASSERTED_IDENTITY_USER_PART`:\n- `P_PREFERRED_IDENTIFY_DISPLAY_NAME`:\n- `P_PREFERRED_IDENTIFY_USER_PART`:\n- `P_CALLED_PARTY_ID_DISPLAY_NAME`:\n- `P_CALLED_PARTY_ID_USER_PART`:\n- `DEFAULT`:\n"},"caller_display_name":{"type":"string","enum":["REQUEST_LINE_URI_USER_PART","CONTACT_USER_PART","TO_DISPLAY_NAME","TO_USER_PART","FROM_DISPLAY_NAME","FROM_USER_PART","REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLED_PARTY_USER_PART","REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLING_PARTY_USER_PART","P_ASSERTED_IDENTITY_DISPLAY_NAME","P_ASSERTED_IDENTITY_USER_PART","P_PREFERRED_IDENTIFY_DISPLAY_NAME","P_PREFERRED_IDENTIFY_USER_PART","P_CALLED_PARTY_ID_DISPLAY_NAME","P_CALLED_PARTY_ID_USER_PART","DEFAULT"],"description":"Inbound parameters:\n- `REQUEST_LINE_URI_USER_PART`:\n- `CONTACT_USER_PART`:\n- `TO_DISPLAY_NAME`:\n- `TO_USER_PART`:\n- `FROM_DISPLAY_NAME`:\n- `FROM_USER_PART`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_USER_PART`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_USER_PART`:\n- `P_ASSERTED_IDENTITY_DISPLAY_NAME`:\n- `P_ASSERTED_IDENTITY_USER_PART`:\n- `P_PREFERRED_IDENTIFY_DISPLAY_NAME`:\n- `P_PREFERRED_IDENTIFY_USER_PART`:\n- `P_CALLED_PARTY_ID_DISPLAY_NAME`:\n- `P_CALLED_PARTY_ID_USER_PART`:\n- `DEFAULT`:\n"},"called_num":{"type":"string","enum":["REQUEST_LINE_URI_USER_PART","CONTACT_USER_PART","TO_DISPLAY_NAME","TO_USER_PART","FROM_DISPLAY_NAME","FROM_USER_PART","REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLED_PARTY_USER_PART","REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLING_PARTY_USER_PART","P_ASSERTED_IDENTITY_DISPLAY_NAME","P_ASSERTED_IDENTITY_USER_PART","P_PREFERRED_IDENTIFY_DISPLAY_NAME","P_PREFERRED_IDENTIFY_USER_PART","P_CALLED_PARTY_ID_DISPLAY_NAME","P_CALLED_PARTY_ID_USER_PART","DEFAULT"],"description":"Inbound parameters:\n- `REQUEST_LINE_URI_USER_PART`:\n- `CONTACT_USER_PART`:\n- `TO_DISPLAY_NAME`:\n- `TO_USER_PART`:\n- `FROM_DISPLAY_NAME`:\n- `FROM_USER_PART`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_USER_PART`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_USER_PART`:\n- `P_ASSERTED_IDENTITY_DISPLAY_NAME`:\n- `P_ASSERTED_IDENTITY_USER_PART`:\n- `P_PREFERRED_IDENTIFY_DISPLAY_NAME`:\n- `P_PREFERRED_IDENTIFY_USER_PART`:\n- `P_CALLED_PARTY_ID_DISPLAY_NAME`:\n- `P_CALLED_PARTY_ID_USER_PART`:\n- `DEFAULT`:\n"},"privacy_types_supported":{"type":"string","enum":["DEFAULT","NONE","ID","USER","HEADER","SESSION"],"description":"Inbound parameters:\n- `DEFAULT`: leave default value.\n- `NONE`: No privacy required.\n- `ID`: id\n- `USER`: user\n- `HEADER`: header\n- `SESSION`: Media anonymization\n"},"enable_stir_shaken_validation":{"type":"boolean","default":false,"description":"Enable STIR/SHAKEN validation or not.\n"},"pai_header_parameter_name":{"type":"string","default":"verstat","description":"The parameter name of PAI header.\n"},"drop_calls_with_verification_status":{"type":"array","items":{"type":"string"},"description":"A collection of  verification status.   \nAllowed values: `No-TN-Validation`, `TN-Validation-Failed`, `TN-Validation-Passed-B`, `TN-Validation-Passed-C`, `TN-Validation-Failed-A`, `TN-Validation-Failed-B`, `TN-Validation-Failed-C`.\n"},"pass_api_header_to_uad":{"type":"boolean","default":false,"description":"Enable STIR/SHAKEN validation or not.\n"}}},"outbound_parameters":{"type":"object","properties":{"request_line_uri_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"request_line_uri_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"contact_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"contact_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"to_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"to_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"to_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"from_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"from_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"from_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_called_party_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_called_party_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_called_party_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_calling_party_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_calling_party_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_calling_party_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_asserted_identity_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_asserted_identity_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_asserted_identity_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_preferred_identify_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_preferred_identify_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_preferred_identify_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_called_party_id_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_called_party_id_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_called_party_id_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"privacy_types_supported":{"type":"string","enum":["DEFAULT","NONE","ID","USER","HEADER","SESSION"],"description":"Inbound parameters:\n- `DEFAULT`: leave default value.\n- `NONE`: No privacy required.\n- `ID`: id\n- `USER`: user\n- `HEADER`: header\n- `SESSION`: Media anonymization\n"}}}},"required":["name","transport","hostname","port","outbound_server","outbound_server_port","concurrency"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"allOf":[{"type":"string","description":"The unique ID of the resource.\n"}],"description":"The unique ID of trunk.\n"}}}}}},"4XX":{"description":"Error"}}}}}}
```

## Retrieve a provider

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

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Trunk","description":"Manage your trunks.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/providers/{id}":{"get":{"tags":["Trunk"],"operationId":"getProvider","summary":"Retrieve a provider","description":"Get details of a provider by it's unique ID.\n","parameters":[{"name":"id","in":"path","required":true,"schema":{"allOf":[{"type":"string","description":"The unique ID of the resource.\n"}],"description":"The unique ID of trunk.\n"},"description":"The unique ID of the provider."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"allOf":[{"type":"string","description":"The unique ID of the resource.\n"}],"description":"The unique ID of trunk.\n"},"name":{"type":"string","minLength":1,"maxLength":64,"description":"The name of the trunk.\n"},"enabled":{"type":"boolean","default":true,"description":"Whether to enable the provider.\n"},"brand":{"type":"string","minLength":1,"maxLength":64,"description":"The brand of trunk.\n"},"auth_mode":{"type":"string","enum":["IP_AUTH","REGISTER_AUTH","ACCEPT_REGISTER","TEAMS","WHATS_APP"],"description":"Authentication mode:  \nCan be either:  \n- `IP_AUTH`:   \n- `REGISTER_AUTH`:   \n- `ACCEPT_REGISTER`:   \n- `TEAMS`:   \n- `WHATS_APP`:\n"},"transport":{"type":"string","enum":["UDP","TCP","TLS"],"description":"The trunk transport protocol:  \nCan be either:  \n- `UDP`:\n- `TCP`:\n- `TLS`:\n"},"hostname":{"allOf":[{"type":"string","description":"Server hostname or IP address\n"}],"description":"The hostname of trunk.\n"},"port":{"allOf":[{"type":"integer","format":"int32","minimum":0,"maximum":65535,"description":"A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535.\nFor 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\n"}],"description":"The port pf trunk.\n"},"auth_id":{"type":"string","maxLength":64,"description":"Authentication ID, i.e. SIP username.\n"},"username":{"type":"string","maxLength":64,"description":"Authentication username.\n"},"registration":{"type":"boolean","default":true,"description":"Whether registration is required.\n"},"register_interval":{"type":"integer","format":"int32","minimum":0,"default":600,"description":"Interval for registry refreshment, in seconds.\n"},"outbound_server":{"type":"string","description":"The outbound server hostname of the trunk.\n"},"outbound_server_port":{"allOf":[{"type":"integer","format":"int32","minimum":0,"maximum":65535,"description":"A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535.\nFor 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\n"}],"description":"The outbound server port of the trunk.\n"},"inlan":{"type":"boolean","default":false,"description":"Whether the trunk under LAN or not.\n"},"single_via_header":{"type":"boolean","default":true,"description":"Whether this trunk is only accept single Via SIP header or not.\n"},"rewrite_via_ip":{"type":"boolean","default":true,"description":"Rewrite the host IP of Via header by public IP when sending the request to trunk.\n"},"verify_port":{"type":"boolean","default":true,"description":"Verify the port when receiving SIP messages from trunk\n"},"keep_alive":{"type":"boolean","default":true,"description":"Send `OPTIONS` message for keep alive.\n"},"keep_alive_interval":{"type":"integer","format":"int32","minimum":0,"default":360,"description":"Keep alive message sending interval (seconds).\n"},"concurrency":{"type":"integer","format":"int32","minimum":0,"description":"The max number of concurrent calls.\n"},"additional_ips":{"type":"string","description":"The additional IP addresses of provider.   \nA semicolon-separated list of IP addresses in CIDR format.   \nFor example: 192.0.2.0/24;192.0.2.0/32 as defined in RFC 4632 and RFC 4291.\n"},"adjust_sdp_direction":{"type":"boolean","default":true,"description":"Adjust the SDP direction for call hold.\n"},"remove_srtp_info":{"type":"boolean","default":true,"description":"Remove crypto line in the SDP.\n"},"stir_shaken_signature_required":{"type":"boolean","default":false,"description":"Whether to enable STIR/SHAKEN signature.\n"},"did_numbers":{"type":"string","description":"The semicolon-separated list of DID/DDI pool number range or DID/DDI number.\nAssign a DID/DDI pool number range or DID/DDI number to the tenant.\nFor example: 3000;12000-18000.\nThe DID/DDI pool number range should not overlap with other tenant DID/DDI pool number ranges and numbers.\n"},"inbound_parameters":{"type":"object","properties":{"caller_num":{"type":"string","enum":["REQUEST_LINE_URI_USER_PART","CONTACT_USER_PART","TO_DISPLAY_NAME","TO_USER_PART","FROM_DISPLAY_NAME","FROM_USER_PART","REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLED_PARTY_USER_PART","REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLING_PARTY_USER_PART","P_ASSERTED_IDENTITY_DISPLAY_NAME","P_ASSERTED_IDENTITY_USER_PART","P_PREFERRED_IDENTIFY_DISPLAY_NAME","P_PREFERRED_IDENTIFY_USER_PART","P_CALLED_PARTY_ID_DISPLAY_NAME","P_CALLED_PARTY_ID_USER_PART","DEFAULT"],"description":"Inbound parameters:\n- `REQUEST_LINE_URI_USER_PART`:\n- `CONTACT_USER_PART`:\n- `TO_DISPLAY_NAME`:\n- `TO_USER_PART`:\n- `FROM_DISPLAY_NAME`:\n- `FROM_USER_PART`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_USER_PART`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_USER_PART`:\n- `P_ASSERTED_IDENTITY_DISPLAY_NAME`:\n- `P_ASSERTED_IDENTITY_USER_PART`:\n- `P_PREFERRED_IDENTIFY_DISPLAY_NAME`:\n- `P_PREFERRED_IDENTIFY_USER_PART`:\n- `P_CALLED_PARTY_ID_DISPLAY_NAME`:\n- `P_CALLED_PARTY_ID_USER_PART`:\n- `DEFAULT`:\n"},"caller_display_name":{"type":"string","enum":["REQUEST_LINE_URI_USER_PART","CONTACT_USER_PART","TO_DISPLAY_NAME","TO_USER_PART","FROM_DISPLAY_NAME","FROM_USER_PART","REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLED_PARTY_USER_PART","REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLING_PARTY_USER_PART","P_ASSERTED_IDENTITY_DISPLAY_NAME","P_ASSERTED_IDENTITY_USER_PART","P_PREFERRED_IDENTIFY_DISPLAY_NAME","P_PREFERRED_IDENTIFY_USER_PART","P_CALLED_PARTY_ID_DISPLAY_NAME","P_CALLED_PARTY_ID_USER_PART","DEFAULT"],"description":"Inbound parameters:\n- `REQUEST_LINE_URI_USER_PART`:\n- `CONTACT_USER_PART`:\n- `TO_DISPLAY_NAME`:\n- `TO_USER_PART`:\n- `FROM_DISPLAY_NAME`:\n- `FROM_USER_PART`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_USER_PART`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_USER_PART`:\n- `P_ASSERTED_IDENTITY_DISPLAY_NAME`:\n- `P_ASSERTED_IDENTITY_USER_PART`:\n- `P_PREFERRED_IDENTIFY_DISPLAY_NAME`:\n- `P_PREFERRED_IDENTIFY_USER_PART`:\n- `P_CALLED_PARTY_ID_DISPLAY_NAME`:\n- `P_CALLED_PARTY_ID_USER_PART`:\n- `DEFAULT`:\n"},"called_num":{"type":"string","enum":["REQUEST_LINE_URI_USER_PART","CONTACT_USER_PART","TO_DISPLAY_NAME","TO_USER_PART","FROM_DISPLAY_NAME","FROM_USER_PART","REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLED_PARTY_USER_PART","REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLING_PARTY_USER_PART","P_ASSERTED_IDENTITY_DISPLAY_NAME","P_ASSERTED_IDENTITY_USER_PART","P_PREFERRED_IDENTIFY_DISPLAY_NAME","P_PREFERRED_IDENTIFY_USER_PART","P_CALLED_PARTY_ID_DISPLAY_NAME","P_CALLED_PARTY_ID_USER_PART","DEFAULT"],"description":"Inbound parameters:\n- `REQUEST_LINE_URI_USER_PART`:\n- `CONTACT_USER_PART`:\n- `TO_DISPLAY_NAME`:\n- `TO_USER_PART`:\n- `FROM_DISPLAY_NAME`:\n- `FROM_USER_PART`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_USER_PART`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_USER_PART`:\n- `P_ASSERTED_IDENTITY_DISPLAY_NAME`:\n- `P_ASSERTED_IDENTITY_USER_PART`:\n- `P_PREFERRED_IDENTIFY_DISPLAY_NAME`:\n- `P_PREFERRED_IDENTIFY_USER_PART`:\n- `P_CALLED_PARTY_ID_DISPLAY_NAME`:\n- `P_CALLED_PARTY_ID_USER_PART`:\n- `DEFAULT`:\n"},"privacy_types_supported":{"type":"string","enum":["DEFAULT","NONE","ID","USER","HEADER","SESSION"],"description":"Inbound parameters:\n- `DEFAULT`: leave default value.\n- `NONE`: No privacy required.\n- `ID`: id\n- `USER`: user\n- `HEADER`: header\n- `SESSION`: Media anonymization\n"},"enable_stir_shaken_validation":{"type":"boolean","default":false,"description":"Enable STIR/SHAKEN validation or not.\n"},"pai_header_parameter_name":{"type":"string","default":"verstat","description":"The parameter name of PAI header.\n"},"drop_calls_with_verification_status":{"type":"array","items":{"type":"string"},"description":"A collection of  verification status.   \nAllowed values: `No-TN-Validation`, `TN-Validation-Failed`, `TN-Validation-Passed-B`, `TN-Validation-Passed-C`, `TN-Validation-Failed-A`, `TN-Validation-Failed-B`, `TN-Validation-Failed-C`.\n"},"pass_api_header_to_uad":{"type":"boolean","default":false,"description":"Enable STIR/SHAKEN validation or not.\n"}}},"outbound_parameters":{"type":"object","properties":{"request_line_uri_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"request_line_uri_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"contact_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"contact_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"to_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"to_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"to_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"from_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"from_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"from_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_called_party_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_called_party_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_called_party_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_calling_party_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_calling_party_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_calling_party_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_asserted_identity_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_asserted_identity_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_asserted_identity_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_preferred_identify_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_preferred_identify_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_preferred_identify_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_called_party_id_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_called_party_id_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_called_party_id_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"privacy_types_supported":{"type":"string","enum":["DEFAULT","NONE","ID","USER","HEADER","SESSION"],"description":"Inbound parameters:\n- `DEFAULT`: leave default value.\n- `NONE`: No privacy required.\n- `ID`: id\n- `USER`: user\n- `HEADER`: header\n- `SESSION`: Media anonymization\n"}}},"shared":{"type":"boolean","description":"The flag of whether the trunk is shared.\n"}}}}}},"4XX":{"description":"Error"}}}}}}
```

## Update provider

> Update properties of provider by it's unique ID.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Trunk","description":"Manage your trunks.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/providers/{id}":{"post":{"tags":["Trunk"],"operationId":"updateProvider","summary":"Update provider","description":"Update properties of provider by it's unique ID.\n","parameters":[{"name":"id","in":"path","required":true,"schema":{"allOf":[{"type":"string","description":"The unique ID of the resource.\n"}],"description":"The unique ID of trunk.\n"},"description":"The unique ID of the provider."}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64,"description":"The name of the trunk.\n"},"enabled":{"type":"boolean","default":true,"description":"Whether to enable the provider.\n"},"transport":{"type":"string","enum":["UDP","TCP","TLS"],"description":"The trunk transport protocol:  \nCan be either:  \n- `UDP`:\n- `TCP`:\n- `TLS`:\n"},"hostname":{"allOf":[{"type":"string","description":"Server hostname or IP address\n"}],"description":"The hostname of trunk.\n"},"port":{"allOf":[{"type":"integer","format":"int32","minimum":0,"maximum":65535,"description":"A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535.\nFor 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\n"}],"description":"The port pf trunk.\n"},"auth_id":{"type":"string","maxLength":64,"description":"Authentication ID, i.e. SIP username.\n"},"username":{"type":"string","maxLength":64,"description":"Authentication username.\n"},"password":{"type":"string","description":"Password for authentication.\n"},"registration":{"type":"boolean","default":true,"description":"Whether registration is required.\n"},"register_interval":{"type":"integer","format":"int32","minimum":0,"default":600,"description":"Interval for registry refreshment, in seconds.\n"},"outbound_server":{"type":"string","description":"The outbound server hostname of the trunk.\n"},"outbound_server_port":{"allOf":[{"type":"integer","format":"int32","minimum":0,"maximum":65535,"description":"A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535.\nFor 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\n"}],"description":"The outbound server port of the trunk.\n"},"inlan":{"type":"boolean","default":false,"description":"Whether the trunk under LAN or not.\n"},"single_via_header":{"type":"boolean","default":true,"description":"Whether this trunk is only accept single Via SIP header or not.\n"},"rewrite_via_ip":{"type":"boolean","default":true,"description":"Rewrite the host IP of Via header by public IP when sending the request to trunk.\n"},"verify_port":{"type":"boolean","default":true,"description":"Verify the port when receiving SIP messages from trunk\n"},"keep_alive":{"type":"boolean","default":true,"description":"Send `OPTIONS` message for keep alive.\n"},"keep_alive_interval":{"type":"integer","format":"int32","minimum":0,"default":360,"description":"Keep alive message sending interval (seconds).\n"},"concurrency":{"type":"integer","format":"int32","minimum":0,"description":"The max number of concurrent calls.\n"},"additional_ips":{"type":"string","description":"The additional IP addresses of provider.   \nA semicolon-separated list of IP addresses in CIDR format.   \nFor example: 192.0.2.0/24;192.0.2.0/32 as defined in RFC 4632 and RFC 4291.\n"},"adjust_sdp_direction":{"type":"boolean","default":true,"description":"Adjust the SDP direction for call hold.\n"},"remove_srtp_info":{"type":"boolean","default":true,"description":"Remove crypto line in the SDP.\n"},"stir_shaken_signature_required":{"type":"boolean","default":false,"description":"Whether to enable STIR/SHAKEN signature.\n"},"did_numbers":{"type":"string","description":"The semicolon-separated list of DID/DDI pool number range or DID/DDI number.\nAssign a DID/DDI pool number range or DID/DDI number to the tenant.\nFor example: 3000;12000-18000.\nThe DID/DDI pool number range should not overlap with other tenant DID/DDI pool number ranges and numbers.\n"},"inbound_parameters":{"type":"object","properties":{"caller_num":{"type":"string","enum":["REQUEST_LINE_URI_USER_PART","CONTACT_USER_PART","TO_DISPLAY_NAME","TO_USER_PART","FROM_DISPLAY_NAME","FROM_USER_PART","REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLED_PARTY_USER_PART","REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLING_PARTY_USER_PART","P_ASSERTED_IDENTITY_DISPLAY_NAME","P_ASSERTED_IDENTITY_USER_PART","P_PREFERRED_IDENTIFY_DISPLAY_NAME","P_PREFERRED_IDENTIFY_USER_PART","P_CALLED_PARTY_ID_DISPLAY_NAME","P_CALLED_PARTY_ID_USER_PART","DEFAULT"],"description":"Inbound parameters:\n- `REQUEST_LINE_URI_USER_PART`:\n- `CONTACT_USER_PART`:\n- `TO_DISPLAY_NAME`:\n- `TO_USER_PART`:\n- `FROM_DISPLAY_NAME`:\n- `FROM_USER_PART`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_USER_PART`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_USER_PART`:\n- `P_ASSERTED_IDENTITY_DISPLAY_NAME`:\n- `P_ASSERTED_IDENTITY_USER_PART`:\n- `P_PREFERRED_IDENTIFY_DISPLAY_NAME`:\n- `P_PREFERRED_IDENTIFY_USER_PART`:\n- `P_CALLED_PARTY_ID_DISPLAY_NAME`:\n- `P_CALLED_PARTY_ID_USER_PART`:\n- `DEFAULT`:\n"},"caller_display_name":{"type":"string","enum":["REQUEST_LINE_URI_USER_PART","CONTACT_USER_PART","TO_DISPLAY_NAME","TO_USER_PART","FROM_DISPLAY_NAME","FROM_USER_PART","REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLED_PARTY_USER_PART","REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLING_PARTY_USER_PART","P_ASSERTED_IDENTITY_DISPLAY_NAME","P_ASSERTED_IDENTITY_USER_PART","P_PREFERRED_IDENTIFY_DISPLAY_NAME","P_PREFERRED_IDENTIFY_USER_PART","P_CALLED_PARTY_ID_DISPLAY_NAME","P_CALLED_PARTY_ID_USER_PART","DEFAULT"],"description":"Inbound parameters:\n- `REQUEST_LINE_URI_USER_PART`:\n- `CONTACT_USER_PART`:\n- `TO_DISPLAY_NAME`:\n- `TO_USER_PART`:\n- `FROM_DISPLAY_NAME`:\n- `FROM_USER_PART`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_USER_PART`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_USER_PART`:\n- `P_ASSERTED_IDENTITY_DISPLAY_NAME`:\n- `P_ASSERTED_IDENTITY_USER_PART`:\n- `P_PREFERRED_IDENTIFY_DISPLAY_NAME`:\n- `P_PREFERRED_IDENTIFY_USER_PART`:\n- `P_CALLED_PARTY_ID_DISPLAY_NAME`:\n- `P_CALLED_PARTY_ID_USER_PART`:\n- `DEFAULT`:\n"},"called_num":{"type":"string","enum":["REQUEST_LINE_URI_USER_PART","CONTACT_USER_PART","TO_DISPLAY_NAME","TO_USER_PART","FROM_DISPLAY_NAME","FROM_USER_PART","REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLED_PARTY_USER_PART","REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME","REMOTE_PARTY_ID_CALLING_PARTY_USER_PART","P_ASSERTED_IDENTITY_DISPLAY_NAME","P_ASSERTED_IDENTITY_USER_PART","P_PREFERRED_IDENTIFY_DISPLAY_NAME","P_PREFERRED_IDENTIFY_USER_PART","P_CALLED_PARTY_ID_DISPLAY_NAME","P_CALLED_PARTY_ID_USER_PART","DEFAULT"],"description":"Inbound parameters:\n- `REQUEST_LINE_URI_USER_PART`:\n- `CONTACT_USER_PART`:\n- `TO_DISPLAY_NAME`:\n- `TO_USER_PART`:\n- `FROM_DISPLAY_NAME`:\n- `FROM_USER_PART`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLED_PARTY_USER_PART`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME`:\n- `REMOTE_PARTY_ID_CALLING_PARTY_USER_PART`:\n- `P_ASSERTED_IDENTITY_DISPLAY_NAME`:\n- `P_ASSERTED_IDENTITY_USER_PART`:\n- `P_PREFERRED_IDENTIFY_DISPLAY_NAME`:\n- `P_PREFERRED_IDENTIFY_USER_PART`:\n- `P_CALLED_PARTY_ID_DISPLAY_NAME`:\n- `P_CALLED_PARTY_ID_USER_PART`:\n- `DEFAULT`:\n"},"privacy_types_supported":{"type":"string","enum":["DEFAULT","NONE","ID","USER","HEADER","SESSION"],"description":"Inbound parameters:\n- `DEFAULT`: leave default value.\n- `NONE`: No privacy required.\n- `ID`: id\n- `USER`: user\n- `HEADER`: header\n- `SESSION`: Media anonymization\n"},"enable_stir_shaken_validation":{"type":"boolean","default":false,"description":"Enable STIR/SHAKEN validation or not.\n"},"pai_header_parameter_name":{"type":"string","default":"verstat","description":"The parameter name of PAI header.\n"},"drop_calls_with_verification_status":{"type":"array","items":{"type":"string"},"description":"A collection of  verification status.   \nAllowed values: `No-TN-Validation`, `TN-Validation-Failed`, `TN-Validation-Passed-B`, `TN-Validation-Passed-C`, `TN-Validation-Failed-A`, `TN-Validation-Failed-B`, `TN-Validation-Failed-C`.\n"},"pass_api_header_to_uad":{"type":"boolean","default":false,"description":"Enable STIR/SHAKEN validation or not.\n"}}},"outbound_parameters":{"type":"object","properties":{"request_line_uri_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"request_line_uri_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"contact_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"contact_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"to_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"to_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"to_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"from_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"from_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"from_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_called_party_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_called_party_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_called_party_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_calling_party_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_calling_party_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"remote_party_id_calling_party_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_asserted_identity_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_asserted_identity_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_asserted_identity_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_preferred_identify_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_preferred_identify_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_preferred_identify_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_called_party_id_display_name":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_called_party_id_user_part":{"type":"object","properties":{"value":{"type":"string","enum":["AUTH_ID","CALLER_NUM","CALLED_NUM","CALLER_DISPLAY_NAME","OUTBOUND_CALLER_ID","ORIGINATOR_CALLER_ID","OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID","ANONYMOUS","DEFAULT","CUSTOM"],"description":"Inbound parameters:\n- `AUTH_ID`:\n- `CALLER_NUM`:\n- `CALLED_NUM`:\n- `CALLER_DISPLAY_NAME`:\n- `OUTBOUND_CALLER_ID`:\n- `ORIGINATOR_CALLER_ID`:\n- `OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID`:\n- `ANONYMOUS`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"p_called_party_id_host_part":{"type":"object","properties":{"value":{"type":"string","enum":["TRUNK_HOST_PORT","OUT_HOST_PORT","CONTACT_URI","SIP_DOMAIN","DEFAULT","CUSTOM"],"description":"Inbound parameters variable:\n- `TRUNK_HOST_PORT`:\n- `OUT_HOST_PORT`:\n- `CONTACT_URI`:\n- `SIP_DOMAIN`:\n- `DEFAULT`: leave default value.\n- `CUSTOM`:\n"},"custom_value":{"type":"string","description":"Custom value for the field.\n"}}},"privacy_types_supported":{"type":"string","enum":["DEFAULT","NONE","ID","USER","HEADER","SESSION"],"description":"Inbound parameters:\n- `DEFAULT`: leave default value.\n- `NONE`: No privacy required.\n- `ID`: id\n- `USER`: user\n- `HEADER`: header\n- `SESSION`: Media anonymization\n"}}}}}}}},"responses":{"200":{"description":"OK"},"4XX":{"description":"Error"}}}}}}
```

## Query provider status

> Get status of provider by it's unique ID.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Trunk","description":"Manage your trunks.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/providers/{id}/status":{"get":{"tags":["Trunk"],"operationId":"getProviderStatus","summary":"Query provider status","description":"Get status of provider by it's unique ID.\n","parameters":[{"name":"id","in":"path","required":true,"schema":{"allOf":[{"type":"string","description":"The unique ID of the resource.\n"}],"description":"The unique ID of trunk.\n"},"description":"The unique ID of the provider."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ONLINE","OFFLINE"],"readOnly":true,"description":"Trunk status includes:   \n- `ONLINE`:   \n- `OFFLINE`:\n"}}}}}},"4XX":{"description":"Error"}}}}}}
```

## Delete a provider

> Destroy provider by it's unique ID.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Trunk","description":"Manage your trunks.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/providers/{id}/destroy":{"post":{"tags":["Trunk"],"operationId":"deleteProvider","summary":"Delete a provider","description":"Destroy provider by it's unique ID.\n","parameters":[{"name":"id","in":"path","required":true,"schema":{"allOf":[{"type":"string","description":"The unique ID of the resource.\n"}],"description":"The unique ID of trunk.\n"},"description":"The unique ID of the provider."}],"responses":{"204":{"description":"No Content"},"400":{"description":"Invalid provider ID supplied."}}}}}}
```

## Export providers

> Export a collection of providers to file.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Trunk","description":"Manage your trunks.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/providers/export":{"get":{"tags":["Trunk"],"operationId":"exportProviders","summary":"Export providers","description":"Export a collection of providers to file.\n","responses":{"200":{"description":"OK","headers":{"Content-Disposition":{"schema":{"type":"string"},"description":"the format is `attachment; filename=\"example\"`"}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"4XX":{"description":"Error"}}}}}}
```
