Códigos SIP

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.

SIP 408 na referência
Código408
Nome oficialRequest Timeout
Classe4xx: falha da requisição
Definido emRFC 3261
Causas Q.850 que costumam vir junto18 (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úmeroLeitura
Uma saudação ou mensagem gravada (a URA)Fora do ar
Um tom de teste ou serviço de ecoFora do ar
Outro: pode tocar ou ser atendidoFora 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

  1. Capture com sngrep port 5060 e confirme se o INVITE sai, quantas retransmissões acontecem e se volta algum 100 Trying.
  2. No Asterisk ou FreePBX, ative pjsip set logger on (ou sip set debug on no chan_sip). Se o 408 não aparece na rede, foi gerado localmente.
  3. Para ramais, rode pjsip show contacts (ou sip show peers) e veja se o contato está Avail ou Unavail, com o tempo de resposta do qualify.
  4. 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.
  5. Rode tcpdump -i any -w trace.pcap port 5060 também no roteador ou firewall, se possível, para ver onde a mensagem se perde.
  6. 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.

Saiba disso antes dos seus clientes

O Monitor liga para cada circuito de voz o dia todo e entrega cada falha com o código SIP e a causa Q.850 como prova.