Q.850 causes

Q.850 cause 20 (Subscriber absent): what it means

Short answer: Q.850 cause 20 (Subscriber absent) means the subscriber cannot be reached: a mobile phone that is off or has no signal, or a user not registered on any interface. It is a normal cause and does not point to a trunk failure. It becomes a problem when it happens on an extension or destination that should always be registered, or on many numbers at once.

Cause 20 in the reference
Cause20
Official name (ITU-T Q.850)Subscriber absent
ClassNormal event (1 to 31)
SIP response per RFC 3398SIP 480 Temporarily Unavailable

How Monitor treats cause 20

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.

Cause 20 also decides how a SIP 480 is read, since on its own a 480 does not say whether the destination rang or nothing answered:

What should answer the numberSIP 480 with cause 20
A greeting or recorded message (the IVR)Down
A test tone or echo serviceDown
Other: it may ring or be answeredDown

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 20 mean in practice?

Q.850 cause 20, Subscriber absent, is used when the mobile station has left the network, when there is no radio contact with it, or when a user is not addressable on any user-network interface. In IP telephony, the direct equivalent is an extension with no active registration. The cause is in the normal class: the network worked and found the subscriber absent. Under RFC 3398 (section 7.2.4.1), cause 20 becomes SIP 480 Temporarily Unavailable. It arrives in the ISUP REL on SS7 links and, in SIP, can come in a Reason: Q.850;cause=20 (RFC 6432). In Asterisk, ${HANGUPCAUSE} is set to 20, and the CDR shows hangupcause 20 when the installation records that field. Because the same 480 is also used for other situations, only the Reason confirms that the subscriber is absent.

When it appears

  • A mobile phone that is switched off, out of battery or outside the coverage area.
  • A mobile phone in airplane mode or with no active SIM.
  • A SIP extension with no registration: phone off, softphone closed or registration expired.
  • A remote extension that lost its internet connection.
  • A call to a mobile number the destination carrier cannot locate at that moment.

How to diagnose it

  1. Confirm whether the destination is a mobile phone or an extension. With a mobile phone that is off, the cause is expected and there is nothing to fix on the trunk.
  2. For extensions, use pjsip show contacts (or sip show peers in chan_sip) and see whether the extension has a registered contact.
  3. Check the registration expiry time and whether the phone renews before it expires.
  4. In sngrep, check whether the 480 came with Reason: Q.850;cause=20 and from which device.
  5. In 3CX, the extensions panel shows which ones are registered; cross-check it with the time of the failure.
  6. If the cause appears for many different numbers at the same time, it is not an absent subscriber: investigate the route.

What to send the carrier

  • Usually nothing: an absent subscriber is a condition at the destination.
  • If many different numbers return 20 at the same time: date, time and time zone, and the list of B numbers.
  • The Call-ID, the SIP/2.0 480 Temporarily Unavailable line and the Reason.
  • The test through another line showing that the destinations were switched on and completing calls.

Frequently asked questions

Does a mobile phone that is switched off always return cause 20?

Not always. It depends on how the destination carrier handles the case: some return cause 20, others play a switched-off or out-of-area announcement before clearing, and others use cause 18 or 31. On calls to mobile phones, what reaches your PBX depends on the interconnection and on how each network translates the cause to SIP.

Is cause code 20 on a 4G modem the same thing?

No. The 'cause codes' in LTE EMM and ESM messages come from a different table, defined by 3GPP, with different meanings. Q.850 cause 20 belongs to telephony: it appears in ISUP, ISDN and the SIP Reason header. If the number shows up in a modem or phone log, look it up in the 3GPP table, not Q.850.

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.