Setting up a DID (Direct Inward Dialing) number should be straightforward, but anyone who’s done it more than a few times knows the reality: something almost always goes wrong. Maybe inbound calls silently fail, maybe audio only works in one direction, or maybe a ported number sits in limbo for weeks. These problems aren’t exotic. They’re predictable, and most of them trace back to a handful of configuration mistakes that get repeated across organizations of every size.
I’ve seen teams burn hours troubleshooting what turned out to be a single mistyped IP address or a firewall rule nobody remembered adding. The frustrating part is that resolving common DID number setup issues usually takes minutes once you know where to look. The trick is knowing where to look. This guide covers the most frequent problems that surface during DID provisioning and daily operation, with specific fixes you can apply right away. Whether you’re managing a single office PBX or a multi-site deployment, these are the issues that will bite you first and the ones worth preventing before they cost you missed calls and lost revenue.
Troubleshooting Inbound Call Failures and Connectivity
When inbound calls to your DID number fail entirely, the problem almost always lives in one of three places: SIP registration, network-level blocking, or security configuration. Before you start changing settings at random, narrow down which layer is causing the failure. A quick SIP trace from your PBX will usually point you in the right direction within seconds.
Verifying SIP Trunk Registration and Authentication
The first thing to check is whether your SIP trunk is actually registered with your provider. Open your PBX admin panel and look at the trunk status. If it shows “unreachable” or “unregistered,” the issue is almost certainly credential-related or network-related.
Common culprits include mismatched usernames, incorrect authentication passwords, or a wrong registrar domain. Some providers use IP-based authentication instead of credentials, which means your PBX’s outbound IP must match exactly what’s on file. If your server recently changed public IPs (common with cloud-hosted PBX systems), your trunk will silently stop registering.
Run a packet capture or enable SIP debug logging to see the actual SIP REGISTER messages. Look for 401 Unauthorized or 403 Forbidden responses. A 401 followed by a successful re-registration with credentials is normal. A 403, on the other hand, means the provider is actively rejecting your connection, and you’ll need to verify your account status and credentials with them directly.
Resolving NAT Traversal and Firewall Blocks
NAT (Network Address Translation) is the single most common source of connectivity headaches with SIP. Your PBX sits behind a router with a private IP, but SIP packets need to carry the correct public IP for the provider to route responses back. If your PBX sends its private 192.168.x.x address in SIP headers, the provider’s responses go nowhere.
Most PBX platforms have a NAT configuration section where you specify your external IP and local network ranges. On FreePBX and Asterisk, this lives in the SIP settings under “External Address” and “Local Networks.” If you’re behind a dynamic IP, you’ll need to use a STUN server or set up a script that updates the external address automatically.
Firewalls are equally problematic. SIP typically uses port 5060 (UDP or TCP) and 5061 for TLS. If your firewall blocks these ports or applies SIP ALG (Application Layer Gateway), calls will fail unpredictably. SIP ALG, in particular, is notorious for rewriting SIP headers in ways that break call setup. Disable it on your router if you’re experiencing intermittent registration drops or one-way audio.
Checking IP Whitelisting and Security Settings
Many SIP providers require you to whitelist the IP addresses that will send traffic to their servers. If your PBX’s public IP isn’t on the provider’s allowed list, all SIP traffic gets dropped before authentication even happens.
Check your provider’s portal for an IP whitelist or ACL (Access Control List) section. Add your current public IP, and if you’re using a cloud PBX, remember that the IP might differ from what you see on your local machine. Use a tool like “curl ifconfig.me” from the PBX server itself to confirm. On your own side, make sure your firewall allows inbound traffic from the provider’s SIP and media IP ranges, which they should publish in their documentation.
Addressing Audio Quality and One-Way Audio Problems
Calls connect, but nobody can hear anything, or only one side has audio. This is arguably more frustrating than calls failing outright because the SIP signaling is working correctly. The problem lives in the media layer: the actual RTP (Real-time Transport Protocol) streams that carry voice data.
Matching Supported Codecs Between Provider and PBX
A codec mismatch won’t always cause a call to fail. Sometimes the call connects, but audio is garbled, choppy, or completely absent. Your PBX and provider need to agree on at least one common codec during call setup.
The most widely supported codecs are G.711 (ulaw/alaw) and G.729. G.711 offers the best audio quality but uses more bandwidth (about 87 kbps per call). G.729 is more bandwidth-efficient but requires a license on some PBX platforms. Check your provider’s documentation for their supported codec list, then configure your PBX trunk to offer those codecs in the preferred order.
If you’re seeing calls connect with no audio at all, check whether both sides actually negotiated a codec successfully. The SIP 200 OK response contains an SDP (Session Description Protocol) body that lists the agreed codec. If the SDP shows a codec your PBX doesn’t actually support, you’ve found your problem.
Configuring Port Forwarding for RTP Traffic
RTP traffic uses a range of UDP ports, typically 10000-20000, though this varies by PBX platform. If your firewall doesn’t forward this entire range to your PBX server, audio packets get dropped. This is the most common cause of one-way audio: the outbound RTP from your PBX reaches the provider, but the inbound RTP from the provider can’t reach your PBX.
Set up port forwarding for the full RTP range on your router, pointing to your PBX’s internal IP. On Asterisk-based systems, the RTP port range is defined in rtp.conf. Make sure the range in your PBX config matches the range you’ve forwarded. For cloud-hosted PBX systems, ensure the security group or cloud firewall allows inbound UDP on these ports from the provider’s media server IPs.
Correcting Routing and Number Formatting Errors
Your DID is active, your trunk is registered, and audio works on test calls, but real inbound calls ring to the wrong place or don’t match any route. Number formatting mismatches are the silent killer of DID setups, especially in multi-country deployments.
Managing E.164 Format and Country Code Requirements
E.164 is the international standard for phone number formatting: a plus sign followed by the country code and subscriber number, with no spaces or dashes. For example, a US number looks like +12125551234. Some providers send inbound calls with the full E.164 format, while others strip the country code or the leading plus sign.
The mismatch happens when your PBX expects one format but receives another. If your inbound route is configured to match “2125551234” but the provider sends “+12125551234,” the call won’t match any route and will either go to a default destination or get rejected entirely.
Check your PBX’s inbound call logs to see exactly what number format arrives. Then configure your inbound routes to match that format, or use a dial plan manipulation rule to normalize incoming numbers before they hit the routing logic. Most PBX platforms support regular expressions or pattern matching for this purpose. Set up a rule that strips or adds the country code as needed, and you’ll avoid this problem across all your DIDs.
Configuring Inbound Routes and Extension Mapping
Even with correct number formatting, calls can fail to route properly if your inbound route configuration has gaps. Each DID number needs an explicit inbound route that maps it to a destination: a ring group, queue, IVR, or specific extension.
A common mistake is setting up the DID in the provider’s portal but forgetting to create the corresponding inbound route in the PBX. Another frequent issue is duplicate routes, where two routes match the same DID pattern and the PBX picks the wrong one based on priority order. Audit your inbound routes after every new DID activation. Make sure each number maps to exactly one destination and test it with an external call, not just an internal transfer.
Resolving Caller ID and Outbound Presentation Issues
Outbound caller ID problems are sneaky because they don’t affect call completion. Calls go through fine, but the wrong number (or no number) shows up on the recipient’s phone. This erodes trust and can violate regulations in some jurisdictions.
Adjusting P-Asserted-Identity and Remote-Party-ID Headers
SIP uses several headers to communicate caller identity, and different providers handle them differently. The three main ones are the From header, P-Asserted-Identity (PAI), and Remote-Party-ID (RPID). Your provider may honor one and ignore the others.
If your outbound caller ID isn’t displaying correctly, first confirm in your provider’s portal that the DID is authorized for outbound caller ID use. Providers typically won’t present a number you haven’t verified ownership of, especially with STIR/SHAKEN regulations in effect. Then check which header your PBX is sending the caller ID in. Some providers only read PAI, so if your PBX is putting the caller ID in the From header alone, it gets ignored.
On Asterisk-based systems, you can control this with the “sendrpid” and “pai” trunk options. Set “sendrpid=pai” to include the P-Asserted-Identity header. For other platforms, look for the outbound caller ID or trunk identity settings. Test by calling a mobile phone and checking what number appears, since landlines and mobiles can display caller ID differently depending on the carrier.
Handling Porting Delays and Activation Failures
Number porting is where DID setup issues move from technical to procedural, and the frustration multiplies. A standard port in the US takes 7-10 business days for landline numbers, though wireless numbers can sometimes port faster. International ports vary wildly: some countries complete in days, others take weeks.
The most common reason for porting delays is an LOA (Letter of Authorization) rejection. The name, address, and account number on your LOA must match your current carrier’s records exactly. Even a minor discrepancy, like “St.” versus “Street,” can trigger a rejection that adds another week to the process. Call your current carrier and ask them to confirm the exact account details before submitting the LOA.
Partial port failures happen when you’re porting a block of numbers and some succeed while others don’t. This usually means certain numbers in the block are on a different account or rate center. Your new provider should be able to identify which numbers failed and why, so you can submit a corrected request for just those numbers.
Once a port completes, test immediately. Don’t assume everything is working. Place test calls to every ported number and verify they route correctly, because porting completion doesn’t guarantee your PBX configuration is ready to receive those calls.
Best Practices for Ongoing DID Management and Monitoring
Getting your DIDs working is only half the battle. Keeping them working requires ongoing attention. Set up monitoring for your SIP trunks that alerts you when registration drops. Most PBX platforms support SNMP or webhook-based alerts, and third-party monitoring tools like Nagios or PRTG can check SIP trunk status at regular intervals.
Maintain a spreadsheet or database of every DID you own, its provider, its assigned destination, and its activation date. This sounds basic, but I’ve seen organizations with hundreds of DIDs and no central record, leading to numbers that ring to disconnected extensions or abandoned queues. Audit this list quarterly.
Keep your PBX firmware and SIP stack updated. Security vulnerabilities in SIP implementations are discovered regularly, and an unpatched PBX is an invitation for toll fraud, where attackers hijack your trunks to make expensive international calls. Enable SIP TLS and SRTP where your provider supports it to encrypt both signaling and media.
Document every configuration change. When something breaks six months from now, you’ll want to know exactly what changed and when. A simple change log in a shared document is better than nothing.
The process of resolving DID number setup issues gets faster the more disciplined you are about documentation and monitoring. Most problems are preventable with the right habits. Build those habits now, and you’ll spend far less time firefighting later.
If you’re looking for a provider that simplifies DID management and pairs it with modern automation, IDT Express offers Voice AI Agents that can handle everything from inbound call routing to lead capture, with measurable ROI within weeks. Get started here and see how their platform fits your call operations.

