Q.850 causes

Q.850 cause 3 (No route to destination): what it means

Short answer: Q.850 cause 3 (No route to destination) means the network that cleared the call has no path to the called number's network, although the number may exist. It usually appears with prefixes not enabled on the contracted plan or with missing interconnection routes. Test the same destination through another carrier and send the trace to yours.

Cause 3 in the reference
Cause3
Official name (ITU-T Q.850)No route to destination
ClassNormal event (1 to 31)
SIP response per RFC 3398SIP 404 Not Found

How Monitor treats cause 3

When the carrier gives the Q.850 cause in the Reason header of the SIP response, Monitor keeps it beside the SIP code on every test call, and it appears in the incident's evidence, ready for the ticket with the carrier.

Like any failure, a test call read as Down is repeated 3 times, every 2 minutes, and only 4 failures in a row open an incident.

What does cause 3 mean in practice?

Q.850 cause 3, No route to destination, says the switch that received the call does not know how to reach the network where the destination lives. Unlike cause 1, it does not claim the number is deactivated: the number may work normally when dialed through another network. The cause is in the normal class and travels in the ISUP REL message on SS7 links, in the ISDN DISCONNECT on an E1 PRI, or in a Reason: Q.850;cause=3 header (RFC 6432) on SIP trunks. RFC 3398 (section 7.2.4.1) maps cause 3 to SIP 404 Not Found, the same response as cause 1, so a 404 on its own is not enough to tell the two apart. In Asterisk, the ${HANGUPCAUSE} variable is set to 3. Note: on mobile phones and LTE modems, the “cause code 3” in EMM messages comes from a different table (Illegal UE) and has nothing to do with this cause.

When it appears

  • Destinations outside the contracted plan: international numbers, 0300, 0500 or 0900 numbers not enabled on the trunk.
  • Calls to a carrier your carrier has no route configured to for that prefix.
  • A new or recently ported prefix that the carrier’s routing table does not yet recognize.
  • An intermediate SBC or gateway with no outbound route for the dialed pattern, which clears with cause 3 instead of passing the call on.
  • A PBX with the wrong outbound route, sending the number through a trunk that only accepts local calls.

How to diagnose it

  1. Dial the same number through another carrier or from a mobile phone. If it completes, the number exists and the problem is the route.
  2. Test other numbers in the same prefix to find out whether the missing route affects the whole prefix or a single number.
  3. Turn on pjsip set logger on and check whether the 404 carries Reason: Q.850;cause=3; without the Reason, ask the carrier for the original cause.
  4. In FreePBX or Issabel, check under Outbound Routes which route matched the dialed pattern and which trunk the call went out on.
  5. In 3CX, turn on Verbose logging and see in the Activity Log which trunk was used and the response received.
  6. On an ISDN E1, use pri set debug on span 1 and read the cause’s location field: it shows whether the rejection came from the local network, the transit network or the remote network.

What to send the carrier

  • Date and time of each attempt, with the time zone.
  • The A and B numbers as they went out, and the affected prefix.
  • The Call-ID, the SIP/2.0 404 Not Found line and the Reason header received.
  • The result of the test through the other path (the number completes through another carrier or from a mobile phone).
  • The explicit request: confirm whether the prefix is enabled on the plan and routed on the interconnection.

Frequently asked questions

Why does the carrier return 404 if the number exists?

Because RFC 3398 maps both cause 1 (unassigned number) and cause 3 (no route) to SIP 404 Not Found. The 404 only says the network did not complete the call to that number. A Reason header with cause=3, or the trace on the TDM side, shows that the number may exist and that what is missing is the route.

Does enabling international or 0300 calling on the trunk fix cause 3?

If the destination was outside the contracted plan, yes: the carrier enables the prefix and the call gets a route. If the prefix was already enabled, the missing route is further along, in an interconnection or an outdated table, and only the carrier can fix it. That is why it pays to send example numbers and times.

Know before your customers do

Monitor calls every voice circuit all day and delivers each failure with the SIP code and the Q.850 cause as evidence.