
Real-Time Carrier Feedback: What Your SIP Responses Are Telling You About Deliverability
SIP response codes and ISDN cause values are a live data stream on the health of your outbound campaign — most teams look at connect rate; the teams that win look at the failure codes.
Why SIP Responses Are a Deliverability Signal
Every outbound call attempt generates a SIP response. A 200 OK means the call was answered. A 486 Busy Here means the called party was engaged. But the codes that matter most for deliverability analysis are the ones in the 4xx, 5xx, and 6xx ranges that signal carrier-side rejection before the call ever reaches the consumer.
When a carrier's analytics engine flags a number as suspected spam, it does not always display a "Scam Likely" label and let the call through. On some carrier networks, flagged calls are silently dropped or returned with a 603 Decline before they ring. A campaign with rising 603 and 480 (Temporarily Unavailable) rates that does not correspond to a time-of-day pattern is showing early-warning spam-drop behavior.
Most dialer platforms report a single connect-rate metric. The teams that catch label problems early are tracking individual SIP response code distributions, not just the aggregate connect number.
The Codes That Matter for Deliverability
486 Busy Here — the endpoint is engaged. Normal in any campaign; elevated rates during non-peak hours suggest call screening behavior (consumers declining with busy rather than letting calls ring through).
480 Temporarily Unavailable — the number exists but is not reachable. Single occurrences are noise; sustained rates above 8–10% on a list that was valid last week suggest the numbers on your contact list are stale or disconnected. Also appears when carriers throttle inbound traffic to a specific area code under congestion.
603 Decline — this is the one to watch. 603 from the carrier (not the endpoint) typically means the call was rejected before it rang. In the context of a campaign running against a known-good contact list, a spike in 603 returns is often carrier-side spam filtering in action.
404 Not Found / 410 Gone — number is disconnected or ported away. High rates indicate a list hygiene problem, not a deliverability problem, but stale lists that generate many disconnects can themselves contribute to elevated per-number complaint rates if your dialer retries aggressively.
503 Service Unavailable — carrier or route capacity issue. Relevant for campaigns that push high concurrent call volume and may be hitting capacity limits on a specific route.
Building a Response-Code Dashboard
Your dialer CDR data contains the SIP response for every call attempt. Most platforms expose this as a raw field that gets aggregated away in standard reporting. To use it for deliverability monitoring:
- Export or stream CDR data to your BI layer (a simple PostgreSQL table or BigQuery export works)
- Group by: originating number, SIP response code, hour of day, and terminating carrier (derivable from the dialed number's LERG data)
- Alert on: 603 Decline rate exceeding 5% of attempts from any single originating number over a rolling 4-hour window
At that threshold, pull the number from active dialing, check its label status on consumer handsets, and investigate before returning it to the pool.
Correlating Response Codes With Campaign Behavior
Response-code analysis becomes most powerful when correlated with campaign behavior. Two specific correlations to monitor:
High 603 rate + recent volume spike on that number. This is the classic overuse signature: you pushed too many calls through a single number, triggered an analytics engine review, and the carrier began rejecting calls before ring. Volume distribution across a number pool prevents this pattern from developing.
High 486 rate on numbers with no prior label history. If consumers are deliberately declining with busy rather than letting calls go to voicemail, it may indicate that a warning label appeared on their device even without a carrier-level drop. The label is still delivering a "don't answer" message, just at the consumer level rather than the carrier level.
SIP Response Codes in International Markets
Outside US and CA, SIP response code semantics are broadly consistent (they are standardized in RFC 3261 and ITU-T Q.850), but carrier behavior differs. German carriers in particular are known to return 403 Forbidden for calls from numbers that do not match the originating carrier's routing tables — this can be mistaken for a spam-label drop when it is actually a routing configuration issue.
When expanding to new markets, capture a 5-day baseline of response-code distributions before drawing any deliverability conclusions. What looks like a spam-drop pattern on day one may be route negotiation settling. UnlimCall's 33-market network routes through local carrier relationships in each country, which reduces the incidence of this class of false-positive.
Connecting Response-Code Monitoring to Pacing
SIP response data should feed back into dialing pacing, not just alerting. If a response-code monitor identifies that 15% of calls from a specific number are returning 603, automatically reducing call velocity on that number — rather than waiting for a human to notice — prevents the problem from compounding.
This is the link between real-time carrier feedback and pacing strategy: pacing is not just about abandonment rate compliance, it is about dynamically protecting number health based on what the carrier is telling you in real time.
Takeaways
SIP response codes are a free, real-time data stream on the health of your outbound deliverability. Build a dashboard that tracks 4xx and 6xx distributions per originating number, alert on 603 Decline spikes, and feed that data back into pacing adjustments. Most teams ignore this data until their connect rate collapses; the teams that monitor it catch problems when they are still cheap to fix.
Flat-Rate SIP Trunking With Full CDR Visibility
UnlimCall gives you complete SIP CDR data on every call attempt across 33 markets. See what the network costs at /pricing/.