SIP 180 Ringing: o que significa e como resolver
Resposta curta: SIP 180 Ringing é uma resposta provisória: o destino recebeu o INVITE e está alertando o usuário, ou seja, o telefone está tocando. Não é falha. O problema aparece quando o 180 se repete e nada vem depois. Nesse caso, verifique se a chamada termina em 200 OK, 480 ou 487.
| Código | 180 |
|---|---|
| Nome oficial | Ringing |
| Classe | 1xx: provisória (a chamada está em andamento) |
| Definido em | RFC 3261 |
Como o Monitor trata o SIP 180
O SIP 180 sozinho não é falha: a chamada ainda está em andamento. O que conta é como ela termina. A tabela mostra a leitura de uma chamada de teste que toca até o teste parar de esperar, para cada tipo de circuito, conforme o que deve atender o número.
| 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 | Em operação |
Para "Outro": Com "Contar ringback como alcançável" desmarcado: Fora do ar.
O que o Monitor registra para uma URA: O número tocou e nada atendeu, mas este circuito deveria atender todas as chamadas sozinho.
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.
O que significa o SIP 180 na prática?
O SIP 180 Ringing é a resposta provisória que diz “o destino está tocando”. Pela RFC 3261, o agente que recebeu o INVITE está tentando alertar o usuário, e o lado que ligou pode usar esse aviso para gerar o tom de chamada localmente. O 180 cria um diálogo provisório (early dialog), mas não encerra nada: a chamada ainda espera uma resposta final, que pode ser 200 OK (atendeu), um erro 4xx, 5xx ou 6xx, ou um CANCEL de quem ligou.
Por isso o 180, sozinho, não é um diagnóstico. Ele diz que a sinalização chegou até alguém capaz de tocar. O que importa para quem monitora um tronco ou um 0800 é o que acontece depois do 180: se o destino atende, em quanto tempo, e se a chamada não fica tocando indefinidamente sem que ninguém, nem a URA, atenda.
Causas comuns no Brasil
- Ramal ou telefone IP tocando normalmente num PABX Asterisk, Issabel, FreePBX, 3CX ou Intelbras: comportamento esperado.
- 0800 ou URA que deveria atender na hora, mas fica tocando porque o servidor da URA travou e o PABX segue alertando um destino que não responde.
- Fila de atendimento sem agentes logados, configurada para tocar até alguém entrar, em vez de rejeitar ou mandar para uma mensagem.
- Regra de horário errada no PABX, que manda as chamadas de fora do expediente para um grupo de ramais que ninguém atende.
- Interconexão com a rede de telefonia em que a operadora repassa o alerta do destino (celular ou fixo) como 180.
- Tom de chamada ausente para quem liga, porque o 180 chegou sem SDP e o equipamento de origem não gera o tom localmente.
Como diagnosticar
- Capture a sinalização com
sngrep(por exemplo,sngrep port 5060) e confira a sequência: INVITE, 100 Trying, 180 Ringing e qual resposta final chega depois. - No Asterisk, Issabel ou FreePBX, ative
pjsip set logger on(ousip set debug onno chan_sip) e repita a chamada. Veja se o 180 traz corpo SDP ou não. - Use
core show channelsdurante a chamada para ver em que ramal, fila ou aplicação o canal está parado enquanto toca. - No 3CX, ative o “Verbose logging” e leia o log de atividade da chamada para ver para qual ramal ou fila ela foi entregue.
- Meça o tempo entre o 180 e a resposta final. Se a chamada termina em 487 Request Terminated, foi o lado que ligou que desistiu. Se termina em 480, foi o destino que encerrou.
- Se o 180 se repete muitas vezes, verifique se o destino usa respostas provisórias confiáveis (
Require: 100rele PRACK, RFC 3262) e se os PRACK estão chegando.
O que mandar para a operadora
- Data e hora de cada tentativa, com fuso horário (por exemplo, horário de Brasília, UTC-3).
- Número de origem (A) e número chamado (B), no formato exato enviado no INVITE.
- Call-ID de pelo menos uma chamada afetada.
- A sequência completa de respostas: quantos 180, se veio 183, e a linha da resposta final (por exemplo,
SIP/2.0 480 Temporarily Unavailable). - Header Reason, se houver, com a causa Q.850 (
Reason: Q.850;cause=19). - O trace em pcap gerado pelo
sngrepoutcpdump, quando disponível.
Perguntas frequentes
Por que recebo 180 Ringing mas não ouço o tom de chamada?
Quando o 180 chega sem SDP, quem gera o tom de chamada é o seu lado, localmente. Se o PABX ou o telefone não geram esse tom, a chamada fica em silêncio até ser atendida. Se o destino envia áudio próprio, o normal é usar 183 Session Progress com SDP. Confira a configuração de ringback do tronco e do ramal.
Uma chamada que toca e ninguém atende é um problema?
Depende do destino. Um ramal pessoal pode simplesmente não atender. Já um 0800 ou uma URA deveriam atender sempre. Se o 180 se repete e a chamada termina em 480 Temporarily Unavailable ou é cancelada pelo lado que ligou (487), o atendimento automático parou de funcionar, ou a fila está sem posições livres.
Uma chamada de teste real percebe quando o 0800 só toca?
Sim. A chamada de teste é uma chamada real, então ela vê a sequência de respostas SIP até a resposta final, e não só o primeiro 180. Um 180 sozinho não define o resultado. Quando o teste falha, ele é repetido antes de qualquer alerta, para separar um problema real de uma oscilação passageira.