AI Skill Report Card
Resolving VOIP/SIP Issues
Resolvendo Problemas VOIP/SIP (Suporte N3)
Quick Start14 / 15
Ao receber um chamado escalado, siga esta triagem imediata:
1. Qual é o sintoma exato? (sem áudio, queda de chamada, falha de registro, eco, echo one-way)
2. Quando começou? (mudança recente de config, atualização de firmware, nova rota?)
3. É intermitente ou constante?
4. Peça: trace SIP (pcap/sngrep), logs do PBX/gateway, SIP response code do erro
Com o SIP response code em mãos, já é possível direcionar o diagnóstico:
- 4xx → erro do cliente/requisição (ex: 401/407 auth, 404 não encontrado, 486 ocupado)
- 5xx → erro do servidor (ex: 503 serviço indisponível, 500 erro interno)
- 6xx → falha global (ex: 603 recusado em todos os terminais)
Recommendation▾
Add a third example covering a different scenario (e.g., registration failure or echo issue) to diversify beyond the two provided cases
Workflow14 / 15
Progress:
- 1. Coletar evidências (pcap, logs, SIP trace, horário exato do evento)
- 2. Reproduzir ou confirmar o cenário (teste controlado se possível)
- 3. Isolar a camada do problema (rede, sinalização SIP, mídia RTP, aplicação/PBX)
- 4. Correlacionar com mudanças recentes (deploy, firmware, política de firewall)
- 5. Aplicar correção e validar com teste real
- 6. Documentar causa raiz e solução para a base de conhecimento
1. Coletar evidências
Peça sempre:
- Captura SIP (
sngrep,tcpdump -i any port 5060 -w trace.pcap, ou pcap do Wireshark com filtrosip) - Logs do Asterisk/FreeSWITCH/Kamailio (
asterisk -rvvv,core set verbose 5) - IP/porta de origem e destino, CallID da chamada problemática
- Topologia: Cliente → PBX → Gateway/SBC → Operadora
2. Isolar a camada
- Rede: perda de pacotes, jitter, latência (
ping,mtr,iperf) - Sinalização: fluxo INVITE/100/180/200/ACK completo? Retransmissões? Timeout de Trying?
- Mídia (RTP):
rtpengine/rtpproxyativo? NAT correto no SDP? Portas RTP liberadas no firewall? - Aplicação: dialplan, contextos, trunk de saída, codec negociado vs. codec permitido
3. Causas raiz mais comuns
- Sem áudio / one-way audio → problema de NAT, SDP com IP privado, RTP bloqueado por firewall
- Queda após ~30s → timeout de re-INVITE/Session-Timer, SBC derrubando sessão
- Registro falha (401/403) → credenciais erradas, IP não whitelisted,
qualifymal configurado - Echo → problema de jitter buffer, conversão de codec (transcodificação desnecessária)
- Chamadas caindo em rota errada → erro no dialplan/least-cost-routing, prefixo mal configurado
Recommendation▾
Include a reference table or cheat sheet of common SIP response codes (401, 403, 404, 486, 503, 603) with brief meanings for faster triage
Examples16 / 20
Exemplo 1: Input: "Cliente relata que todas as chamadas de saída caem com erro 503 Service Unavailable após 5 segundos." Output:
Diagnóstico: 503 indica que o servidor upstream (gateway/operadora) recusou a requisição.
Passos:
1. Verificar se o trunk SIP está registrado (`sip show registry` no Asterisk)
2. Checar se há bloqueio por limite de CPS (chamadas por segundo) na operadora
3. Validar se o IP do SBC mudou e não foi atualizado no whitelist da operadora
4. Conferir se há certificado TLS expirado (se trunk usa SIP/TLS)
Causa raiz provável: IP do servidor mudou após migração de datacenter e não foi
atualizado na whitelist da operadora → corrigir registro de IP e revalidar.
Exemplo 2: Input: "Áudio unidirecional (cliente ouve o atendente, mas atendente não ouve o cliente)." Output:
Diagnóstico: Clássico problema de NAT/RTP assimétrico.
Passos:
1. Analisar SDP no INVITE/200 OK — IP anunciado é privado (192.168.x.x)?
2. Confirmar se `nat=force_rport,comedia` está habilitado no Asterisk/PJSIP
3. Validar se as portas RTP (ex: 10000-20000/UDP) estão liberadas no firewall
4. Testar com `rtpengine`/`rtpproxy` habilitado para forçar relay de mídia
Causa raiz provável: endpoint atrás de NAT sem comedia/rport, RTP não refletido
→ habilitar media proxy e revalidar.
Recommendation▾
Expand on codec/transcoding troubleshooting steps and NAT traversal configuration specifics (STUN/TURN/ICE) since these are mentioned as triggers in the description but underdeveloped in the workflow
Boas Práticas
- Sempre peça o Call-ID da chamada problemática antes de analisar logs — evita ambiguidade em ambientes com alto volume
- Priorize correlacionar horário exato (com timezone) do evento com logs de todos os componentes
- Em caso de intermitência, monte um teste controlado e repetido (ex: 10 chamadas seguidas) para converter em reprodução determinística
- Sempre valide o codec negociado (SDP) antes de suspeitar de qualidade de rede
- Documente toda causa raiz em formato: Sintoma → Camada → Causa → Correção → Validação
Armadilhas Comuns
- Não presuma que é "problema de operadora" sem antes analisar o pcap completo (INVITE até BYE)
- Não ignore timestamps — fusos horários diferentes entre PBX e gateway mascaram correlação de eventos
- Não aplique correção de firewall/NAT sem antes confirmar se o problema é realmente de mídia (RTP) e não de sinalização (SIP)
- Evite reiniciar serviços como primeira ação — isso destrói evidências de diagnóstico (ex: contadores de erro, estado de registro)
- Não feche o chamado sem validar com uma chamada real pós-correção