SIP 481 Call/Transaction Does Not Exist: o que significa e como resolver
Resposta curta: SIP 481 Call/Transaction Does Not Exist significa que o servidor recebeu uma requisição que não corresponde a nenhum diálogo ou transação que ele conheça. A causa mais comum é um lado já ter encerrado a chamada enquanto o outro continua enviando mensagens. Se as chamadas caem sempre no mesmo minuto, revise os timers de sessão e o NAT.
| Código | 481 |
|---|---|
| Nome oficial | Call/Transaction Does Not Exist |
| Classe | 4xx: falha da requisição |
| Definido em | RFC 3261 |
| Causas Q.850 que costumam vir junto | 41 (Temporary failure) |
Como o Monitor trata o SIP 481
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 recusou a chamada (SIP 481).
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 481 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 481 na prática?
Pela RFC 3261, o SIP 481 Call/Transaction Does Not Exist indica que o servidor recebeu uma requisição que não corresponde a nenhum diálogo ou transação existente. O diálogo é identificado pelo Call-ID e pelas tags do From e do To. Se qualquer um desses valores muda no caminho, ou se um lado já esqueceu a chamada, a próxima mensagem recebe 481.
A RFC também diz que, quando uma requisição dentro do diálogo recebe 481, o cliente deve encerrar o diálogo. Por isso o erro 481 SIP raramente impede a chamada de começar. O efeito típico é a chamada que completa, fala normalmente e cai sozinha depois de alguns minutos, ou o CANCEL que chega tarde demais. Um gateway que leva o 481 para a rede de telefonia o traduz como Q.850 cause 41, falha temporária.
Causas comuns no Brasil
- Renovação do timer de sessão (re-INVITE ou UPDATE) que chega a um SBC ou PABX que já descartou a chamada, derrubando a ligação sempre no mesmo minuto.
- Mapeamento de NAT expirado no roteador durante a chamada, fazendo as mensagens seguintes chegarem a outro destino.
- SIP ALG do roteador reescrevendo tags ou o Call-ID.
- Reinício ou troca de nó do SBC da operadora ou do PABX (Asterisk, Issabel, FreePBX, 3CX) no meio de chamadas ativas.
- CANCEL enviado depois que a chamada já foi atendida ou encerrada do outro lado.
- BYE enviado pelos dois lados quase ao mesmo tempo.
Como diagnosticar
- Capture com
sngrep port 5060e encontre a mensagem que recebeu 481: BYE, CANCEL, re-INVITE, UPDATE ou INFO. - Compare o Call-ID e as tags From e To dessa mensagem com as do INVITE original. Se mudaram, algum equipamento no caminho está reescrevendo o SIP.
- No Asterisk ou FreePBX, ative
pjsip set logger on(ousip set debug onno chan_sip) e confira os headersSession-ExpireseMin-SEnegociados. - Meça a duração das chamadas que caem. Se é sempre próxima da metade do Session-Expires, o problema está na renovação da sessão.
- Revise o tempo de expiração de UDP no firewall e desative o SIP ALG do roteador.
- No 3CX, ative o “Verbose logging” e confira se o tronco recebeu o 481 da operadora ou se foi o 3CX que o enviou.
O que mandar para a operadora
- Data e hora com fuso horário do início e da queda das chamadas.
- Número de origem (A) e número chamado (B).
- Call-ID da chamada e a mensagem que recebeu o 481.
- A linha completa da resposta e o valor de Session-Expires negociado.
- Quantas chamadas caíram e se a duração se repete.
- O pcap da chamada inteira, do INVITE à queda.
Perguntas frequentes
Por que minhas chamadas caem sempre depois do mesmo tempo?
Um padrão comum é o timer de sessão (RFC 4028). Cada lado renova a sessão com um re-INVITE ou UPDATE no intervalo combinado. Se essa renovação recebe 481 ou não tem resposta, a RFC 3261 diz que o diálogo deve ser encerrado, e a chamada cai. Quando isso acontece sempre no mesmo minuto, confira o Session-Expires negociado.
Receber 481 num BYE é grave?
Normalmente não. Se o outro lado já havia encerrado a chamada e o seu BYE chega depois, o 481 só confirma que não há mais nada para encerrar. O problema é o 481 em mensagens dentro de uma chamada que ainda deveria estar ativa, como re-INVITE, UPDATE ou INFO, porque isso derruba a ligação no meio.