Códigos SIP

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.

SIP 481 na referência
Código481
Nome oficialCall/Transaction Does Not Exist
Classe4xx: falha da requisição
Definido emRFC 3261
Causas Q.850 que costumam vir junto41 (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ú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 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

  1. Capture com sngrep port 5060 e encontre a mensagem que recebeu 481: BYE, CANCEL, re-INVITE, UPDATE ou INFO.
  2. 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.
  3. No Asterisk ou FreePBX, ative pjsip set logger on (ou sip set debug on no chan_sip) e confira os headers Session-Expires e Min-SE negociados.
  4. 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.
  5. Revise o tempo de expiração de UDP no firewall e desative o SIP ALG do roteador.
  6. 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.

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.