FreeSWITCH vs Asterisk: Uma comparação honesta para engenheiros VoIP

FreeSWITCH e Asterisk são as duas plataformas de telefonia open-source mais amplamente implantadas em produção atualmente. Ambas são gratuitas, ambas operam dentro de redes reais de operadoras e empresas, e ambas conseguem lidar com qualquer coisa, desde um PBX de dez ramais até uma plataforma de conferência com milhares de chamadas simultâneas. Se você está escolhendo entre elas, a pergunta raramente é qual é melhor no abstrato. A pergunta é qual se encaixa no perfil de implantação que está na sua frente.
Esta comparação foi escrita para os engenheiros e arquitetos que precisam tomar essa decisão. Vamos abordar as diferenças arquiteturais que realmente determinam o comportamento, a escala e o território de protocolos que cada plataforma cobre bem, onde ficam as compensações de licenciamento e ecossistema, e a parte da pilha de voz que nenhuma das duas plataformas deveria ser: a borda da rede.
Arquitetura: a diferença fundamental que determina todo o resto
A divisão arquitetural entre Asterisk e FreeSWITCH é fundamental, e a maioria das diferenças práticas deriva dela.
Asterisk: motor de PBX integrado
Asterisk foi projetado como um substituto de PBX, um único processo de software que gerencia sinalização SIP, processamento de mídia, execução de dialplan e lógica de aplicação como um pacote integrado. O modelo é multi-threaded, mas fortemente acoplado. A configuração é feita por arquivos de texto (extensions.conf, sip.conf ou pjsip.conf), e o dialplan é a abstração central que tudo relacionado a roteamento de chamadas utiliza.
FreeSWITCH: orientado a eventos e modular
FreeSWITCH surgiu depois, construído por desenvolvedores que haviam trabalhado com Asterisk e queriam resolver limitações arquiteturais específicas. O resultado é um sistema orientado a eventos e modular, onde cada segmento de chamada executa em sua própria thread dedicada através de uma máquina de estados (init, routing, execute, hangup, reporting, destroy). Sinalização e processamento de mídia acontecem em threads separadas. Esse threading por segmento de chamada dá ao FreeSWITCH uma vantagem estrutural de concorrência que o modelo fortemente acoplado do Asterisk não consegue igualar sem compromissos significativos.
O que isso significa na prática: Para um PBX ou URA padrão com algumas centenas de chamadas simultâneas, a diferença arquitetural é acadêmica. Ambas as plataformas vão atendê-lo bem. A arquitetura começa a importar quando a implantação é um serviço de SIP Trunking (tronco de voz sobre IP) de alta densidade, uma plataforma de PBX hospedado multi-tenant, ou uma ponte de conferência com milhares de sessões simultâneas. É aí que o threading por segmento do FreeSWITCH mostra seu valor.
Escalabilidade e desempenho
É aqui que a diferença arquitetural se torna mensurável.
Capacidade do Asterisk
Asterisk foi testado com aproximadamente 4.500 chamadas simultâneas em um servidor bare metal de 48 núcleos com cerca de 46% de utilização de CPU em um teste de carga publicado pela VitalPBX. O código-fonte carrega um limite embutido próximo a esse valor, que pode ser removido por recompilação. Na prática, a maioria das implantações Asterisk em produção opera bem abaixo do teto. Um PBX executando conferência, correio de voz e URA fica tipicamente confortável na faixa de algumas centenas a pouco mais de mil chamadas por servidor, dependendo do hardware e da complexidade do dialplan.
Capacidade do FreeSWITCH
FreeSWITCH lida regularmente com milhares de chamadas simultâneas em hardware adequadamente provisionado. O gargalo prático geralmente não é o FreeSWITCH em si, mas o caminho de mídia RTP subjacente: largura de banda disponível e pacotes por segundo na interface de rede. Em uma única porta Ethernet de gigabit com G.711, o limite teórico superior fica em torno de 10.500 fluxos de mídia simultâneos, ponto em que a capacidade de rede se esgota antes da CPU.
Mapeamento por perfil de implantação
Asterisk se encaixa em PBX de pequenas e médias empresas, sistemas URA, servidores de correio de voz, auto-atendimento e aplicações de fila de chamadas onde as chamadas simultâneas ficam na casa das centenas. Isso cobre a maioria da telefonia empresarial, e o Asterisk lida com isso de forma confiável.
FreeSWITCH se encaixa em interconexão de operadoras e serviços de SIP Trunking, plataformas de PBX hospedado multi-tenant, conferências em larga escala incluindo vídeo, gateways WebRTC e qualquer implantação que precise planejar para milhares de sessões simultâneas em um único servidor.
Protocolos, codecs e WebRTC
Ambas as plataformas suportam a pilha SIP/SDP/RTP e os codecs relevantes para telefonia empresarial, ambas lidam com DTMF (in-band e RFC 2833), fax T.38 e negociação padrão de codecs. A diferença aparece na voz baseada em navegador.
Suporte a WebRTC
FreeSWITCH tem suporte nativo e maduro a WebRTC, significativamente mais capaz que o do Asterisk. Para chamadas baseadas em navegador, click-to-call a partir de aplicações web ou videoconferência integrada, é a fundação mais robusta. O Asterisk suporta WebRTC através de seu driver de canal PJSIP com SRTP, mas a implementação é menos madura e exige mais esforço de configuração para alcançar o mesmo resultado. A análise mais detalhada das compensações está na nossa comparação entre WebRTC e SIP.
Videoconferência
FreeSWITCH foi construído com o processamento de mídia como uma preocupação de primeira classe, incluindo mixagem de vídeo multi-participante. O Asterisk lida bem com conferência de áudio (MeetMe, ConfBridge), mas videoconferência em escala não é seu ponto forte.
Para SIP Trunking tradicional apenas com voz, conexão com operadoras, terminação PSTN ou execução de URA, ambas as plataformas cobrem os protocolos necessários sem lacunas significativas.
Experiência do desenvolvedor e programabilidade
Interfaces de integração do Asterisk
Asterisk expõe três interfaces de integração principais: AMI para monitoramento de eventos e injeção de comandos, ARI para controle externo de canais por aplicações, e AGI para scripts de dialplan. O próprio dialplan, escrito em extensions.conf, é uma linguagem de domínio específico na qual a maioria dos administradores consegue se tornar produtivo em uma ou duas semanas.
O maior multiplicador de força no mundo Asterisk é o FreePBX, a GUI web open-source construída sobre o Asterisk. O FreePBX permite que administradores configurem troncos, ramais, URAs, grupos de toque, condições de horário e dezenas de outras funções de PBX sem nunca abrir um arquivo de configuração. Para organizações que querem um PBX sem expertise profunda em dialplan, o FreePBX reduz drasticamente a barreira de entrada. Não existe uma GUI equivalente ao FreePBX para o FreeSWITCH.
Programabilidade do FreeSWITCH
FreeSWITCH expõe a Event Socket Library (ESL), que oferece controle bidirecional e em tempo real de sessões de chamada a partir de qualquer linguagem que consiga abrir um socket TCP. Dialplans podem ser escritos em Lua, JavaScript, Python ou XML. O modelo é fundamentalmente mais flexível que o do Asterisk. Para lógica complexa de roteamento de chamadas, integração em tempo real com bancos de dados externos ou construção de um serviço customizado do tipo CPaaS, o FreeSWITCH oferece mais controle programático com menos atrito.
A compensação na curva de aprendizado: Asterisk é mais fácil para começar, especialmente quando combinado com FreePBX. FreeSWITCH recompensa um investimento mais profundo com maior flexibilidade, mas a configuração inicial e o modelo conceitual exigem mais no começo. Se a equipe tem habilidades sólidas em Linux e SIP e planeja construir algo customizado, a curva de aprendizado do FreeSWITCH compensa. Se o requisito é um PBX funcionando até sexta-feira e a equipe é nova em VoIP, comece com Asterisk e FreePBX.
Licenciamento, comunidade e suporte comercial
Asterisk: GPL
Asterisk é distribuído sob a GNU General Public License. Modificar o Asterisk e distribuir a versão modificada aciona a exigência da GPL de disponibilizar o código-fonte sob a mesma licença. A Sangoma, que adquiriu a Digium (criadora original do Asterisk), oferece uma opção de licenciamento duplo para casos de uso comercial onde as obrigações da GPL são uma preocupação, além de suporte comercial, o produto PBX comercial Switchvox e módulos comerciais do FreePBX.
A comunidade do Asterisk é a maior em telefonia open-source: décadas de arquivos de listas de discussão, posts em fóruns, tutoriais, respostas no Stack Overflow e módulos de terceiros. Para padrões comuns de implantação, quase certamente alguém já resolveu seu problema antes.
FreeSWITCH: MPL
FreeSWITCH é distribuído sob a Mozilla Public License. A MPL permite o uso em produtos proprietários sem as obrigações de divulgação de código-fonte da GPL, uma diferença relevante para ISPs, MSPs e fornecedores de software que constroem serviços de voz comerciais. A SignalWire, fundada pelos desenvolvedores originais do FreeSWITCH, oferece suporte comercial, serviços FreeSWITCH hospedados na nuvem e a plataforma SignalWire.
A comunidade do FreeSWITCH é menor que a do Asterisk, mas tende para implantações de provedores de serviço e alta escala. A documentação melhorou substancialmente, embora a profundidade de conteúdo contribuído pela comunidade ainda favoreça o Asterisk.
Asterisk ou FreeSWITCH: qual se encaixa na sua implantação?
Nenhuma das duas plataformas é universalmente melhor. A resposta honesta sempre vem do perfil de implantação. A tabela abaixo mapeia perfis comuns à plataforma que melhor se encaixa.
| Perfil de implantação | Asterisk | FreeSWITCH |
|---|---|---|
| PBX corporativo PME (centenas de usuários) | Boa opção |
Capaz, frequentemente excessivo |
| URA, correio de voz, fila, auto-atendimento | Comprovado em produção |
Capaz |
| PBX gerenciado por FreePBX | Nativo |
Sem GUI equivalente |
| PBX hospedado multi-tenant | Escala limitada | Projetado para isso |
| Serviço de SIP Trunking de alta densidade | Atinge o limite mais cedo | Arquitetura adequada |
| Videoconferência em larga escala | Limitado |
Primeira classe |
| Gateway WebRTC | Menos maduro | Nativo |
| CPaaS customizado / aplicação em tempo real | AMI / ARI / AGI | ESL é mais flexível |
| Produto comercial com licença permissiva | GPL restringe |
MPL permite |
Se o tempo de implantação importa mais que a flexibilidade arquitetural, o Asterisk combinado com FreePBX coloca um sistema telefônico funcionando em um dia. Se concorrência, vídeo, WebRTC ou postura de licenciamento são a restrição, o FreeSWITCH é a fundação que não atrapalha no futuro.
O que nenhuma das duas plataformas foi projetada para ser: um SBC
Esta é a parte que a maioria das comparações FreeSWITCH vs Asterisk ignora, e importa mais que vários dos pontos de comparação acima.
Tanto FreeSWITCH quanto Asterisk são motores de processamento de chamadas. Plataformas de PBX construídas para lidar com dialplans, lógica de roteamento, conferência, URA, correio de voz e gerenciamento de chamadas em nível de aplicação. Nenhuma delas foi projetada para ser um Controlador de Borda de Sessão, o dispositivo de borda de rede que fica entre a infraestrutura de voz e o mundo externo.
Quando você conecta qualquer uma das plataformas diretamente a provedores de SIP Trunking, interconexões de operadoras ou a internet pública, você expõe seu motor de processamento de chamadas a tráfego SIP não confiável. Ataques de registro em massa, varreduras SIP, tentativas de DDoS, mensagens SIP malformadas de implementações incompatíveis de operadoras, tentativas fraudulentas de chamadas que podem gerar milhares de dólares em cobranças antes que alguém perceba. Um PBX não foi arquitetado para lidar com nada disso.
O que um SBC dedicado faz que um PBX não consegue
Ocultação de topologia esconde endereços de rede internos de peers externos. Sem um SBC no caminho, cada SIP INVITE saindo do PBX expõe a topologia IP interna para a operadora.
Normalização SIP traduz entre implementações SIP incompatíveis de operadoras. Formatos de cabeçalhos, sequências de negociação de codecs, métodos de sinalização DTMF e comportamento de session timer variam por provedor. O SBC entrega SIP limpo e consistente ao PBX, independentemente de qual operadora originou a chamada.
Proteção contra DoS e DDoS bloqueia ataques de flood SIP, varredura de registro e ataques volumétricos na borda da rede. Asterisk e FreeSWITCH expõem ACLs básicas, mas nenhum deles é fortalecido contra ataques SIP sustentados na camada de aplicação da forma que um SBC dedicado é.
Terminação TLS e SRTP acontece no SBC, que criptografa em direção às operadoras e provedores de SIP Trunking sem forçar o PBX a gerenciar cadeias de certificados e overhead de criptografia por sessão. A referência mais detalhada está no nosso guia de configuração TLS e SRTP para SBC.
Proteção contra fraude em tempo real aplica pontuação de risco por chamada, bloqueio dinâmico e integração com serviços de inteligência contra fraude. Isso pertence à borda da rede, não dentro do PBX.
Para a visão mais ampla de onde motores de sinalização SIP open-source e plataformas B2BUA (incluindo FreeSWITCH e Asterisk) terminam e um SBC comercial começa, veja nossa análise de opções de SBC open-source.
A arquitetura de referência: PBX + SBC trabalhando juntos
A implantação de referência para qualquer serviço de voz em produção usando Asterisk ou FreeSWITCH coloca um SBC dedicado na DMZ. Uma interface voltada para a WAN (provedores de SIP Trunking, operadoras, usuários remotos); a outra voltada para a LAN protegida onde o PBX opera.
Provedores de SIP Trunking se conectam ao SBC, não ao PBX. O SBC cuida da terminação TLS, normalização de cabeçalhos SIP, detecção de fraude e controle de acesso, e depois entrega SIP limpo para a instância Asterisk ou FreeSWITCH para processamento de chamadas. O PBX nunca vê SIP externo bruto, e a topologia interna da rede nunca é exposta.
Como o ProSBC se encaixa nesta arquitetura
ProSBC é um Controlador de Borda de Sessão de grau de operadora, baseado em software, construído exatamente para esse padrão de implantação. Ele roda na mesma infraestrutura que você já usa, incluindo VMware, KVM/Proxmox, AWS, Microsoft Azure e baremetal, então é implantado junto com uma instância existente de Asterisk ou FreeSWITCH sem hardware novo. Capacidade de até 60.000 sessões simultâneas por servidor e 1.024 Pontos de Acesso de Rede (NAPs) significa que uma única instância ProSBC pode servir múltiplos servidores PBX em toda uma rede de voz.
O motor de roteamento programável baseado em Ruby se integra com qualquer sistema externo via HTTP. Plataformas de detecção de fraude como TransNexus ClearIP, serviços de assinatura STIR/SHAKEN, bancos de dados LNP, ou seus próprios sistemas de faturamento e provisionamento, todos se conectam ao fluxo de chamadas. A camada SBC se torna uma parte ativa e programável do pipeline de processamento de chamadas que cuida de segurança, conformidade e normalização multi-operadora antes que o tráfego chegue ao PBX.
Os preços por assinatura começam a partir de US$ 1,40 por sessão por ano, sem hardware para comprar. O teste gratuito de 30 dias com download imediato e ativação online permite avaliar o ProSBC junto com uma implantação existente de Asterisk ou FreeSWITCH na sua própria infraestrutura. A licença permanente ProLab, que oferece três sessões sem limite de tempo, estende esse acesso para trabalho contínuo de laboratório e integração.
Perguntas frequentes
O FreeSWITCH é melhor que o Asterisk?
Nenhum dos dois é universalmente melhor. O FreeSWITCH é a escolha mais forte para implantações de alta concorrência, plataformas multi-tenant e aplicações WebRTC. O Asterisk é o caminho mais rápido para um PBX funcional, com a maior comunidade e a GUI de gerenciamento FreePBX. A escolha certa depende dos requisitos específicos da implantação.
FreeSWITCH ou Asterisk podem funcionar como um SBC?
O FreeSWITCH às vezes é usado em configurações similares a SBC para proxy SIP básico e manipulação de cabeçalhos. Nenhuma das duas plataformas oferece o conjunto completo de funcionalidades de SBC (ocultação de topologia, proteção contra DoS/DDoS, STIR/SHAKEN, prevenção de fraude em tempo real e capacidade de sessões de grau de operadora) que um SBC dedicado como o ProSBC entrega. Para redes de voz em produção conectadas a provedores de SIP Trunking ou à internet pública, um SBC dedicado é a abordagem recomendada.
Preciso de um SBC com Asterisk ou FreeSWITCH?
Sim, se a implantação se conecta a provedores de SIP Trunking, interconexões de operadoras ou à internet pública. Um SBC protege o PBX contra ataques na camada SIP, normaliza implementações SIP incompatíveis entre operadoras, criptografa sinalização e mídia na borda da rede e cuida de funções de conformidade como STIR/SHAKEN. Sem um, o PBX fica exposto diretamente a tráfego SIP não confiável.
Qual é a diferença entre um PBX e um SBC?
Um PBX cuida do processamento de chamadas: dialplans, lógica de roteamento, correio de voz, URA, conferência e ramais. Um SBC cuida da borda da rede: segurança SIP, ocultação de topologia, normalização de protocolo, criptografia e conformidade. Em uma arquitetura de produção, o SBC fica entre o PBX e o mundo externo, protegendo e normalizando o tráfego antes que ele chegue ao motor de processamento de chamadas.
O ProSBC pode funcionar junto com o FreePBX?
Sim. O ProSBC fica na frente de qualquer sistema baseado em Asterisk, incluindo FreePBX. O SBC cuida dos troncos voltados para as operadoras, criptografia e proteção contra fraude, enquanto o FreePBX continua gerenciando ramais, URAs, filas e a configuração do dia a dia do PBX. Este é um dos padrões de implantação mais comuns para provedores de serviços gerenciados que operam FreePBX para múltiplos clientes.
Conclusão
FreeSWITCH e Asterisk são ambas excelentes plataformas de telefonia open-source que atendem diferentes perfis de implantação. O Asterisk é o caminho mais rápido para um PBX funcional com o ecossistema de comunidade mais forte. O FreeSWITCH é a plataforma na qual você constrói quando escala de grau de operadora, WebRTC ou controle programático completo sobre o processamento de chamadas são os requisitos.
Qualquer que seja a plataforma escolhida, conecte-a ao mundo externo através de um SBC dedicado. O PBX cuida de dialplans e aplicações. O SBC cuida de segurança, normalização, conformidade e prevenção de fraude na borda da rede. Essa separação é como redes de voz em produção permanecem seguras e confiáveis.
Combine seu PBX com um SBC de grau de operadora
ProSBC é o Controlador de Borda de Sessão de grau de operadora que fica entre qualquer implantação Asterisk ou FreeSWITCH e o mundo externo. É um B2BUA completo com TLS/SRTP independente por grupo de troncos, manipulação profunda de cabeçalhos SIP, ocultação de topologia, mitigação de DoS/DDoS e um motor de roteamento programável em Ruby que se integra com detecção de fraude, assinatura STIR/SHAKEN e serviços LNP via HTTP.
O ProSBC suporta até 60.000 sessões simultâneas por servidor e 1.024 Pontos de Acesso de Rede, implantável em Microsoft Azure, AWS, VMware, KVM/Proxmox e baremetal. Os preços por assinatura começam a partir de US$ 1,40 por sessão por ano sem hardware para comprar.
Quer experimentar o ProSBC primeiro? Inicie seu teste gratuito de 30 dias.
Boa opção
Sem GUI equivalente