FreeSWITCH vs Asterisk: una comparación honesta para ingenieros VoIP

Comparación entre FreeSWITCH y Asterisk para ingenieros VoIP

FreeSWITCH y Asterisk son las dos plataformas de telefonía de código abierto más ampliamente implementadas en producción actualmente. Ambas son gratuitas, ambas funcionan dentro de redes reales de operadores y empresas, y ambas pueden manejar cualquier cosa, desde una PBX de oficina con diez extensiones hasta una plataforma de conferencias con miles de llamadas simultáneas. Si está eligiendo entre ellas, la pregunta rara vez es cuál es mejor en abstracto. Es cuál se ajusta al perfil de implementación que tiene frente a usted.

Esta comparación está escrita para los ingenieros y arquitectos que deben tomar esa decisión. Cubriremos las diferencias arquitectónicas que realmente determinan el comportamiento, el territorio de escala y protocolos que cada plataforma maneja bien, dónde quedan las diferencias de licenciamiento y ecosistema, y la parte de la pila de voz que ninguna de las dos plataformas fue diseñada para ser: el borde de la red.

Términos y conceptos clave
Un glosario de referencia rápida para los términos utilizados en este artículo.
PBX (Private Branch Exchange)Un sistema de telefonía que maneja el procesamiento de llamadas dentro de una organización: planes de marcado, lógica de enrutamiento, correo de voz, IVR, conferencias y extensiones de usuarios. Asterisk y FreeSWITCH son plataformas de PBX por software.
SBC (controlador de borde de sesión)Un dispositivo o instancia de software en el borde de la red que se ubica entre dos redes SIP, gestionando la señalización y los medios en cada lado de forma independiente. El SBC maneja el cifrado, la normalización, la ocultación de topología y la protección contra fraude para que la PBX nunca tenga que ver tráfico SIP externo sin procesar.
B2BUA (agente de usuario back-to-back)Una arquitectura en la que el dispositivo termina completamente el diálogo SIP entrante y re-origina un nuevo diálogo independiente en el otro lado. Esto le da al dispositivo control total sobre cada encabezado y parámetro de medios en ambos segmentos, lo que permite una normalización SIP profunda y cifrado independiente por segmento.
DialplanLa abstracción de enrutamiento de Asterisk definida en extensions.conf. Las llamadas entrantes se comparan con patrones y luego se envían a través de aplicaciones como Dial, Queue, Voicemail o Background. La mayor parte del trabajo de integración con Asterisk es trabajo de dialplan.
FreePBXUna GUI web de código abierto construida sobre Asterisk. FreePBX permite a los administradores configurar troncales, extensiones, IVR, grupos de timbrado y condiciones de tiempo sin editar archivos de configuración. No existe un proyecto equivalente para FreeSWITCH.
ESL (Event Socket Library)La interfaz de socket TCP bidireccional de FreeSWITCH para el control de llamadas en tiempo real. Existen clientes ESL para Lua, JavaScript, Python, Java, C y la mayoría de otros lenguajes, razón por la cual FreeSWITCH es frecuentemente la plataforma elegida para aplicaciones de voz personalizadas.
AMI / ARI / AGILas tres interfaces de integración de Asterisk. AMI (Manager Interface) es para monitoreo de eventos e inyección de comandos, ARI (REST Interface) es para el control externo de canales por parte de aplicaciones, y AGI (Gateway Interface) es para scripting del dialplan en cualquier lenguaje externo.
PJSIPEl driver de canal SIP moderno dentro de Asterisk que reemplazó al módulo heredado chan_sip. PJSIP ofrece mejor compatibilidad con TLS, SRTP, WebRTC y configuraciones multi-terminal.
WebRTCUn estándar de comunicación en tiempo real nativo del navegador con una pila de medios fija (DTLS-SRTP, ICE/STUN/TURN, Opus). FreeSWITCH tiene compatibilidad nativa con WebRTC; Asterisk lo admite a través de PJSIP con más esfuerzo de configuración.
SRTPLa versión cifrada de RTP. Obligatorio para WebRTC, obligatorio para Microsoft Teams Direct Routing, y cada vez más esperado en interconexiones de operadores. Los SBC típicamente manejan la terminación SRTP para que la PBX pueda enfocarse en el control de llamadas.
TLSEl protocolo de cifrado que protege la señalización SIP. Los SBC terminan TLS en el borde de la red para que el tráfico interno de la PBX no tenga que cargar con la sobrecarga de certificados y sesiones.
STIR/SHAKENUn marco de autenticación de llamadas requerido por la FCC para los proveedores de servicios de voz en Estados Unidos. El SBC firma las llamadas salientes con un token PASSporT y verifica los encabezados Identity entrantes.
Ocultación de topologíaUna función B2BUA que elimina las direcciones IP internas de los encabezados SIP Contact, Via y Record-Route, reemplazándolas con la dirección pública del SBC. Sin ella, cada INVITE saliente expone la topología interna de la red al operador.
NAP (punto de acceso de red) / grupo de troncalesEl bloque de configuración lógica que define cómo un operador, PBX o terminal específico se conecta al SBC. Los ajustes de cifrado, las reglas de manipulación de encabezados, los perfiles de códecs y la lógica de enrutamiento se configuran por NAP.
GPL / MPLLas dos licencias de código abierto que rigen Asterisk y FreeSWITCH respectivamente. La GPL requiere la divulgación del código fuente para distribuciones modificadas; la MPL permite el uso en productos propietarios sin esa obligación.

Arquitectura: la diferencia fundamental que define todo lo demás

La división arquitectónica entre Asterisk y FreeSWITCH es fundamental, y la mayoría de las diferencias prácticas se derivan de ella.

Asterisk: motor PBX estrechamente integrado

Asterisk fue diseñado como un reemplazo de PBX, un único proceso de software que maneja la señalización SIP, el procesamiento de medios, la ejecución del dialplan y la lógica de aplicaciones como un paquete estrechamente integrado. El modelo es multihilo pero altamente acoplado. La configuración se realiza a través de archivos de texto (extensions.conf, sip.conf o pjsip.conf), y el dialplan es la abstracción central que todo lo relacionado con el enrutamiento de llamadas utiliza.

FreeSWITCH: modular y basado en eventos

FreeSWITCH llegó después, construido por desarrolladores que habían trabajado con Asterisk y querían resolver limitaciones arquitectónicas específicas. El resultado es un sistema modular y basado en eventos donde cada segmento de llamada se ejecuta en su propio hilo dedicado a través de una máquina de estados (init, routing, execute, hangup, reporting, destroy). La señalización y el procesamiento de medios ocurren en hilos separados. Ese modelo de hilos por segmento de llamada le da a FreeSWITCH una ventaja estructural de concurrencia que el modelo altamente acoplado de Asterisk no puede igualar sin compromisos significativos.

Lo que esto significa en la práctica: Para una PBX estándar o un IVR que ejecuta unos pocos cientos de llamadas simultáneas, la diferencia arquitectónica es académica. Ambas plataformas le servirán bien. La arquitectura empieza a importar cuando la implementación es un servicio de troncales SIP de alta densidad, una plataforma de PBX hospedada multiinquilino, o un puente de conferencias que ejecuta miles de sesiones simultáneas. Ahí es donde el modelo de hilos por segmento de FreeSWITCH demuestra su valor.

Escalabilidad y rendimiento

Aquí es donde la diferencia arquitectónica se vuelve medible.

Capacidad de Asterisk

Asterisk ha sido probado con aproximadamente 4 500 llamadas simultáneas en un servidor bare metal de 48 núcleos a alrededor del 46 % de utilización de CPU en una prueba de carga publicada de VitalPBX. El código fuente lleva un límite incorporado cercano a esa cifra, que puede eliminarse recompilando. En la práctica, la mayoría de las implementaciones de producción de Asterisk operan muy por debajo del techo. Una PBX que ejecuta conferencias, correo de voz y aplicaciones IVR típicamente se mantiene cómoda en el rango de unos pocos cientos a unos mil, dependiendo del hardware y la complejidad del dialplan.

Capacidad de FreeSWITCH

FreeSWITCH maneja regularmente miles de llamadas simultáneas en hardware apropiadamente aprovisionado. El cuello de botella práctico generalmente no es FreeSWITCH en sí mismo, sino la ruta de medios RTP subyacente: el ancho de banda disponible y los paquetes por segundo en la interfaz de red. En un único puerto Gigabit Ethernet con G.711, el límite teórico superior se sitúa alrededor de 10 500 flujos de medios simultáneos, punto en el cual la capacidad de red se agota antes que la CPU.

Mapeo de perfiles de implementación

Asterisk se ajusta a PBX de pequeñas y medianas empresas, sistemas IVR, servidores de correo de voz, operadoras automáticas y aplicaciones de cola de llamadas donde las llamadas simultáneas se mantienen en los cientos. Eso cubre la mayoría de la telefonía empresarial, y Asterisk lo maneja de forma confiable.

FreeSWITCH se ajusta a servicios de interconexión de operadores y troncales SIP, plataformas de PBX hospedadas multiinquilino, conferencias a gran escala incluyendo video, pasarelas WebRTC, y cualquier implementación que necesite planificar para miles de sesiones simultáneas en un único servidor.

Protocolos, códecs y WebRTC

Ambas plataformas admiten la pila SIP/SDP/RTP y los códecs que importan para la telefonía empresarial, ambas manejan DTMF (in-band y RFC 2833), fax T.38 y negociación estándar de códecs. La diferencia aparece en la voz basada en navegador.

Compatibilidad con WebRTC

FreeSWITCH tiene compatibilidad nativa y madura con WebRTC que es significativamente más capaz que la de Asterisk. Para llamadas basadas en navegador, click-to-call desde aplicaciones web o videoconferencia integrada, es la base más sólida. Asterisk admite WebRTC a través de su driver de canal PJSIP con SRTP, pero la implementación es menos madura y requiere más esfuerzo de configuración para alcanzar el mismo resultado. El análisis más extenso de las diferencias está en nuestra comparación entre WebRTC y SIP.

Videoconferencia

FreeSWITCH fue construido con el manejo de medios como una prioridad de primer orden, incluyendo la mezcla de video multipartita. Asterisk maneja bien la conferencia de audio (MeetMe, ConfBridge), pero la videoconferencia a escala no es su punto fuerte.

Para troncales SIP tradicionales de solo voz, conexión con operadores, manejo de terminación PSTN o ejecución de un IVR, ambas plataformas cubren los protocolos que necesita sin brechas significativas.

Experiencia de desarrollo y programabilidad

Interfaces de integración de Asterisk

Asterisk expone tres interfaces de integración principales: AMI para monitoreo de eventos e inyección de comandos, ARI para el control externo de canales por parte de aplicaciones, y AGI para scripting del dialplan. El dialplan en sí, escrito en extensions.conf, es un lenguaje de dominio específico en el que la mayoría de los administradores pueden volverse productivos en una o dos semanas.

El mayor multiplicador de fuerza en el mundo de Asterisk es FreePBX, la GUI web de código abierto construida sobre Asterisk. FreePBX permite a los administradores configurar troncales, extensiones, IVR, grupos de timbrado, condiciones de tiempo y docenas de otras funciones de PBX sin abrir un archivo de configuración. Para organizaciones que desean una PBX sin experiencia profunda en dialplan, FreePBX reduce dramáticamente la barrera de entrada. No existe una GUI equivalente al estilo de FreePBX para FreeSWITCH.

Programabilidad de FreeSWITCH

FreeSWITCH expone la Event Socket Library (ESL), que proporciona control bidireccional en tiempo real de sesiones de llamada desde cualquier lenguaje que pueda abrir un socket TCP. Los dialplans pueden escribirse en Lua, JavaScript, Python o XML. El modelo es fundamentalmente más flexible que el de Asterisk. Para lógica de enrutamiento de llamadas compleja, integración en tiempo real con bases de datos externas, o la construcción de un servicio personalizado tipo CPaaS, FreeSWITCH ofrece más control programático con menos fricción.

La relación costo-beneficio del aprendizaje: Asterisk es más fácil para comenzar, especialmente cuando se combina con FreePBX. FreeSWITCH recompensa una inversión más profunda con mayor flexibilidad, pero la configuración inicial y el modelo conceptual demandan más esfuerzo por adelantado. Si el equipo tiene habilidades sólidas en Linux y SIP y planea construir algo personalizado, la curva de aprendizaje de FreeSWITCH vale la pena. Si el requerimiento es una PBX funcionando para el viernes y el equipo es nuevo en VoIP, comience con Asterisk y FreePBX.

Licenciamiento, comunidad y soporte comercial

Asterisk: GPL

Asterisk se distribuye bajo la Licencia Pública General de GNU. Modificar Asterisk y distribuir la versión modificada activa el requisito de la GPL de hacer disponible el código fuente bajo la misma licencia. Sangoma, que adquirió Digium (el creador original de Asterisk), ofrece una opción de doble licenciamiento para casos de uso comercial donde las obligaciones de la GPL son una preocupación, además de soporte comercial, el producto PBX comercial Switchvox y módulos comerciales de FreePBX.

La comunidad de Asterisk es la más grande en telefonía de código abierto: décadas de archivos de listas de correo, publicaciones en foros, tutoriales, respuestas en Stack Overflow y módulos de terceros. Para patrones de implementación comunes, es casi seguro que alguien ya ha resuelto su problema antes.

FreeSWITCH: MPL

FreeSWITCH se distribuye bajo la Licencia Pública de Mozilla. La MPL permite el uso en productos propietarios sin las obligaciones de divulgación de código fuente de la GPL, una diferencia significativa para ISP, MSP y proveedores de software que construyen servicios de voz comerciales. SignalWire, fundada por los desarrolladores originales de FreeSWITCH, proporciona soporte comercial, servicios de FreeSWITCH hospedados en la nube y la plataforma SignalWire.

La comunidad de FreeSWITCH es más pequeña que la de Asterisk, pero se inclina hacia implementaciones de proveedores de servicios y alta escala. La documentación ha mejorado sustancialmente, aunque la profundidad de contenido contribuido por la comunidad aún favorece a Asterisk.

Asterisk o FreeSWITCH: cuál se ajusta a su implementación

Ninguna plataforma es universalmente mejor. La respuesta honesta siempre viene del perfil de implementación. La tabla a continuación mapea perfiles comunes a la plataforma que mejor se ajusta a ellos.

Perfil de implementación Asterisk FreeSWITCH
PBX de oficina para pymes (cientos de usuarios) Sí Excelente opción Capaz, a menudo excesivo
IVR, correo de voz, cola, operadora automática Sí Probado en producción Capaz
PBX gestionada con FreePBX Sí Nativo No Sin equivalente GUI
PBX hospedada multiinquilino Escala limitada Sí Diseñado para ello
Servicio de troncales SIP de alta densidad Alcanza su límite antes Sí Arquitectura adecuada
Videoconferencia a gran escala No Limitado Sí Soporte nativo
Pasarela WebRTC Menos maduro Sí Nativo
CPaaS personalizada / aplicación en tiempo real AMI / ARI / AGI Sí ESL es más flexible
Producto comercial con licencia permisiva No GPL restringe Sí MPL lo permite

Si el tiempo de implementación importa más que la flexibilidad arquitectónica, Asterisk combinado con FreePBX le permite tener un sistema telefónico funcionando en un día. Si la concurrencia, el video, WebRTC o la postura de licenciamiento son la restricción, FreeSWITCH es la base que no se interpone en el camino después.

Lo que ninguna plataforma fue diseñada para ser: un SBC

Esta es la parte que la mayoría de las comparaciones FreeSWITCH vs Asterisk omiten, y es más importante que varios de los puntos de comparación anteriores.

Tanto FreeSWITCH como Asterisk son motores de procesamiento de llamadas. Plataformas PBX construidas para manejar dialplans, lógica de enrutamiento, conferencias, IVR, correo de voz y gestión de llamadas a nivel de aplicación. Ninguna fue diseñada para ser un controlador de borde de sesión (SBC), el dispositivo en el borde de la red que se ubica entre la infraestructura de voz y el mundo exterior.

Cuando conecta cualquiera de las dos plataformas directamente a proveedores de troncales SIP, interconexiones de operadores o la internet pública, expone su motor de procesamiento de llamadas a tráfico SIP no confiable. Inundaciones de registro, ataques de escaneo SIP, intentos de DDoS, mensajes SIP malformados de implementaciones de operadores incompatibles, intentos de llamadas fraudulentas que pueden generar miles de dólares en cargos de peaje antes de que alguien lo note. Una PBX no fue diseñada para manejar nada de eso.

Lo que un SBC dedicado maneja y una PBX no puede

La ocultación de topología oculta las direcciones de red internas de los pares externos. Sin un SBC en la ruta, cada INVITE SIP que sale de la PBX expone la topología IP interna al operador.

La normalización SIP traduce entre implementaciones SIP incompatibles de operadores. Los formatos de encabezados, las secuencias de negociación de códecs, los métodos de señalización DTMF y el comportamiento de los temporizadores de sesión varían según el proveedor. El SBC entrega SIP limpio y consistente a la PBX sin importar de qué operador llegó la llamada.

La protección contra DoS y DDoS detiene las inundaciones SIP, el escaneo de registros y los ataques volumétricos en el borde de la red. Asterisk y FreeSWITCH exponen ACL básicas, pero ninguno está fortalecido contra ataques SIP sostenidos a nivel de aplicación de la manera en que lo está un SBC construido para ese propósito.

La terminación TLS y SRTP ocurre en el SBC, que cifra hacia los operadores y proveedores de troncales sin forzar a la PBX a gestionar cadenas de certificados y la sobrecarga de cifrado por sesión. La referencia más detallada está en nuestra guía de configuración TLS y SRTP para SBC.

La protección contra fraude en tiempo real aplica puntuación de riesgo por llamada, listas de bloqueados dinámicas e integración con servicios de inteligencia de fraude. Eso pertenece al borde de la red, no dentro de la PBX.

Para una revisión más amplia de dónde terminan los motores de señalización SIP de código abierto y las plataformas B2BUA (incluyendo FreeSWITCH y Asterisk) y dónde comienza un SBC comercial, vea nuestro análisis de opciones de SBC de código abierto.

La arquitectura de referencia: PBX + SBC trabajando juntos

La implementación de referencia para cualquier servicio de voz en producción que use Asterisk o FreeSWITCH coloca un SBC dedicado en la DMZ. Una interfaz mira hacia la WAN (proveedores de troncales SIP, operadores, usuarios remotos); la otra mira hacia la LAN protegida donde opera la PBX.

Los proveedores de troncales SIP se conectan al SBC, no a la PBX. El SBC maneja la terminación TLS, la normalización de encabezados SIP, la detección de fraude y el control de acceso, y luego entrega SIP limpio a la instancia de Asterisk o FreeSWITCH para el procesamiento de llamadas. La PBX nunca ve SIP externo sin procesar, y la topología de red interna nunca queda expuesta.

Cómo ProSBC se integra en esta arquitectura

ProSBC es un controlador de borde de sesión (SBC) de nivel operador, basado en software, construido exactamente para este patrón de implementación. Se ejecuta en la misma infraestructura que usted ya utiliza, incluyendo VMware, KVM/Proxmox, AWS, Microsoft Azure y bare metal, por lo que se implementa junto a una instancia existente de Asterisk o FreeSWITCH sin hardware nuevo. Una capacidad de hasta 60 000 sesiones simultáneas por servidor y 1 024 puntos de acceso de red (NAP) significa que una única instancia de ProSBC puede cubrir múltiples servidores PBX en toda una red de voz.

El motor de enrutamiento programable basado en Ruby se integra con cualquier sistema externo por HTTP. Plataformas de detección de fraude como TransNexus ClearIP, servicios de firma STIR/SHAKEN, bases de datos LNP o sus propios sistemas de facturación y aprovisionamiento se conectan al flujo de llamadas. La capa SBC se convierte en una parte activa y programable del pipeline de procesamiento de llamadas que maneja la seguridad, el cumplimiento normativo y la normalización multioperador antes de que el tráfico llegue a la PBX.

Los precios por suscripción comienzan desde tan solo USD 1.40 por sesión por año, sin hardware que comprar. La prueba gratuita de 30 días con descarga inmediata y activación en línea le permite evaluar ProSBC junto a una implementación existente de Asterisk o FreeSWITCH en su propia infraestructura. La licencia permanente ProLab, que ofrece tres sesiones sin límite de tiempo, extiende ese acceso para trabajo continuo de laboratorio e integración.

Preguntas frecuentes

¿Es FreeSWITCH mejor que Asterisk?

Ninguno es universalmente mejor. FreeSWITCH es la opción más sólida para implementaciones de alta concurrencia, plataformas multiinquilino y aplicaciones WebRTC. Asterisk es el camino más rápido hacia una PBX funcional, con la comunidad más grande y la GUI de gestión FreePBX. La elección correcta depende de los requisitos específicos de la implementación.

¿Pueden FreeSWITCH o Asterisk funcionar como un SBC?

FreeSWITCH se utiliza a veces en configuraciones tipo SBC para proxying SIP básico y manipulación de encabezados. Ninguna de las dos plataformas proporciona el conjunto completo de funciones de un SBC (ocultación de topología, protección contra DoS/DDoS, STIR/SHAKEN, prevención de fraude en tiempo real y capacidad de sesiones de nivel operador) que un SBC construido para ese propósito como ProSBC ofrece. Para redes de voz en producción conectadas a proveedores de troncales SIP o a la internet pública, un SBC dedicado es el enfoque recomendado.

¿Necesito un SBC con Asterisk o FreeSWITCH?

Sí, si la implementación se conecta a proveedores de troncales SIP, interconexiones de operadores o la internet pública. Un SBC protege la PBX de ataques a nivel SIP, normaliza implementaciones SIP incompatibles entre operadores, cifra la señalización y los medios en el borde de la red, y maneja funciones de cumplimiento como STIR/SHAKEN. Sin uno, la PBX queda expuesta directamente a tráfico SIP no confiable.

¿Cuál es la diferencia entre una PBX y un SBC?

Una PBX maneja el procesamiento de llamadas: dialplans, lógica de enrutamiento, correo de voz, IVR, conferencias y extensiones de usuarios. Un SBC maneja el borde de la red: seguridad SIP, ocultación de topología, normalización de protocolos, cifrado y cumplimiento normativo. En una arquitectura de producción, el SBC se ubica entre la PBX y el mundo exterior, protegiendo y normalizando el tráfico antes de que llegue al motor de procesamiento de llamadas.

¿Puede ProSBC funcionar junto con FreePBX?

Sí. ProSBC se ubica frente a cualquier sistema basado en Asterisk, incluyendo FreePBX. El SBC maneja las troncales orientadas al operador, el cifrado y la protección contra fraude mientras FreePBX continúa gestionando extensiones, IVR, colas y la configuración diaria de la PBX. Este es uno de los patrones de implementación más comunes para proveedores de servicios gestionados (MSP) que ejecutan FreePBX para múltiples clientes.

Conclusión

FreeSWITCH y Asterisk son ambas excelentes plataformas de telefonía de código abierto que sirven a diferentes perfiles de implementación. Asterisk es el camino más rápido hacia una PBX funcional con el ecosistema de comunidad más fuerte. FreeSWITCH es la plataforma sobre la que se construye cuando la escala de nivel operador, WebRTC o el control programático total sobre el manejo de llamadas son los requisitos.

Cualquiera que sea la plataforma que elija, conéctela al mundo exterior a través de un SBC dedicado. La PBX maneja los dialplans y las aplicaciones. El SBC maneja la seguridad, la normalización, el cumplimiento normativo y la prevención de fraude en el borde de la red. Esa separación es lo que mantiene las redes de voz en producción seguras y confiables.

Combine su PBX con un SBC de nivel operador

ProSBC es el controlador de borde de sesión (SBC) de nivel operador que se ubica entre cualquier implementación de Asterisk o FreeSWITCH y el mundo exterior. Es un B2BUA completo con TLS/SRTP independiente por grupo de troncales, manipulación profunda de encabezados SIP, ocultación de topología, mitigación de DoS/DDoS y un motor de enrutamiento programable en Ruby que se integra con servicios de detección de fraude, firma STIR/SHAKEN y servicios LNP por HTTP.

ProSBC admite hasta 60 000 sesiones simultáneas por servidor y 1 024 puntos de acceso de red (NAP), implementable en Microsoft Azure, AWS, VMware, KVM/Proxmox y bare metal. Los precios por suscripción comienzan desde tan solo USD 1.40 por sesión por año sin hardware que comprar.

¿Desea probar ProSBC usted mismo primero? Comience su prueba gratuita de 30 días.