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 |
|---|---|
| Official name (ITU-T Q.850) | Subscriber absent |
| Class | Normal event (1 to 31) |
| SIP response per RFC 3398 | SIP 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 number | SIP 480 with cause 20 |
|---|---|
| A greeting or recorded message (the IVR) | Down |
| A test tone or echo service | Down |
| Other: it may ring or be answered | Down |
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
- 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.
- For extensions, use
pjsip show contacts(orsip show peersin chan_sip) and see whether the extension has a registered contact. - Check the registration expiry time and whether the phone renews before it expires.
- In
sngrep, check whether the 480 came withReason: Q.850;cause=20and from which device. - In 3CX, the extensions panel shows which ones are registered; cross-check it with the time of the failure.
- 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 Unavailableline 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.