- Reach a PolyAI SIP server.
- Tell PolyAI which trunk it belongs to.
- Satisfy the trunk’s authentication, if you have configured any.
Where to send calls
PolyAI provides both DNS A records and SRV records to route calls to PolyAI SIP servers.SIP Trunk A record (recommended)
Each SIP Trunk is issued a unique hostname, returned asinbound.hostname:
- Treat each IP as a unique destination, and route calls evenly across each, or
- Use only the first A record to let PolyAI randomly balance calls across the destinations for you.
PolyAI recommends against DNS caching, to avoid routing traffic to any disabled SIP servers.
Global A record
PolyAI also publishes a shared hostname per region:
Returns the same multi-A record as the SIP Trunk A record, but can be used where your SIP server routes traffic to multiple PolyAI SIP Trunks or accounts. As the host is shared, you must provide the SIP Trunk ID on every
INVITE (see Identifying the SIP Trunk).
SRV records
If you’d rather discover the PolyAI servers via SRV, PolyAI publishes records using the same hostnames as the Global A records (sbc.sip.<region>.poly.ai). <region> is one of eu, uk, us.
When you connect via a Global A record or SRV, you must provide the SIP Trunk ID on every
INVITE (see Identifying the SIP Trunk).Transport and encryption
PolyAI supports both encrypted and unencrypted transports.
The PolyAI RTP port range in both cases is 9000–49000.
Firewall
PolyAI uses static IP addresses for all of its SIP and RTP servers. If you need these to add to your firewall, please reach out to support.Certificates
- PolyAI supports TLS version 1.2 for SIP over TLS.
- PolyAI uses the DigiCert Global Root G2 certificate in all regions — DigiCertGlobalRootG2.crt.pem (download).
- PolyAI supports client SIP servers with any publicly trusted Root Certificate in the Mozilla 2026-07-16 CA Trust Bundle (download).
Identifying the SIP Trunk
If you’re not connecting via the SIP Trunk’s hostname, you must provide the SIP Trunk ID in one of:- the
X-PolyAI-SIP-Trunk-IDSIP header, or - an
x-polyai-sip-trunk-idrequest-URI parameter.
Authenticating your calls
Authentication is optional per trunk. If you’ve configured it via the management API, yourINVITE must satisfy it.
Token-based auth
Send the token in theX-PolyAI-SIP-Trunk-Token header on your INVITE:
Digest-based auth
Standard SIP digest authentication. PolyAI replies to your firstINVITE with a 401 Unauthorized carrying a WWW-Authenticate challenge built from the trunk’s realm.
Your SIP server then re-sends the INVITE with an Authorization header computed from the trunk’s username and password.
Checklist for an inbound call
- Connect over the right transport and port. If connecting over TLS, ensure you’ve uploaded PolyAI’s Root Certificate and that your SIP server is using a supported TLS Certificate.
- Select a hostname to connect to, providing the SIP Trunk ID if not using the SIP Trunk’s unique hostname.
- If the trunk has authentication, present the token header or answer the digest challenge.
- Set the dialed user part to a configured extension so the call reaches the right agent.

