Overview
Bland supports inbound and outbound SIP, allowing customers to direct calls from their SIP provider to Bland for handling - or to direct Bland to make contact with their SIP provider. This guide provides:- Instructions for attaching, verifying, updating, and detaching SIP routes via Bland’s API
- SIP connection details
- Requirements and security settings
- Schema definitions and usage patterns
Quick Start
Intergrating SIP with Bland requires both sides (you or your provider, and Bland) to perform a set of steps in the correct order to minimize the time taken to get your calls flowing. [1] Enabling SIP You’ll need to to contact support to haveSIP enabled for your Organization. Without this, you won’t be able to continue.
[2] Identifying your Numbers
Bland needs to know ahead of time, the numbers that will be used in either an Outbound (also known as Origination) direction, or an Inbound (also known as Termination) direction.
You should work with your SIP Provider to identify these, for your business use case and purpose.
[3] Declare these Numbers with Bland
You do not need to port, or transfer numbers to Bland. You just need to simply let us know about them ahead of time.
This can be accomplished in two ways:
- Configure them visually, on the dashboard (see Getting Started section below for detailed instructions)
- Configure them using our API
from number. We’ll automatically use your SIP information to connect to your chosen SIP endpoint, and we’ll make the call.
This also applies to warm transfers.
Getting Started
For users who prefer a visual interface over API calls, Bland provides a comprehensive dashboard for managing SIP configurations on a per-number basis. This section walks you through configuring SIP for individual phone numbers using the dashboard.Accessing SIP Configuration
To configure SIP for a phone number:- Go to your “Phone Numbers” page in the dashboard
- Click “Add Existing Number”
- This will take you to the SIP configuration interface at https://app.bland.ai/dashboard/sip
SIP Configuration Interface
The SIP configuration page is organized per phone number with two main tabs:- Phone Number: Enter or view the number you’re configuring (E.164 format like +14150000000)
- Inbound Tab: Configure how calls coming TO your number via SIP are handled
- Outbound Tab: Configure how calls FROM your number go through your SIP provider (requires SIP connection details)
Configuring Inbound SIP
The Inbound tab allows your SIP provider to route calls to Bland for handling.
- Toggle the “Enable Inbound” switch to activate inbound SIP for this number
- Header Type: Choose between “Custom Header” or “UUI Header”
- Header Value: Select either:
- Bland Variable: Choose from predefined variables (
call_id,caller_id,destination_number,call_duration,call_status) - Static Value: Enter a fixed text value
- Bland Variable: Choose from predefined variables (
- Add/Remove: Use the ”+” button to add headers, trash icon to remove them
Configuring Outbound SIP
The Outbound tab configures calls made FROM your number through your SIP provider.
- Toggle the “Enable Outbound” switch to activate outbound SIP for this number
- SIP Endpoint: Your provider’s endpoint (e.g., “sip.example.com”) - see SIP connection details for requirements
- Port: Port number (default: 5060)
- SIP Username: Authentication username (if required by provider)
- SIP Password: Authentication password (if required by provider)
- Transport Protocol: Choose UDP, TCP, or TLS (see requirements for supported options)
- Secure Media (SRTP): Check this box for encrypted media streams
Managing SIP Numbers
Once configured, you can manage SIP numbers from your main Phone Numbers page:
- Numbers with SIP configuration will show a “Manage SIP” button
- Click this button to return to the SIP configuration interface for that number
- You can enable/disable inbound or outbound directions, or modify connection details
Key Configuration Notes
- Inbound only requires enabling the toggle and optional header mapping. Numbers behave like regular inbound numbers (configure pathway, persona, voice, etc in the main dashboard)
- Outbound requires SIP provider endpoint and connection details. Numbers behave like regular outbound numbers which you can use as the “from” value for outbound calls
- Headers are supported in both directions with custom headers and UUI (User-to-User Information). Map dynamic Bland variables like
caller_idor use static values to bridge data between Bland pathways and your SIP infrastructure. For detailed header configuration examples, see the API reference section
SIP Connection Details
SIP Signaling Endpoint FQDN(s):- You must use TCP over TLS for all SIP signaling.
- You must use Secure Media / SRTP for all media streams.
- Bland does not accept UDP for SIP signaling.
- You must whitelist all IP addresses listed below in your firewall to allow inbound and outbound SIP traffic.
- If required, we provide which IP addresses are used for incoming SIP messages, and which are used for outgoing SIP messages.
16384 and 32768.
Requirements and Security Settings
Supported Codecs:- Currently Supported: PCMU, PCMA, Opus
- SIP Signaling: TLS 1.2 or higher
- RTP Media: SRTP using AES_CM_128_HMAC_SHA1_80
FromHeader FQDN: Bland will enforce validity of the FQDN provided for in yourFromheader. If this should be the same as the signaling endpoint, or a non-valid FQDN, we may reject your request(s) in the future.
- RTCP: Uses port RTP + 1
- DTMF: RFC 2833 (Out-of-band via RTP payload)
- Transport: TCP over TLS
- Methods: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER
- Number Format: +E.164 or E.164 (both supported for origination and termination)
- SIP Registration: Not required (Bland determines routing based on predefined configurations configurable below.)
Entitlement Requirement
All/sip endpoints are protected by an entitlement check.
Your organization must have the SIP entitlement enabled to use SIP features. If not, all requests to the /sip routes will return an error.
Contact support to have SIP enabled for your Enterprise organization.
API Reference
Attach SIP Endpoint
POST /sip/attach
Attach a SIP configuration to a phone number.
The phone number to associate with the SIP configuration. Must be in E.164 format.
An array of directions for the SIP routing. Valid values:
inbound, outbound. If outbound, you must also provide a sip_endpoint.Must be set to
sip.Example Request
Update SIP Direction
POST /sip/update
Update a phone number’s SIP routing direction.
The phone number for which to update the direction.
The updated direction object. Use
type: outbound and provide sip_endpoint, or type: inbound.Example Request
Detach SIP Endpoint
POST /sip/detach
Remove SIP configuration from a number.
The phone number to detach SIP routing from.
Direction(s) to remove. Either
inbound or outbound.Must be set to
sip.Example Request
Making your first SIP Call (Outbound)
To use a number that was registered for SIP, in an outbound direction - all that is required is to specify this as your from number. Note: You’ll need to ensure that you’ve verified your number ahead of time, as instructed above.Example Request
Get SIP Config
GET /sip?phone_number={phone_number}
Returns current SIP configuration (if any) for a given phone_number.
The phone number of the number to fetch SIP configuration for.
Example Request
Example Response
Notes
- Phone numbers can be attached independently for inbound and outbound routing via the API.
- All requests must conform to the expected schema; invalid payloads will be rejected with a 400 response.
- Each API response includes a success status and, if applicable, an error message to aid debugging.