vSIP Configuration
Exotel Virtual SIP Trunking – FQDN-based
17 min
this support article explains how to configure exotel’s virtual sip trunking (vsip) using fully qualified domain name (fqdn) based trunking instead of fixed ips it details how the fqdn based approach works, when it should be used, and why it offers benefits in enterprise grade sip deployments 1\ product overview exotel’s fqdn based virtual sip trunking (alpha) allows customers to use dns resolvable hostnames (e g , trunk customer com) instead of static ips to establish sip trunking with exotel's pops this method enables greater flexibility and reliability, especially for deployments on cloud infrastructure or load balanced sip setups 2\ what is an fqdn based trunk? an fqdn (fully qualified domain name) is a domain name that maps dynamically to one or more ips in this model your sip gateway/sbc is reachable via a dns resolvable fqdn exotel performs dns resolution during sip call setup no static ip whitelisting is required from customer side exotel supports both static fqdn and dynamic dns based fqdn approaches 3\ when to use fqdn instead of static ip scenario recommendation sip infra hosted on cloud (aws, azure, gcp) use fqdn customer sbc has load balancer or ha proxy use fqdn ip addresses change due to autoscaling/load shifting use fqdn on prem setup with fixed static ips use static ip fqdn is best suited when your ip address is not guaranteed to remain fixed or you have redundant/public facing sip endpoints 4\ how it works customer provides an fqdn that resolves to their sbc/public sip gateway exotel adds this fqdn in the trunk configuration during each sip call, exotel queries dns to resolve the ip call is routed based on the returned a/aaaa record(s) note exotel performs dns resolution on each call attempt to support failover and dynamic environments note – vsip throttling exotel enforces a default vsip rate limit of 200 calls per minute (cpm) per trunk to safeguard carrier capacity and call quality if your traffic profile requires a higher burst rate, raise a request via your csm or support ticket the capacity planning team will review historical traffic, carrier limits, and qos requirements and can increase the throttling threshold accordingly 5\ configuration requirements on customer side expose sip server using a public fqdn (e g , sip companydomain com) ensure dns a or aaaa records point to valid, routable ip(s) sip server must be reachable on tcp or tls as applicable support g 711 codecs and standard rtp port ranges on exotel side (done by exotel ops) default\ trunk is configured with fqdn instead of ip default\ dns lookups are enabled in trunk routing logic default\ media ip range is kept open as per standard pop setup 6\ sip trunk parameters (via fqdn) sample configuration (asterisk) \[general] externip = \<your public ip> localnet = 192 168 0 0/16 \[exotelvsip fqdn] type = friend context = incoming fromdomain = \<accountsid> pstn exotel com host = sip customerdomain com port = 5070 ; or 443 for tls transport = tcp ; or tls if using encrypted trunk disallow = all allow = alaw allow = ulaw nat = force rport insecure = port canreinvite = no sendrpid = yes trustrpid = yes relaxdtmf = yes encryption = yes ; only if using tls with srtp sip parameters summary parameter example sip peer fqdn sip customerdomain com port 5070 (tcp) / 443 (tls) transport tcp or tls media ip range 10000–40000 (udp) dns record type a (ipv4) / aaaa (ipv6) parameter example sip peer fqdn sip customerdomain com port 5070 (tcp) / 443 (tls) transport tcp or tls media ip range 10000–40000 (udp) dns record type a (ipv4) / aaaa (ipv6) 7\ advantages of fqdn based approach no need for ip whitelisting reduces manual acl changes supports redundancy load balancer ips can be rotated behind the same fqdn cloud friendly ideal for cloud native sip deployments failover friendly multiple a records supported for active/passive routing 8\ best practices ttl for dns entries should be low (e g , 30s–60s) for fast failover use reliable dns hosting with high availability ensure sip firewall rules allow calls from exotel media ips avoid using cname records for sip endpoints (use a/aaaa directly) 8 1 sip message format and header behavior sip message format (fqdn mode – tcp transport) a invite from exotel to customer via fqdn (inbound) this is how exotel delivers a call to your sbc or pbx using a public dns hostname instead of a static ip sample invite (inbound via fqdn) sip invite sip +91xxxxxxxxxx\@sip customer com 5070;transport=tcp sip/2 0 via sip/2 0/tcp pstn in2 exotel com;branch= from "+91aaaaaaaaaa" \<sip +91aaaaaaaaaa\@exotelt pstn exotel com> to sip +91xxxxxxxxxx\@sip customer com call id abcd1234efgh\@pstn mum1 exotel com cseq 102 invite contact sip +91aaaaaaaaaa@\<exotel media ip>\ port;transport=tcp x exotel callsid \<auto generated by exotel> x exotel legsid \<leg id> x exotel trunksid \<trunk id> p asserted identity sip +91aaaaaaaaaa\@pstn in2 exotel com p early media supported content type application/sdp content length inbound sip header reference (exotel → customer via fqdn) header mandatory description request uri yes your registered exophone and sip fqdn via yes exotel’s signaling ip + transport (tcp) from yes caller cli (could be real, masked, or exophone) to yes your pbx’s fqdn uri target call id yes dialog identifier for sip trace correlation cseq yes command sequence, starts with invite contact yes exotel’s signaling contact (for bye, ack, etc ) content type yes application/sdp content length yes sdp payload length max forwards yes loop control x exotel callsid yes exotel’s global call id — key for webhook/cdr correlation x exotel legsid yes call leg identifier x exotel trunksid yes identifies the virtual sip trunk provisioned to you p asserted identity yes validated cli presented by exotel p early media optional indicates early rtp media (if exotel connects media pre 200 ok) key take aways for fqdn mode dns resolution – exotel resolves your fqdn on every call; keep ttl ≤ 60s for rapid fail over certificates (tls) – for secure trunks, your sbc’s cert cn/san should match the fqdn exotel is dialling logging – always capture x exotel callsid + call id to join sip pcaps with exotel dashboards 9\ troubleshooting issue cause fix call fails to reach sbc fqdn not resolving or dns ttl delay use dig/nslookup to verify resolution one way audio media ports blocked open udp 10000–40000 repeated 408 errors dns record ttl mismatch reduce dns ttl and ensure ip is reachable 10\ support for fqdn based trunk configuration share your fqdn and port with your exotel account manager exotel will provision the trunk using dns based routing test connectivity using sipp, sngrep, or call traces for help contact support exotel com with fqdn, dns setup, and logs
🤔
Have a question?
Our knowledgeable support team and an awesome community will get you an answer in a flash.
To ask a question or participate in discussions, you'll need to authenticate first.