O que é SIP ALG e por que você deve desativá-lo

Um feixe de sinal azul limpo passando por um roteador e saindo corrompido em vermelho, representando como o SIP ALG corrompe a sinalização VoIP e causa problemas de qualidade de chamada em redes corporativas

Você configura um novo telefone VoIP, ele registra normalmente, e a primeira chamada de teste conecta. Depois o áudio fica unidirecional, ou a chamada cai em exatamente trinta segundos, ou o telefone exibe “Sem Serviço” uma hora depois sem motivo aparente. Você verifica o provedor SIP, as credenciais, os codecs, as regras de firewall, e tudo parece correto. A causa quase nunca está em nenhum desses lugares. Trata-se de uma única configuração no roteador na frente do telefone, habilitada por padrão, chamada SIP ALG.

SIP ALG (Gateway de Camada de Aplicação) é um recurso presente na maioria dos roteadores domésticos e de pequenas empresas que inspeciona o tráfego SIP durante a passagem e reescreve partes dele. A intenção é ajudar o VoIP a funcionar através da Tradução de Endereço de Rede (NAT). Na prática, é a causa mais comum de falhas VoIP inexplicáveis em redes corporativas, e a recomendação padrão em todo o setor é desativá-lo. Nas seções a seguir, vamos explicar o que o SIP ALG tenta fazer, por que ele corrompe o SIP em vez de ajudar, como reconhecer e confirmar os sintomas, como desativá-lo em roteadores comuns e o que resolve o problema subjacente corretamente depois que ele é removido.

Termos e conceitos principais
Glossário de referência rápida para termos usados ao longo deste artigo.
SIP ALG (Gateway de Camada de Aplicação)Recurso de roteador ou firewall que inspeciona mensagens SIP em trânsito e reescreve endereços dentro delas para auxiliar o tráfego VoIP através de NAT. Vem habilitado por padrão na maioria dos roteadores domésticos e de pequenas empresas e é a causa mais frequente de problemas VoIP inexplicáveis.
NAT (Tradução de Endereço de Rede)A função que permite que vários dispositivos em uma rede privada compartilhem um único endereço IP público. O roteador reescreve endereços IP e portas nos cabeçalhos dos pacotes conforme o tráfego cruza entre os lados privado e público.
SDP (Protocolo de Descrição de Sessão)O bloco transportado dentro das mensagens SIP que descreve a sessão de mídia, incluindo o endereço IP e a porta onde cada lado espera receber áudio. Se o endereço no SDP estiver errado, o áudio não chega.
REGISTERA mensagem SIP que um telefone envia para informar ao provedor onde ele pode ser alcançado. Os registros expiram e precisam ser renovados; o Contact header dentro do REGISTER informa ao provedor qual endereço e porta usar para enviar chamadas de entrada.
Contact headerO cabeçalho SIP que anuncia o endereço e a porta onde um dispositivo pode ser alcançado diretamente pelo restante de um diálogo. O tratamento de NAT e ALG desse cabeçalho determina se chamadas de entrada e requisições dentro do diálogo chegam ao telefone.
Via headerO cabeçalho SIP que registra o caminho percorrido por uma requisição para que as respostas possam retornar. Um endereço Via reescrito ou inconsistente envia respostas para o lugar errado.
NAT remoto (far-end NAT)A situação em que um terminal SIP está atrás de um roteador NAT que o provedor de serviço não controla, então o provedor precisa detectar o endereço público real de onde o tráfego está vindo em vez de confiar no que a mensagem SIP declara.
B2BUA (Agente de Usuário Back-to-Back)Um dispositivo que encerra um diálogo SIP de entrada e origina um novo, independente, em direção ao outro lado. Isso fornece controle determinístico sobre a sinalização e permite que o tratamento de mídia seja aplicado independentemente em cada perna da chamada, em vez de tentar adivinhar uma reescrita em trânsito.
Ancoragem de mídiaTécnica em que um dispositivo na borda da rede força o áudio (RTP) a passar por ele mesmo e apresenta seu próprio endereço público no SDP, para que a mídia alcance um ponto conhecido e acessível em vez de um endereço privado inalcançável.
Controlador de Borda de Sessão (SBC)Um dispositivo na fronteira entre duas redes SIP que controla sinalização e mídia em cada lado de forma independente. Ele executa o tratamento de NAT, SDP e cabeçalhos que o SIP ALG tenta fazer, mas como função projetada em vez de uma tentativa transparente de adivinhação.

O que o SIP ALG realmente faz

Para entender por que o SIP ALG causa problemas, comece pelo problema que ele foi criado para resolver. O SIP carrega endereços IP e portas dentro do corpo da mensagem, não apenas nos cabeçalhos do pacote, o que decorre de como o padrão SIP (RFC 3261) e o payload SDP descrevem uma sessão. Um telefone em uma rede privada (por exemplo, 192.168.1.50) escreve esse endereço privado na sua sinalização SIP e no SDP que descreve onde ele quer receber áudio. Quando o roteador executa NAT e envia o pacote para a internet pública, ele reescreve o cabeçalho IP para que a origem pareça ser o endereço público do roteador. O endereço privado embutido dentro da mensagem SIP permanece intocado, porque o NAT convencional edita apenas cabeçalhos de pacotes, não payloads.

O resultado é uma mensagem SIP que diz ao lado remoto para enviar sinalização e áudio para 192.168.1.50, um endereço que não significa nada na internet pública. Respostas e áudio não chegam a lugar nenhum. O SIP ALG foi criado para corrigir essa lacuna. Ele lê dentro da mensagem SIP conforme ela passa pelo roteador, encontra os endereços privados nos cabeçalhos e no SDP, e os reescreve para o endereço público do roteador para que o lado remoto tenha um destino alcançável para responder. No papel, é uma ideia razoável, e é por isso que os fabricantes de roteadores o entregam habilitado por padrão: permite que um único telefone VoIP atrás de um roteador básico funcione sem nenhuma configuração adicional.

O problema é que fazer isso corretamente exige parsing completo e consistente do SIP, um protocolo com muitos tipos de mensagem, cabeçalhos opcionais, quebra de linha, formas compactas de cabeçalho e variações entre fabricantes. O firmware de roteadores domésticos faz uma versão rápida e superficial desse parsing, e é aí que tudo desmorona.

Por que o SIP ALG quebra o SIP

O SIP ALG falha não porque reescrever endereços seja a ideia errada, mas porque as implementações fazem isso de forma incompleta e inconsistente. Alguns modos de falha distintos aparecem repetidamente.

Reescritas de endereço incompletas e inconsistentes

Um ALG que reescreve o endereço em um cabeçalho mas ignora em outro deixa o diálogo SIP descrevendo dois caminhos de retorno diferentes. O Via header pode ser corrigido enquanto o Contact header não é, ou o endereço de sinalização é corrigido enquanto o endereço de mídia no SDP é ignorado. Os dois lados da chamada então discordam sobre para onde os pacotes devem ir, e os sintomas dependem de qual cabeçalho foi corrompido.

SDP corrompido e áudio unidirecional ou sem áudio

O SDP carrega o endereço e a porta onde cada lado espera receber áudio RTP. Quando um ALG reescreve o endereço SDP incorretamente, ou reescreve a sinalização mas não o SDP, a chamada conecta e os telefones tocam, mas o áudio não tem destino válido. Isso produz a falha clássica de áudio unidirecional, onde uma parte ouve e a outra não, ou chamadas que conectam em completo silêncio. A mesma família de sintomas é abordada pelo lado do operador no guia de troubleshooting VoIP.

Registro quebrado e reescrita de Contact

Quando um telefone se registra, o Contact header informa ao provedor para onde enviar chamadas de entrada. Um ALG que reescreve o endereço do Contact de forma inconsistente, ou que perde o controle do registro ao reescrever o tratamento de expiração, faz com que registros falhem ou expirem silenciosamente. O telefone exibe “Sem Serviço”, chamadas de entrada nunca tocam porque o provedor está enviando para um endereço que não funciona mais, e os registros se recuperam e quebram em um ciclo que parece aleatório visto de fora.

Chamadas que caem após cerca de trinta segundos

Uma chamada que estabelece normalmente e depois cai em um intervalo consistente, frequentemente em torno de trinta segundos, é uma assinatura de sinalização in-dialog corrompida. A renovação de sessão ou o acknowledgment que deveria manter a chamada ativa é enviado para um endereço que o ALG reescreveu incorretamente, então nunca chega e um dos lados encerra a chamada.

SIP criptografado torna o ALG inútil e prejudicial

Quando a sinalização SIP é protegida com TLS, o roteador não consegue ler o corpo da mensagem, então o ALG não tem nada para inspecionar ou reescrever. Na melhor das hipóteses, não fornece assistência útil à sinalização; na pior, interfere no tratamento de NAT ou no estado da sessão de formas que interrompem a chamada. Qualquer implantação usando TLS e SRTP, o que inclui Microsoft Teams Direct Routing e a maioria das interconexões modernas com operadoras, não ganha nada com o SIP ALG e apenas herda seus efeitos colaterais.

O problema de fundo: o SIP ALG modifica sinalização ao vivo em trânsito com base em um parsing superficial do protocolo. Quando o parsing está errado, a mensagem é corrompida em vez de corrigida, e um recurso feito para ajudar o VoIP se torna o que está quebrando.

Sintomas que apontam para o SIP ALG

O SIP ALG raramente se anuncia. Ele se apresenta como uma coleção de falhas intermitentes, difíceis de reproduzir, que sobrevivem a cada alteração que você faz no telefone, no provedor e nas credenciais. Os seguintes sintomas, especialmente em combinação, apontam fortemente para um ALG no caminho:

  • Áudio unidirecional onde uma parte ouve a outra mas não o contrário, ou chamadas que conectam em silêncio.
  • Chamadas caindo em intervalo consistente, frequentemente em torno de trinta segundos, após estabelecimento normal.
  • Falhas de registro onde telefones exibem “Sem Serviço” ou alternam entre registrado e offline sem padrão.
  • Chamadas de entrada que não tocam enquanto chamadas de saída funcionam, porque o provedor não consegue alcançar o endereço que o ALG anunciou.
  • Transferência, espera ou DTMF quebrados, onde a sinalização de meio de chamada que altera a sessão é a parte sendo corrompida.
  • Falhas que acompanham o roteador, onde os mesmos telefones e provedor funcionam normalmente em uma rede diferente.
Primeiro passo padrão: quando o VoIP se comporta de forma estranha em uma rede que você não controla completamente, desativar o SIP ALG no roteador é a primeira coisa que engenheiros de voz experientes tentam, antes de alterar qualquer coisa no telefone ou no lado do provedor.

Como confirmar que o SIP ALG é o culpado

Como os sintomas se sobrepõem a falhas comuns de NAT e firewall, vale a pena confirmar o SIP ALG especificamente em vez de desativar configurações aleatoriamente. O método confiável é comparar as mensagens SIP em cada lado do roteador. Capture o tráfego SIP conforme o telefone o envia no lado privado, depois capture as mesmas mensagens conforme saem do roteador no lado público, e compare os endereços de Contact, Via e SDP.

Se os endereços dentro da mensagem foram alterados entre as duas capturas, e alterados de forma inconsistente ou apontando para um endereço inalcançável, um ALG está reescrevendo o tráfego. Um dispositivo NAT limpo deixa o payload SIP intacto e reescreve apenas os cabeçalhos dos pacotes. Interpretar essas capturas é uma habilidade por si só, e a mesma técnica localiza a maioria das falhas de sinalização, não apenas o comportamento do ALG. Para o toolkit do lado do operador cobrindo rastreamento de chamadas e captura de pacotes, o guia de troubleshooting VoIP percorre o processo de diagnóstico.

Como desativar o SIP ALG

O SIP ALG se esconde sob nomes diferentes em equipamentos diferentes, o que é parte do motivo pelo qual ele é tão frequentemente ignorado. Dependendo do fabricante, aparece como SIP ALG, SIP Transformations, SIP Helper, SIP Inspection, VoIP passthrough, ou uma entrada SIP em uma página de configurações de NAT ou camada de aplicação. Em gateways baseados em Linux, é o helper de rastreamento de conexão nf_conntrack_sip. A tabela abaixo mostra onde encontrá-lo em plataformas comuns.

Plataforma Onde a configuração está
Cisco ASA A inspeção SIP está ativa por padrão na política global. Desative pelo CLI: em policy-map global_policy, class inspection_default, insira no inspect sip e salve.
Fortinet FortiGate Desativado pelo CLI em vez de um único toggle na GUI; tanto o session helper SIP quanto o perfil VoIP precisam ser tratados. Aplique cada etapa do CLI na ordem.
Netgear Na interface web do roteador, em configurações WAN ou avançadas. Se a opção não estiver visível em um modelo mais antigo, atualize o firmware primeiro e depois desative.
TP-Link Em sistemas mesh Deco, abra o app Deco e vá em Mais, Avançado, Encaminhamento NAT, SIP ALG e desative. Em modelos padrão, a opção fica em configurações de NAT ou encaminhamento.
DrayTek Em SIP ALG ou configurações de VoIP NAT na interface web; desative o ALG e confirme que nenhum helper NAT com reconhecimento SIP permanece habilitado.
pfSense / OPNsense Nenhum dos dois inclui SIP ALG, então não há nada para desativar. Falhas VoIP atrás desses firewalls são problemas comuns de NAT, não corrupção por ALG.

Após desativar o SIP ALG, reinicie o roteador se a mudança não surtir efeito imediatamente, registre novamente os telefones e faça chamadas de teste em ambas as direções para confirmar áudio bidirecional e que a chamada se mantém além do intervalo em que costumava cair. Se os sintomas persistirem, a causa é um problema separado de NAT ou firewall, não o ALG.

Verifique antes de presumir: o caminho exato no menu muda entre versões de firmware mesmo dentro de um mesmo fabricante. Se você não encontrar a configuração pelo nome, pesquise na interface de administração por “SIP”, “ALG”, “VoIP” ou “transformations” e verifique se há atualizações de firmware que exponham a opção.

Quando desativar o SIP ALG não é suficiente

Desligar o SIP ALG remove o que está corrompendo sua sinalização, mas não faz o problema original de NAT desaparecer. Os endereços privados dentro das mensagens SIP ainda precisam ser reconciliados com os endereços públicos que o lado remoto realmente enxerga. Para um único telefone atrás de um roteador básico, o keep-alive de NAT do próprio telefone e a detecção de NAT remoto do provedor geralmente resolvem essa lacuna uma vez que o ALG é removido. Na escala de uma operadora, um MSP ou qualquer provedor terminando SIP Trunks de muitas redes que não controla, o problema de NAT precisa ser resolvido deliberadamente na borda da rede em vez de ser deixado para a melhor tentativa de um roteador.

Esse é o papel que um Controlador de Borda de Sessão (SBC) desempenha. Um SBC fica na fronteira entre redes e trata sinalização e mídia em cada lado como função projetada. Por operar como um Agente de Usuário Back-to-Back, ele encerra o diálogo de sinalização de entrada e origina um novo em direção ao lado remoto, controlando cada endereço em cada cabeçalho em ambas as pernas de forma determinística, em vez de editar um pacote em trânsito. Ele executa detecção de NAT remoto nos endereços de onde o tráfego realmente está chegando, ancora a mídia para que o áudio flua para seu próprio endereço público acessível, e aplica manipulação de cabeçalhos SIP como regras configuradas em vez de uma tentativa fixa de adivinhação. Essa é a diferença entre um ALG de roteador e um SBC: a mesma categoria de trabalho, feita como controle deliberado de sinalização em vez de uma reescrita opaca. Para ver como isso se encaixa no quadro mais amplo de por que um ALG de firewall não substitui um SBC, veja a comparação mais aprofundada no guia de segurança SBC.

Perguntas frequentes

O SIP ALG é útil em alguma situação?

Para um único softphone ou telefone VoIP atrás de um roteador doméstico básico, um ALG bem implementado pode ocasionalmente fazê-lo funcionar sem nenhuma outra configuração. Na prática, as implementações são pouco confiáveis o suficiente para que o risco de corrupção supere a conveniência, e é por isso que a recomendação padrão é desativá-lo e deixar o telefone ou a rede upstream tratar o NAT.

Desativar o SIP ALG expõe minha rede a ataques?

Não. O SIP ALG é um helper de NAT, não um controle de segurança. Desativá-lo não abre portas nem remove proteção de firewall; o roteador continua filtrando tráfego exatamente como antes. A segurança para SIP pertence a um dispositivo construído para isso, não a um ALG doméstico.

Um SBC substitui o SIP ALG?

Um SBC executa as funções que o SIP ALG tenta realizar, mas como política explícita de sinalização e mídia em vez de reescrita de pacotes em trânsito. Ele trata travessia de NAT, ancoragem de mídia e reescrita de endereços SIP como funções determinísticas em cada perna da chamada. Quando um SBC está no caminho, o SIP ALG em qualquer roteador na frente dele deve ser desativado para que ambos não tentem reescrever o mesmo tráfego.

Por que o SIP ALG vem habilitado por padrão se causa problemas?

Os fabricantes de roteadores o habilitam para que um telefone VoIP básico atrás do roteador funcione imediatamente sem que o usuário entenda NAT. O padrão otimiza para o caso mais simples, não para VoIP corporativo, implantações com múltiplos telefones ou SIP criptografado, onde faz mais mal do que bem.

Desativei o SIP ALG e o problema continua. E agora?

Se os sintomas persistem com o ALG desligado, a causa é um problema separado de NAT ou firewall: um timeout de binding UDP muito curto, portas RTP sendo bloqueadas, ou o SDP anunciando um endereço que o lado remoto não consegue alcançar. Capture o SIP em ambos os lados do roteador para ver qual endereço está errado, e resolva o NAT na borda em vez de depender do roteador para corrigir o SIP.

Conclusão

SIP ALG é um recurso bem-intencionado que tenta resolver um problema real, que o SIP carrega endereços privados que o NAT não reescreve, e o resolve mal ao editar sinalização ao vivo com base em um parsing superficial do protocolo. O resultado é áudio unidirecional, chamadas que caem em um timer, registros que expiram e chamadas de entrada que nunca tocam, tudo isso sobrevivendo a cada outro passo de troubleshooting que você toma. Em quase toda rede corporativa, a medida correta é encontrar a configuração, sob qualquer nome que o fabricante tenha dado, e desativá-la.

Desativá-la remove a corrupção, mas deixa o problema de NAT por baixo. Para um único telefone, a rede geralmente resolve; na escala de um provedor, o trabalho pertence a um Controlador de Borda de Sessão que trata travessia de NAT, mídia e endereçamento SIP como funções deliberadas e configuradas, em vez de uma tentativa transparente de adivinhação. Saber a diferença é o que transforma uma tarde inteira perseguindo um fantasma em uma correção de cinco minutos.

Trate NAT e SIP corretamente na borda com o ProSBC

ProSBC é um Controlador de Borda de Sessão de nível carrier, baseado em software, que faz o trabalho que um ALG de roteador apenas simula. Ele opera como um Agente de Usuário Back-to-Back completo, encerrando cada chamada e re-originando em direção ao lado remoto, controlando cada endereço de sinalização e mídia em ambas as pernas de forma determinística, em vez de reescrever pacotes em trânsito. Detecção de NAT remoto, ancoragem de mídia e manipulação de cabeçalhos SIP baseada em regras são funções projetadas, não uma tentativa fixa de adivinhação que quebra na próxima variação de fabricante.

Por ancorar a mídia e apresentar seu próprio endereço público acessível, o ProSBC resolve as falhas de áudio unidirecional e registro que os ALGs criam, através de SIP sobre UDP, TCP e TLS, sem exigir que sua operadora ou seus terminais mudem nada. Ele é implantado em VMware, KVM, AWS, Azure e baremetal, onde quer que sua borda de rede realmente esteja.

Prefere avaliar por conta própria primeiro? Inicie seu teste gratuito de 30 dias.