SIP 408 Request Timeout: o que significa e como resolver
Resposta curta: SIP 408 Request Timeout significa que a requisição não teve resposta a tempo. Ou o servidor não conseguiu localizar o destino a tempo, ou o próprio equipamento de origem desistiu depois de esperar. A causa mais comum é rede: firewall, NAT ou rota até o servidor. Capture o tráfego e veja se o INVITE sai e se alguma resposta volta.
| Código | 408 |
|---|---|
| Nome oficial | Request Timeout |
| Classe | 4xx: falha da requisição |
| Definido em | RFC 3261 |
| Causas Q.850 que costumam vir junto | 18 (No user responding), 102 (Recovery on timer expiry) |
Como o Monitor trata o SIP 408
A leitura depende do que deve atender o número, a pergunta que a 2N5 responde ao cadastrar cada circuito. Estas são as regras que o produto aplica hoje, geradas da mesma função que julga cada chamada de teste.
| O que deve atender o número | Leitura |
|---|---|
| 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 |
O que o Monitor registra para uma URA: A operadora não respondeu à chamada a tempo (SIP 408).
Uma chamada lida como Fora do ar não alerta ninguém sozinha: ela é repetida 3 vezes, a cada 2 minutos, e só 4 falhas seguidas abrem um incidente, com o código SIP e a causa Q.850 de cada chamada como evidência para a operadora. No ritmo padrão, cada circuito é testado a cada 15 minutos.
Se a operadora devolve o SIP 408 ao registro da conta de chamadas da 2N5, antes de qualquer chamada, o teste fica sem visibilidade: é um problema do lado da 2N5, não conta contra o circuito e não avisa o cliente.
O que significa o SIP 408 na prática?
Pela RFC 3261, o SIP 408 Request Timeout indica que o servidor não conseguiu produzir uma resposta num tempo adequado, por exemplo porque não localizou o usuário a tempo. O cliente pode repetir a requisição mais tarde, sem alterações.
Na prática, o erro 408 SIP tem duas origens. Pode vir de um servidor no caminho, como o proxy da operadora ou o PABX de destino, que repassou a chamada e não recebeu resposta. Ou pode ser gerado localmente pelo seu PABX, quando o INVITE não teve resposta nenhuma até o temporizador B expirar. Em chamadas que vêm da telefonia convencional, ele costuma corresponder à Q.850 cause 18; no sentido contrário, à Q.850 cause 102. Em todos os casos, alguém parou de responder.
Causas comuns no Brasil
- Firewall ou regra de NAT bloqueando as respostas SIP que voltam da operadora, depois de uma troca de roteador ou de link.
- Ramal de destino que aparece como registrado no Asterisk, Issabel, FreePBX ou 3CX, mas cujo mapeamento de NAT expirou e já não recebe o INVITE.
- INVITE grande demais sobre UDP, com muitos codecs ou headers, fragmentado no caminho e descartado por algum equipamento.
- Servidor da operadora indisponível ou rota de internet instável até ele.
- DNS do tronco apontando para um servidor desativado.
- Telefone IP desligado ou sem rede, com o registro ainda válido no PABX.
Como diagnosticar
- Capture com
sngrep port 5060e confirme se o INVITE sai, quantas retransmissões acontecem e se volta algum 100 Trying. - No Asterisk ou FreePBX, ative
pjsip set logger on(ousip set debug onno chan_sip). Se o 408 não aparece na rede, foi gerado localmente. - Para ramais, rode
pjsip show contacts(ousip show peers) e veja se o contato estáAvailouUnavail, com o tempo de resposta do qualify. - Verifique o tamanho do INVITE na captura. Se passa de cerca de 1.300 bytes, reduza a lista de codecs ou teste o tronco em TCP.
- Rode
tcpdump -i any -w trace.pcap port 5060também no roteador ou firewall, se possível, para ver onde a mensagem se perde. - No 3CX, ative o “Verbose logging” e confira no log de atividade se o tronco ou o ramal ficou sem resposta.
O que mandar para a operadora
- Data e hora com fuso horário das chamadas sem resposta.
- Número de origem (A) e número chamado (B).
- Call-ID de uma chamada afetada e o horário de cada retransmissão do INVITE.
- A linha completa do 408, se ele veio da rede, e o header Reason com a causa Q.850, se houver.
- O IP e a porta de destino usados e quantas tentativas falharam.
- O pcap capturado na borda da sua rede.
Perguntas frequentes
O 408 sempre vem da operadora?
Não. Pela RFC 3261, quando um INVITE fica sem nenhuma resposta até o temporizador B expirar (32 segundos com os valores padrão), o próprio equipamento de origem trata a falha como 408. Muitas vezes nenhum 408 passou pela rede. Se a captura mostra o INVITE saindo e nada voltando, o problema está no caminho ou no servidor de destino.
Que causa Q.850 acompanha o 408?
Pela RFC 3398, a Q.850 cause 18 (No user responding) é convertida em 408 quando a chamada sai da rede de telefonia para o SIP. No sentido inverso, um 408 que entra na rede de telefonia vira a Q.850 cause 102 (Recovery on timer expiry). As duas falam de tempo esgotado sem resposta do destino.