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 at
sip:sip.bolna.ai:5060(UDP/TCP) orsip:sip.bolna.ai:5061;transport=tls(TLS trunks) - 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:sip.bolna.ai:5060(orsip:sip.bolna.ai:5061;transport=tlsfor TLS trunks) 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.
Once mapped, any call arriving on that DID will be answered by the specified agent. The agent’s audio format is automatically updated to
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:sip.bolna.ai:5060(orsip:sip.bolna.ai:5061;transport=tlsfor TLS trunks) set 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

