Update a SIP Trunk
curl --request PATCH \
--url https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"sip_cidr": [
"<string>"
],
"rtp_cidr": [
"<string>"
],
"name": "<string>",
"encrypted": true,
"inbound": {
"sip_auth": {
"disable": true,
"username": "<string>",
"password": "<string>"
},
"sip_token_auth": {
"disable": true,
"token": "<string>"
}
},
"outbound": {
"sip_addresses": [
"sip:my-sbc.example.com:5060",
"sip:my-sbc.example.com:5061;transport=tls"
],
"default_caller_id": "<string>"
}
}
'import requests
url = "https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id}"
payload = {
"sip_cidr": ["<string>"],
"rtp_cidr": ["<string>"],
"name": "<string>",
"encrypted": True,
"inbound": {
"sip_auth": {
"disable": True,
"username": "<string>",
"password": "<string>"
},
"sip_token_auth": {
"disable": True,
"token": "<string>"
}
},
"outbound": {
"sip_addresses": ["sip:my-sbc.example.com:5060", "sip:my-sbc.example.com:5061;transport=tls"],
"default_caller_id": "<string>"
}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
sip_cidr: ['<string>'],
rtp_cidr: ['<string>'],
name: '<string>',
encrypted: true,
inbound: {
sip_auth: {disable: true, username: '<string>', password: '<string>'},
sip_token_auth: {disable: true, token: '<string>'}
},
outbound: {
sip_addresses: ['sip:my-sbc.example.com:5060', 'sip:my-sbc.example.com:5061;transport=tls'],
default_caller_id: '<string>'
}
})
};
fetch('https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'sip_cidr' => [
'<string>'
],
'rtp_cidr' => [
'<string>'
],
'name' => '<string>',
'encrypted' => true,
'inbound' => [
'sip_auth' => [
'disable' => true,
'username' => '<string>',
'password' => '<string>'
],
'sip_token_auth' => [
'disable' => true,
'token' => '<string>'
]
],
'outbound' => [
'sip_addresses' => [
'sip:my-sbc.example.com:5060',
'sip:my-sbc.example.com:5061;transport=tls'
],
'default_caller_id' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id}"
payload := strings.NewReader("{\n \"sip_cidr\": [\n \"<string>\"\n ],\n \"rtp_cidr\": [\n \"<string>\"\n ],\n \"name\": \"<string>\",\n \"encrypted\": true,\n \"inbound\": {\n \"sip_auth\": {\n \"disable\": true,\n \"username\": \"<string>\",\n \"password\": \"<string>\"\n },\n \"sip_token_auth\": {\n \"disable\": true,\n \"token\": \"<string>\"\n }\n },\n \"outbound\": {\n \"sip_addresses\": [\n \"sip:my-sbc.example.com:5060\",\n \"sip:my-sbc.example.com:5061;transport=tls\"\n ],\n \"default_caller_id\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"sip_cidr\": [\n \"<string>\"\n ],\n \"rtp_cidr\": [\n \"<string>\"\n ],\n \"name\": \"<string>\",\n \"encrypted\": true,\n \"inbound\": {\n \"sip_auth\": {\n \"disable\": true,\n \"username\": \"<string>\",\n \"password\": \"<string>\"\n },\n \"sip_token_auth\": {\n \"disable\": true,\n \"token\": \"<string>\"\n }\n },\n \"outbound\": {\n \"sip_addresses\": [\n \"sip:my-sbc.example.com:5060\",\n \"sip:my-sbc.example.com:5061;transport=tls\"\n ],\n \"default_caller_id\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sip_cidr\": [\n \"<string>\"\n ],\n \"rtp_cidr\": [\n \"<string>\"\n ],\n \"name\": \"<string>\",\n \"encrypted\": true,\n \"inbound\": {\n \"sip_auth\": {\n \"disable\": true,\n \"username\": \"<string>\",\n \"password\": \"<string>\"\n },\n \"sip_token_auth\": {\n \"disable\": true,\n \"token\": \"<string>\"\n }\n },\n \"outbound\": {\n \"sip_addresses\": [\n \"sip:my-sbc.example.com:5060\",\n \"sip:my-sbc.example.com:5061;transport=tls\"\n ],\n \"default_caller_id\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"account_id": "<string>",
"sip_cidr": [
"<string>"
],
"rtp_cidr": [
"<string>"
],
"name": "<string>",
"encrypted": true,
"inbound": {
"hostname": "<string>",
"sip_auth": {
"enabled": true,
"username": "<string>",
"realm": "<string>"
},
"sip_token_auth": {
"enabled": true
}
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"outbound": {
"sip_addresses": [
"sip:my-sbc.example.com:5060",
"sip:my-sbc.example.com:5061;transport=tls"
],
"default_caller_id": "<string>"
}
}{
"success": true,
"error": "<string>",
"message": "<string>"
}{
"success": true,
"error": "<string>",
"message": "<string>"
}{
"success": true,
"error": "<string>",
"message": "<string>"
}{
"success": true,
"error": "<string>",
"message": "<string>"
}{
"success": true,
"error": "<string>",
"message": "<string>"
}Authorizations
Path Parameters
ID of the account that owns the SIP Trunk.
The SIP Trunk ID.
Body
Send only the fields you want to change; anything omitted is left unchanged. The owning account is immutable and cannot be changed.
The IPv4 CIDR blocks of your SIP servers. Omit to leave unchanged.
1 - 10 elements43The IPv4 CIDR blocks of your RTP / media servers. Omit to leave unchanged.
1 - 10 elements43A friendly name to help identify your SIP Trunk. Omit to leave unchanged.
1 - 255\SWhether this SIP Trunk will handle encrypted (true; SIP over TCP/TLS, media over UDP/SRTP) or unencrypted (false; SIP over UDP, media over UDP/RTP) calls.
Configuration for inbound calls. sip_auth and sip_token_auth are mutually exclusive.
Show child attributes
Show child attributes
Configuration for outbound calls leaving PolyAI.
Show child attributes
Show child attributes
Response
The updated SIP Trunk.
A SIP Trunk.
PolyAI-generated SIP Trunk ID, e.g. tr-0123456789abcdefghijklmn.
The PolyAI account that owns the SIP Trunk.
The IPv4 CIDR blocks of your SIP servers.
The IPv4 CIDR blocks of your RTP / media servers.
A friendly name to help identify your SIP Trunk.
Whether this SIP Trunk will handle encrypted (true; SIP over TCP/TLS, media over UDP/SRTP) or unencrypted (false; SIP over UDP, media over UDP/RTP) calls.
Configuration for inbound calls.
Show child attributes
Show child attributes
RFC 3339 timestamp of when the SIP Trunk was created.
RFC 3339 timestamp of when the SIP Trunk was last updated.
Configuration for outbound calls leaving PolyAI.
Show child attributes
Show child attributes
Was this page helpful?
curl --request PATCH \
--url https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"sip_cidr": [
"<string>"
],
"rtp_cidr": [
"<string>"
],
"name": "<string>",
"encrypted": true,
"inbound": {
"sip_auth": {
"disable": true,
"username": "<string>",
"password": "<string>"
},
"sip_token_auth": {
"disable": true,
"token": "<string>"
}
},
"outbound": {
"sip_addresses": [
"sip:my-sbc.example.com:5060",
"sip:my-sbc.example.com:5061;transport=tls"
],
"default_caller_id": "<string>"
}
}
'import requests
url = "https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id}"
payload = {
"sip_cidr": ["<string>"],
"rtp_cidr": ["<string>"],
"name": "<string>",
"encrypted": True,
"inbound": {
"sip_auth": {
"disable": True,
"username": "<string>",
"password": "<string>"
},
"sip_token_auth": {
"disable": True,
"token": "<string>"
}
},
"outbound": {
"sip_addresses": ["sip:my-sbc.example.com:5060", "sip:my-sbc.example.com:5061;transport=tls"],
"default_caller_id": "<string>"
}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
sip_cidr: ['<string>'],
rtp_cidr: ['<string>'],
name: '<string>',
encrypted: true,
inbound: {
sip_auth: {disable: true, username: '<string>', password: '<string>'},
sip_token_auth: {disable: true, token: '<string>'}
},
outbound: {
sip_addresses: ['sip:my-sbc.example.com:5060', 'sip:my-sbc.example.com:5061;transport=tls'],
default_caller_id: '<string>'
}
})
};
fetch('https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'sip_cidr' => [
'<string>'
],
'rtp_cidr' => [
'<string>'
],
'name' => '<string>',
'encrypted' => true,
'inbound' => [
'sip_auth' => [
'disable' => true,
'username' => '<string>',
'password' => '<string>'
],
'sip_token_auth' => [
'disable' => true,
'token' => '<string>'
]
],
'outbound' => [
'sip_addresses' => [
'sip:my-sbc.example.com:5060',
'sip:my-sbc.example.com:5061;transport=tls'
],
'default_caller_id' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id}"
payload := strings.NewReader("{\n \"sip_cidr\": [\n \"<string>\"\n ],\n \"rtp_cidr\": [\n \"<string>\"\n ],\n \"name\": \"<string>\",\n \"encrypted\": true,\n \"inbound\": {\n \"sip_auth\": {\n \"disable\": true,\n \"username\": \"<string>\",\n \"password\": \"<string>\"\n },\n \"sip_token_auth\": {\n \"disable\": true,\n \"token\": \"<string>\"\n }\n },\n \"outbound\": {\n \"sip_addresses\": [\n \"sip:my-sbc.example.com:5060\",\n \"sip:my-sbc.example.com:5061;transport=tls\"\n ],\n \"default_caller_id\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"sip_cidr\": [\n \"<string>\"\n ],\n \"rtp_cidr\": [\n \"<string>\"\n ],\n \"name\": \"<string>\",\n \"encrypted\": true,\n \"inbound\": {\n \"sip_auth\": {\n \"disable\": true,\n \"username\": \"<string>\",\n \"password\": \"<string>\"\n },\n \"sip_token_auth\": {\n \"disable\": true,\n \"token\": \"<string>\"\n }\n },\n \"outbound\": {\n \"sip_addresses\": [\n \"sip:my-sbc.example.com:5060\",\n \"sip:my-sbc.example.com:5061;transport=tls\"\n ],\n \"default_caller_id\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.us.poly.ai/v1/accounts/{account_id}/telephony/sip-trunks/{trunk_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sip_cidr\": [\n \"<string>\"\n ],\n \"rtp_cidr\": [\n \"<string>\"\n ],\n \"name\": \"<string>\",\n \"encrypted\": true,\n \"inbound\": {\n \"sip_auth\": {\n \"disable\": true,\n \"username\": \"<string>\",\n \"password\": \"<string>\"\n },\n \"sip_token_auth\": {\n \"disable\": true,\n \"token\": \"<string>\"\n }\n },\n \"outbound\": {\n \"sip_addresses\": [\n \"sip:my-sbc.example.com:5060\",\n \"sip:my-sbc.example.com:5061;transport=tls\"\n ],\n \"default_caller_id\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"account_id": "<string>",
"sip_cidr": [
"<string>"
],
"rtp_cidr": [
"<string>"
],
"name": "<string>",
"encrypted": true,
"inbound": {
"hostname": "<string>",
"sip_auth": {
"enabled": true,
"username": "<string>",
"realm": "<string>"
},
"sip_token_auth": {
"enabled": true
}
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"outbound": {
"sip_addresses": [
"sip:my-sbc.example.com:5060",
"sip:my-sbc.example.com:5061;transport=tls"
],
"default_caller_id": "<string>"
}
}{
"success": true,
"error": "<string>",
"message": "<string>"
}{
"success": true,
"error": "<string>",
"message": "<string>"
}{
"success": true,
"error": "<string>",
"message": "<string>"
}{
"success": true,
"error": "<string>",
"message": "<string>"
}{
"success": true,
"error": "<string>",
"message": "<string>"
}
