SIP Trunks
Get Firewall IPs
Get Bland’s static SIP signaling and media IP addresses and ports for your region. Use these to configure your firewall and SBC.
GET
/
v1
/
sip
/
firewall-ips
Get Firewall IPs
curl --request GET \
--url https://api.bland.ai/v1/sip/firewall-ips \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v1/sip/firewall-ips"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v1/sip/firewall-ips', 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.bland.ai/v1/sip/firewall-ips",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bland.ai/v1/sip/firewall-ips"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bland.ai/v1/sip/firewall-ips")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/sip/firewall-ips")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": {
"ip_addresses": [
"35.82.60.77",
"52.27.163.2",
"52.13.231.129",
"35.160.144.213",
"44.234.13.26",
"54.218.96.252"
],
"ports": {
"sip": "5061 TLS",
"rtp": "16384-32768 UDP"
}
},
"errors": null
}
Headers
string
required
Your API key for authentication.
Response
string[]
Array of static IP addresses for your region: the two signaling IPs first, then the four media IPs. Allow-list all of them and trust all of them as SIP peers. Calls you send to Bland go to the signaling IPs. Transfers and warm transfer consult calls that Bland sends to your SBC connect from the media IPs. See Connection Endpoints.
string
SIP signaling port and transport (e.g.,
"5061 TLS").string
RTP media port range (e.g.,
"16384-32768 UDP").Example Request
curl -X GET https://api.bland.ai/v1/sip/firewall-ips \
-H "Authorization: Bearer <token>"
{
"data": {
"ip_addresses": [
"35.82.60.77",
"52.27.163.2",
"52.13.231.129",
"35.160.144.213",
"44.234.13.26",
"54.218.96.252"
],
"ports": {
"sip": "5061 TLS",
"rtp": "16384-32768 UDP"
}
},
"errors": null
}
Docs for agents: llms.txt
Was this page helpful?
⌘I
Get Firewall IPs
curl --request GET \
--url https://api.bland.ai/v1/sip/firewall-ips \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v1/sip/firewall-ips"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v1/sip/firewall-ips', 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.bland.ai/v1/sip/firewall-ips",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bland.ai/v1/sip/firewall-ips"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bland.ai/v1/sip/firewall-ips")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/sip/firewall-ips")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": {
"ip_addresses": [
"35.82.60.77",
"52.27.163.2",
"52.13.231.129",
"35.160.144.213",
"44.234.13.26",
"54.218.96.252"
],
"ports": {
"sip": "5061 TLS",
"rtp": "16384-32768 UDP"
}
},
"errors": null
}