Q.850 cause 20 (Subscriber absent): o que significa
Resposta curta: Q.850 cause 20 (Subscriber absent) indica que o assinante não está alcançável: celular desligado ou sem sinal, ou usuário não registrado em nenhuma interface. É uma causa normal e não aponta falha do tronco. Vira problema quando acontece num ramal ou destino que deveria estar sempre registrado, ou em muitos números ao mesmo tempo.
| Causa | 20 |
|---|---|
| Nome oficial (ITU-T Q.850) | Subscriber absent |
| Classe | Evento normal (1 a 31) |
| Resposta SIP pela RFC 3398 | SIP 480 Temporarily Unavailable |
Como o Monitor trata a causa 20
Quando a operadora informa a causa Q.850 no cabeçalho Reason da resposta SIP, o Monitor a guarda junto com o código SIP em cada chamada de teste, e ela aparece na evidência do incidente, pronta para o chamado na operadora.
A causa 20 também decide a leitura de um SIP 480, que sozinho não diz se o destino tocou ou se nada respondeu:
| O que deve atender o número | SIP 480 com causa 20 |
|---|---|
| Uma saudação ou mensagem gravada (a URA) | Fora do ar |
| Um tom de teste ou serviço de eco | Fora do ar |
| Outro: pode tocar ou ser atendido | Fora do ar |
Como qualquer falha, uma chamada de teste lida como Fora do ar é repetida 3 vezes, a cada 2 minutos, e só 4 falhas seguidas abrem um incidente.
O que significa a causa 20 na prática?
A Q.850 cause 20, Subscriber absent, é usada quando a estação móvel saiu da rede, quando não há contato de rádio com ela ou quando um usuário não está endereçável em nenhuma interface usuário-rede. Em telefonia IP, o equivalente direto é um ramal sem registro ativo. A causa é da classe normal: a rede funcionou e encontrou o assinante ausente. Pela RFC 3398 (seção 7.2.4.1), a causa 20 vira SIP 480 Temporarily Unavailable. Ela chega na REL do ISUP em links SS7 e, em SIP, pode vir num Reason: Q.850;cause=20 (RFC 6432). No Asterisk, ${HANGUPCAUSE} fica em 20, e o CDR mostra hangupcause 20 quando a instalação grava esse campo. Como o mesmo 480 também é usado para outras situações, só o Reason confirma que se trata de assinante ausente.
Quando ela aparece
- Celular desligado, sem bateria ou fora da área de cobertura.
- Celular em modo avião ou sem chip ativo.
- Ramal SIP sem registro: telefone desligado, softphone fechado ou registro expirado.
- Ramal remoto que perdeu a conexão de internet.
- Chamada para um número móvel que a operadora de destino não consegue localizar no momento.
Como diagnosticar
- Confirme se o destino é celular ou ramal. Num celular desligado, a causa é esperada e não há nada a corrigir no tronco.
- Para ramais, use
pjsip show contacts(ousip show peersno chan_sip) e veja se o ramal tem contato registrado. - Veja o tempo de expiração do registro e se o telefone renova antes de expirar.
- No
sngrep, confira se o 480 veio comReason: Q.850;cause=20e de qual equipamento. - No 3CX, o painel de ramais mostra quais estão registrados; cruze com o horário da falha.
- Se a causa aparece para muitos números diferentes ao mesmo tempo, não é ausência de assinante: investigue a rota.
O que mandar para a operadora
- Em geral, nada: assinante ausente é uma situação do destino.
- Se muitos números distintos retornam 20 ao mesmo tempo: data, hora e fuso, e a lista de números B.
- Call-ID, a linha
SIP/2.0 480 Temporarily Unavailablee o Reason. - O teste por outra linha mostrando que os destinos estavam ligados e completavam.
Perguntas frequentes
Celular desligado sempre retorna cause 20?
Não sempre. Depende de como a operadora de destino trata o caso: algumas devolvem a causa 20, outras tocam um anúncio de desligado ou fora da área antes de encerrar, e outras usam a causa 18 ou 31. Em chamadas para celular, o que chega ao seu PABX depende da interconexão e de como cada rede traduz a causa para SIP.
Cause code 20 num modem 4G é a mesma coisa?
Não. Os 'cause codes' das mensagens EMM e ESM em LTE são de outra tabela, definida pela 3GPP, com outros significados. A Q.850 cause 20 é da telefonia: aparece no ISUP, no ISDN e no cabeçalho Reason do SIP. Se o número aparece num log de modem ou de celular, consulte a tabela da 3GPP, não a Q.850.