How inbound calls work with BYOT
When a call arrives on one of your DID numbers, the following happens:- Your SIP provider sends the INVITE to Bolna’s SIP server (
sip:13.200.45.61:5060) - Bolna matches the called number against your registered phone numbers
- The call is routed to the AI agent mapped to that number
- The agent answers and handles the conversation
Prerequisites
Before setting up inbound calls, ensure:- You have created a SIP trunk on Bolna
- You have added your phone numbers to the trunk
- Your SIP provider is routing those DIDs to
sip:13.200.45.61:5060 inbound_enabledis set totrueon your trunk- You have a Bolna agent created
Map a phone number to an agent
Use the Set Inbound Agent API to map a phone number to your Bolna agent.| Field | Type | Required | Description |
|---|---|---|---|
agent_id | string | Yes | The UUID of the Bolna agent that should handle calls on this number. |
phone_number_id | string | Yes | The phone number ID returned when you added the number to the trunk. |
ulaw to match Asterisk’s requirements.
One number, one agent: A phone number can only be mapped to one agent at a time. Mapping it to a new agent automatically unmaps it from the previous one.
Unlink a number from an agent
To stop an agent from answering calls on a number (without removing the number from the trunk), use the unlink endpoint:Troubleshooting inbound calls
If inbound calls are not arriving or are being rejected:- Confirm your SIP provider has
sip:13.200.45.61:5060set as the origination URI for the DID - Confirm the phone number has been added to the trunk
- Confirm the phone number has been mapped to an agent (above)
- Confirm
inbound_enabledistrueon the trunk - Check that the number format in the INVITE’s
Request-URIorToheader matches what you stored (with or without+)
Next steps
- Make outbound calls from your SIP trunk numbers
- Manage your trunk using the SIP Trunk API
- Monitor call status in real-time

