NAT e SIP ALG: por que sua ligação some do nada
Se existe um culpado universal nos tickets de telefonia IP, é este: NAT. Áudio mudo de um lado, chamada que cai aos 30 segundos cravados, tronco que registra e desregistra sozinho — os três sintomas mais comuns do suporte têm a mesma raiz. E o "recurso" que os roteadores oferecem para ajudar, o SIP ALG, costuma ser o que transforma um problema previsível em um pesadelo intermitente. Vamos ao diagnóstico e às correções que funcionam.
Por que o NAT quebra o SIP
O NAT reescreve endereços no cabeçalho IP — mas o SIP, por desenho antigo, também carrega endereços dentro do corpo das mensagens: no Via, no Contact, e crucialmente no SDP, onde cada lado anuncia em qual IP e porta quer receber o áudio (como detalha o guia do protocolo). O roteador troca o endereço do envelope, mas não sabe (ou não deveria mexer) no endereço escrito dentro da carta.
Resultado: o seu PABX, com IP 192.168.1.10, anuncia no SDP "me mande áudio em 192.168.1.10" — um endereço que não existe para quem está do outro lado da internet. A sinalização completa (o envelope foi traduzido), o áudio se perde (a instrução interna aponta para o nada).
Os 3 sintomas clássicos, decodificados
| Sintoma | O que está acontecendo | Confirmação no trace |
|---|---|---|
| Áudio mudo (um lado ou os dois) | SDP anunciou IP privado; RTP vai para endereço inalcançável | c=IN IP4 192.168.x.x no SDP |
| Queda aos ~30 segundos | ACK não atravessa o NAT; sessão expira sem confirmação | 200 OK retransmitido várias vezes, sem ACK |
| Registro intermitente / chamadas de entrada que não chegam | O mapeamento do NAT expira entre os registros; o provedor perde o caminho de volta | Entrada falha após períodos de silêncio; re-REGISTER "conserta" |
Os três são determinísticos: dado o mesmo cenário de rede, acontecem sempre. Se o seu problema é intermitente — funciona de manhã, quebra à tarde —, suspeite do ALG (abaixo) ou de mapeamentos NAT expirando por timeout curto.
SIP ALG: a ajuda que atrapalha
O SIP ALG (Application Layer Gateway) existe para resolver exatamente o problema acima: o roteador inspeciona pacotes SIP e reescreve os IPs internos. A intenção é boa; as implementações, quase universalmente, são ruins — reescrevem pela metade, corrompem cabeçalhos de autenticação, quebram pacotes TLS que não conseguem ler e conflitam com o NAT traversal que o seu PABX e o seu provedor já fazem corretamente.
O quadro típico: sem ALG, o problema é consistente e diagnosticável; com ALG, vira intermitente e maluco — a pior categoria de bug. Daí a recomendação unânime de fabricantes de PABX e provedores: desligue o SIP ALG. Em roteadores de operadora onde a opção não aparece, vale pedir o desbloqueio ou colocar o roteador em bridge com um equipamento seu na frente.
Teste rápido de ALG: capture um INVITE saindo do PABX e o mesmo INVITE chegando no provedor (peça o trace ao suporte). Se os cabeçalhos não são idênticos onde deveriam ser, algo no caminho está reescrevendo — e tem nome.
As correções, na ordem certa
- Desligue o SIP ALG no roteador/firewall. Sempre primeiro — qualquer outra correção com ALG ligado é aleatória;
- Declare o endereço externo no PABX: no PJSIP,
external_media_addresseexternal_signaling_addresscom o IP público (elocal_netcom a faixa interna). O PABX passa a anunciar o endereço certo no SDP; - Keep-alives: registro com expiração curta (60–120 s) e
qualify/OPTIONS ativos mantêm o mapeamento NAT vivo para as chamadas de entrada; - Libere a faixa RTP no firewall (a que o PABX usa, tipicamente 10000–20000/UDP) — liberar só a 5060 é o erro de firewall mais comum da telefonia;
- Deixe o provedor ajudar: provedores sérios fazem media latching (aprendem o endereço real do seu RTP pelo primeiro pacote recebido), o que perdoa muita configuração imperfeita.
Se o seu tronco autentica por IP fixo em vez de registro, os itens 3 e 5 mudam de figura — o comparativo dos dois modelos está em registro ou IP fixo.
Checklist de rede para voz
- SIP ALG: desligado (roteador e firewall — os dois);
- External address configurado no PABX;
local_netcorreto; - Faixa RTP liberada no sentido de entrada para o IP do provedor;
- Registro com expiração 60–120 s; qualify ativo;
- Timeout de sessão UDP do firewall ≥ 120 s;
- Sem dupla NAT (roteador da operadora + seu roteador) — ou, havendo, external address apontando para o IP público real.
Rede que passa nesse checklist praticamente não abre ticket de "áudio sumiu". E vale dizer: nada disso é exclusivo de PABX parrudo — o mesmo NAT que derruba um tronco corporativo derruba um softphone caseiro; a física de fazer ligações pela internet é uma só, do usuário doméstico ao data center.
Perguntas frequentes
Por que devo desativar o SIP ALG do roteador?
Porque as implementações reescrevem pacotes SIP de forma incompleta ou errada: corrompem cabeçalhos, quebram autenticação e conflitam com o NAT traversal do PABX e do provedor. Consenso da indústria: desligue.
Por que minha chamada cai depois de 30 segundos?
ACK perdido por NAT: o 200 OK chega, a confirmação não volta, e o lado sem ACK encerra por timeout aos 30–32 s. Corrija o NAT traversal, não o timeout.
Por que o áudio fica mudo em um lado só?
O SDP anunciou IP privado inalcançável: o RTP de um lado chega, o do outro vai para o nada. External media address no PABX (ou latching do provedor) resolve.
Preciso de IP público para usar trunk SIP?
Não. Atrás de NAT funciona bem com keep-alives, external address, ALG desligado e faixa RTP liberada. IP fixo é conveniência para autenticação por peer, não requisito.
Um tronco que perdoa o seu NAT
Media latching, OPTIONS keep-alive e suporte que pede trace em vez de reiniciar roteador. Teste com a sua rede real antes de migrar.
Ver planos do trunk