Q.850 cause 18 (No user responding): o que significa
Resposta curta: Q.850 cause 18 (No user responding) indica que o destino não respondeu ao pedido de chamada, nem com toque nem com atendimento, dentro do tempo previsto. Não é ocupado nem recusa: o aparelho simplesmente não reagiu. Em SIP costuma ser um ramal registrado que parou de responder, por NAT ou firewall. Confira o registro e o tráfego.
| Causa | 18 |
|---|---|
| Nome oficial (ITU-T Q.850) | No user responding |
| Classe | Evento normal (1 a 31) |
| Resposta SIP pela RFC 3398 | SIP 408 Request Timeout |
Como o Monitor trata a causa 18
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. Nas telas em português, a causa 18 aparece como: nenhum aparelho respondeu
.
A causa 18 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 18 |
|---|---|
| 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 18 na prática?
A Q.850 cause 18, No user responding, é usada quando o destino não responde ao pedido de estabelecimento com uma indicação de alerta (toque) ou de atendimento dentro do tempo previsto. A diferença para a causa 19 é que, na 19, o telefone tocou e ninguém atendeu; na 18, nem o toque foi confirmado. Pela RFC 3398 (seção 7.2.4.1), a causa 18 vira SIP 408 Request Timeout. No caminho inverso, a RFC converte o SIP 480 Temporarily Unavailable em 18, por isso um 480 da operadora pode aparecer no seu PABX como causa 18. Em SS7 ela vem na REL do ISUP; em SIP, num Reason: Q.850;cause=18 (RFC 6432). No Asterisk, ${HANGUPCAUSE} fica em 18 e, onde o CDR grava o campo, aparece como hangupcause 18.
Quando ela aparece
- Ramal SIP registrado atrás de NAT cujo mapeamento expirou: o INVITE não chega e ninguém responde.
- Softphone de celular em segundo plano que não acorda a tempo.
- Telefone IP desligado da tomada antes de o registro expirar.
- Router com SIP ALG que altera ou descarta o INVITE.
- Celular sem sinal, em redes que devolvem 18 em vez de 20.
- PABX do cliente, atrás de um 0800, que recebe o INVITE e não devolve nem 100 Trying.
Como diagnosticar
- No
sngrep, veja se o destino respondeu algo: sem 100 Trying nem 180 Ringing, o INVITE provavelmente não chegou. - No Asterisk,
pjsip show contactsmostra se o contato está disponível no qualify;pjsip show registrationsmostra o registro do seu tronco com a operadora. - Ative
qualify_frequencyno AOR (PJSIP) ouqualify=yes(chan_sip) para detectar contatos mortos antes da chamada. - Desative o SIP ALG no router e ajuste o keepalive de NAT do telefone.
- Se o 408 vem da operadora, verifique se o INVITE saiu do seu firewall com
tcpdump -i any port 5060.
O que mandar para a operadora
- Data, hora e fuso de cada tentativa.
- Números A e B.
- Call-ID e a resposta final recebida (
SIP/2.0 408 Request Timeoutou 480), com o Reason. - Se houve 100 Trying ou 180 Ringing antes da falha.
- O pcap mostrando que o INVITE saiu da sua rede.
Perguntas frequentes
Qual a diferença entre cause 18 e cause 19?
Na cause 18 (No user responding), o destino não confirmou nem o toque dentro do tempo. Na cause 19 (No answer from user, user alerted), o telefone tocou e ninguém atendeu. A primeira aponta para um equipamento inalcançável ou mudo; a segunda, para ninguém disponível. Pela RFC 3398, a 18 vira SIP 408 e a 19 vira SIP 480.
Por que um SIP 480 virou cause 18 no meu PABX?
Porque a RFC 3398 converte o SIP 480 Temporarily Unavailable em Q.850 cause 18 quando a chamada passa de SIP para a rede de telefonia. Se a operadora mandou o cabeçalho Reason, ele traz a causa original e é melhor confiar nele do que na tradução da tabela, que pode esconder uma causa 20 ou 31.