freesbc
FreeSBC es un Session Border Controller en código abierto escrito en Go, que integra funciones como proxy SIP, relay RTP/SRTP y WebRTC en una sola aplicación estática.
Ficha actualizada 23 sept 2026, 5:59 · upstream 23 sept 2026, 5:56 · release v0.1.0
Qué es freesbc
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
FreeSBC es un software open-source de nivel empresarial diseñado para gestionar la interconexión de redes telefónicas mediante el protocolo SIP. Su arquitectura única consiste en un único binario ejecutable y un archivo YAML como fuente de configuración, lo que elimina dependencias externas, bases de datos o orquestación de contenedores. El proyecto mantiene FreeSWITCH fuera de la red pública, colocándolo en una red privada para evitar que los atacantes escuchen las llamadas. La interfaz web permite editar la configuración directamente desde el navegador y Prometheus proporciona métricas en tiempo real.
El sistema se divide en dos planes independientes: el plano trunk B2BUA para interconectar carriers o PBXs, y el plano edge proxy que actúa como puerta de entrada hacia FreeSWITCH. Ambos planos pueden configurarse por separado o simultáneamente desde un único archivo YAML. La seguridad incluye autenticación bcrypt, limitación de tráfico por IP, detección de escaneadores y soporte para mTLS.
La arquitectura permite la interconexión entre múltiples usuarios de SIP sin necesidad de registrar credenciales en el SBC, manteniendo a FreeSWITCH como el único punto de registro. Además, el sistema soporta relaje RTP/SRTP con anchos de banda dedicados, NAT traversal y WebRTC para llamadas multimedia.
- Interconectar PBXs o softswitches mediante trunks SIP B2BUA sin necesidad de mantener múltiples servidores
- Proteger la red interna de FreeSWITCH atacando directamente a la interfaz web del SBC
- Gestionar llamadas multimedia (WebRTC) entre usuarios y dispositivos móviles en un solo punto de control
- Configurar trunks SIP con autenticación IP, mTLS o registro basado en credenciales
- Implementar relaje RTP/SRTP para garantizar ancho de banda dedicado a las llamadas
- Proveer una interfaz web en tiempo real para monitorizar la salud del SBC y editar configuraciones
- Es el único proyecto que combina SIP proxy, relay RTP/SRTP y WebRTC en un solo binario estático sin dependencias externas
- Mantiene FreeSWITCH completamente privado dentro de la red interna, evitando exponer credenciales o registros a atacantes externos
- Soporta autenticación IP mediante registro basado en credenciales (RFC 3261) y mTLS para trunks SIP seguros
- Proporciona una interfaz web integrada con validación de configuración y hot-reload sin necesidad de servidores adicionales
- Incluye un sistema de escaneo de usuarios que detecta herramientas conocidas como atacantes mediante sus User-Agent signatures
- Soporta múltiples planes (Trunk B2BUA y Edge proxy) configurados desde un único archivo YAML con validación atomica
- No ofrece transcodificación de audio ni generación de CDRs, lo que limita su uso como proveedor de servicios multimedia
- El sistema no soporta clustering o escalar múltiples nodos para manejar grandes volúmenes de llamadas simultáneas
- La auto-ban por fallos del sistema está implementada pero no integrada en los planes actuales (no se alimenta con datos reales)
- No ofrece soporte nativo para TURN ni full ICE, lo que limita la conectividad en redes NAT complejas sin proxy externo
- El plano edge no soporta SUBSCRIBE/NOTIFY, lo que impide el uso de MWI o BLF en dispositivos móviles
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Instala con `go build -o freesbc ./cmd/freesbc`. La configuración se guarda en un archivo YAML y se valida antes del arranque. Para la red pública, usa el plano edge (proxy SIP/RTP/WebRTC) que es el único elemento con IP pública; FreeSWITCH permanece en la LAN privada. Para trunks B2BUA, configura peers y routes en el plano trunk. La interfaz web requiere un admin listener privado y debe protegerse con reverse proxy o HTTPS. Prometheus puede monitorizar métricas del plano edge. Se recomienda mantener una copia de seguridad del archivo YAML y usar hot-reload para evitar downtime durante actualizaciones.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.