What works
- Inbound calls to your agent
- Outbound calls from your agent
- Transfers from your agent, with SIP REFER
Prerequisites
- A Twilio account with Elastic SIP Trunking, and the numbers you want to use
- A Bland account with SIP trunking enabled. If there is no SIP tab under Phone numbers, contact Bland support
Configure Twilio
Create the trunk
Bland.Turn on Secure Trunking and Call Transfer
Point origination at Bland
sip: with ;transport=tls, not sips:. Use port 5061 exactly: Bland reserves its other SIP ports for its own carrier connections. The other regions are under Connection endpoints.Bland already trusts Twilio’s published signaling IPs, so there is nothing to allow-list.Add your numbers
Create termination credentials
yourcompany.pstn.twilio.com. Under Authentication, create a Credential List with a username and password, and attach it to the trunk.Use a credential list, not an IP access control list. Bland’s outbound calls don’t come from a fixed set of IPs you can list.Configure Bland
Open the setup wizard
Provider
yourcompany.pstn.twilio.com. No port needed. The wizard skips the firewall step for Twilio.Authentication
Numbers
+14155550100.Assign an agent
from in POST /v1/calls.
Caller ID and transfers
Twilio only accepts outbound calls whose caller ID is a number on your Twilio account or a verified caller ID, in E.164 format. Place outbound calls from a number on the trunk. The same rule shapes transfers. When Bland bridges a transfer, the target can’t see the original caller, because that number isn’t on your account. With SIP REFER, Twilio places the transfer itself and shows the original caller. To transfer with REFER, turn on Hand off via SIP REFER in the agent’s Transfer Call node and enter the target in E.164 format. Bland leaves the call once Twilio takes it. Twilio can’t transfer to emergency numbers, and plays no early media during a REFER. See Transfers for every transfer method.Common failures
Inbound calls don't reach Bland
Inbound calls don't reach Bland
sip:<region>.sip.bland.ai:5061;transport=tls, and that Secure Trunking is on.Inbound calls are rejected with 603 Decline
Inbound calls are rejected with 603 Decline
Outbound calls are rejected with 401 or 403
Outbound calls are rejected with 401 or 403
Outbound calls fail with 400 or a caller ID error
Outbound calls fail with 400 or a caller ID error
+.Transfers fail
Transfers fail
The call connects with no audio
The call connects with no audio
AES_CM_128_HMAC_SHA1_80.