SIP ALG: definição e exemplo na prática
Resposta curta: SIP ALG (Application Layer Gateway) é uma função de roteadores e firewalls que reescreve endereços dentro das mensagens SIP para atravessar o NAT, frequentemente quebrando o áudio das chamadas.
Em inglês: SIP ALG (Application Layer Gateway)
O que é SIP ALG?
SIP ALG (Application Layer Gateway) é uma função de roteadores e firewalls que abre as mensagens SIP e troca os endereços IP privados de dentro delas pelo IP público da conexão. A ideia é ajudar a chamada a atravessar o NAT. Na prática, muitas implementações reescrevem campos errados, deixam outros sem corrigir ou quebram mensagens que o PABX ou o SBC já tinham ajustado. O resultado clássico é áudio mudo em um sentido, chamadas que caem sozinhas e ramais que perdem o registro.
É comum o SIP ALG vir ligado de fábrica em roteadores domésticos e de pequenas empresas. Quando a telefonia IP começa a falhar depois de trocar o roteador ou o link, o ALG é um dos primeiros suspeitos.
NAT
NAT (Network Address Translation) é o que permite vários equipamentos com IP privado, como 192.168.0.20, saírem para a internet com um único IP público. O roteador troca o endereço no cabeçalho do pacote. O problema é que o SIP repete endereços dentro da própria mensagem, nos cabeçalhos Via e Contact e no SDP, que indica para onde mandar o RTP. Se esses endereços internos chegam à operadora sem correção, ela manda o áudio para um IP privado que não existe na internet.
Na prática
| Sintoma | Causa provável |
|---|---|
| Chamada atendida, um lado não ouve | IP privado ou porta errada no SDP |
| Chamada cai depois de cerca de 32 segundos | ACK não chega; o destino desiste após 64 × T1 (RFC 3261) |
| Ramal perde o registro de tempos em tempos | ALG fecha ou altera a sessão do REGISTER |
| Funciona em um link e falha em outro | Roteadores diferentes, um com ALG ligado |
Para desativar, procure na página do roteador ou firewall por SIP ALG, SIP Helper ou inspeção SIP, desligue e reinicie. Em equipamentos baseados em Linux, a função costuma ser o módulo de conntrack de SIP.
Como o Monitor usa isso
Uma chamada de teste que conecta mas fica sem áudio em um dos sentidos é detectada como áudio de mão única e conta como falha, mesmo com a resposta SIP 200 OK. Veja monitoramento de troncos SIP.
Perguntas frequentes
Como desativar o SIP ALG no roteador?
Entre na página de administração do roteador ou firewall e procure em NAT, firewall ou configurações avançadas por SIP ALG, SIP Helper, SIP Passthrough ou inspeção SIP. Desmarque a opção, salve e reinicie o equipamento. Se o roteador foi entregue pela operadora e a opção não aparece, peça o desligamento ao suporte ou o modo bridge. Depois, faça uma chamada de teste nos dois sentidos.
Devo sempre desativar o SIP ALG?
Na maioria dos casos, sim, desde que algo cuide do NAT corretamente: o PABX configurado com o IP público, telefones com STUN ou um SBC. Sem nenhum desses, desativar o ALG pode deixar os telefones atrás do NAT sem áudio. Teste antes e depois da mudança.