FreePBX es una plataforma robusta que permite implementar una central telefónica IP propia. Anura, por su parte, ofrece el servicio de Troncal SIP, facilitando el acceso a llamadas entrantes y salientes para este tipo de clientes. En este tutorial, exploraremos los procedimientos correctos para configurar y poner en funcionamiento una troncal SIP entre una plataforma FreePBX y el servicio de Troncal IP de Anura.
Es importante diferenciar entre Asterisk y FreePBX. Asterisk es el motor subyacente, un software de código abierto que actúa como una plataforma central para la telefonía IP. Es muy flexible y potente, pero requiere conocimientos técnicos avanzados. Por otro lado, FreePBX es una interfaz gráfica que se ejecuta sobre Asterisk, permitiendo que incluso los usuarios con menos experiencia puedan configurar y gestionar un sistema de telefonía sin tener que editar archivos de configuración o trabajar directamente en la línea de comandos.
Las Centralitas de código abierto Asterisk proporcionan un producto a coste económico cero. Corren sobre el sistema operativo Linux y, en general, configurar una Centralita Asterisk "a pelo" es complicado. FreePBX es una solución que integra métodos gráficos para configurar una Centralita Asterisk. FreePBX proporciona una distribución Linux propia, basada en el CentOS (a su vez basada en Red Hat).
Session Initiation Protocol (SIP) trunking es un método digital utilizado para realizar y recibir llamadas telefónicas y otras comunicaciones digitales a través de una conexión a Internet. El término "troncal" en SIP trunking se refiere a líneas telefónicas virtuales que permiten realizar llamadas por Internet a cualquier persona con un número de teléfono. Los troncales SIP no solo manejan llamadas de voz, sino que también pueden usarse para comunicaciones multimedia, integrando servicios de voz, video y mensajería. Los troncales SIP están reemplazando gradualmente las líneas telefónicas analógicas y RDSI, y muchos países ya planean eliminar los servicios RDSI.
Anteriormente, las empresas utilizaban circuitos RDSI o líneas de cobre, que se instalaban físicamente en sus instalaciones. El troncal SIP, sin embargo, sustituye estas líneas telefónicas analógicas por una alternativa digital. Esto se logra dividiendo las llamadas en "paquetes digitales" y transmitiéndolos a través de una red de datos.
¿Cómo Funciona el Troncal SIP?
Los troncales SIP agrupan varias líneas SIP, típicamente más de 20. Estos troncales actúan como intermediarios entre las conexiones telefónicas de una empresa y su Proveedor de Servicios de Telefonía por Internet (ITSP). Puede visualizar el troncal SIP como una línea telefónica simulada que conecta una residencia o negocio con un proveedor de servicios de telefonía. Facilita la comunicación bidireccional entre la red corporativa y varias otras redes telefónicas y de datos. Para ilustrar, puede conectar su PBX a la Red Telefónica Pública Conmutada (RTPC).
Los canales SIP representan la alternativa digital a las líneas telefónicas tradicionales, proporcionando la capacidad para dos llamadas concurrentes: una entrante y una saliente. A diferencia de las líneas telefónicas físicas, los canales SIP adicionales se pueden agregar fácilmente según sea necesario sin necesidad de cableado.
El Protocolo de Inicio de Sesión (SIP) comprende un conjunto de directrices de comunicación utilizadas para establecer y terminar conexiones de datos a través de Internet. Facilita el inicio de sesiones de comunicación de voz en línea, permitiendo a los usuarios participar en conversaciones a través de llamadas telefónicas, videollamadas o servicios de mensajería.
Los proveedores SIP ofrecen servicios como llamadas de voz, videoconferencias y mensajería instantánea. Agrupan una o más conexiones SIP y las integran con la centralita privada (PBX) en las instalaciones de una empresa. Estas conexiones SIP se canalizan luego a través de un troncal SIP, lo que permite que las llamadas y otras comunicaciones digitales se realicen a través de una conexión a Internet. La elección del proveedor SIP depende de los servicios específicos que requiera una empresa. Si bien todos los proveedores SIP ofrecen troncales SIP a empresas con una PBX, solo un puñado de ellos proporciona una PBX IP (IP PBX) para empresas que carecen de un sistema PBX existente. Esto permite a las empresas depender únicamente de las conexiones telefónicas para aprovechar los beneficios del troncal SIP.

Configuración del Troncal SIP en FreePBX
Para empezar, primero debes descargar FreePBX; y después, asegúrate de tener acceso a la interfaz administrativa de FreePBX y de haber actualizado todos los módulos necesarios para una correcta integración. Los únicos ataques exitosos contra clientes VoIP han ocurrido con cuentas que usaban Centralitas IP Asterisk. Usar Centralitas IP Asterisk sin saber bien lo que hace es abrir una caja de truenos y a no ser que tenga razones para hacerlo y conocimiento técnico para manejarlas no lo haga. El uso de Asterisk exige un nivel avanzado de conocimiento y en general no se recomienda, ya que la mayoría de las funciones se pueden realizar mucho más fácil y económicamente directamente con la Centralita. Además exige conocimientos de Linux y Red Hat, es importante ser capaz de tapar los posibles agujeros de seguridad.
Acceso a la Configuración de FreePBX
Ingresa a la interfaz gráfica de FreePBX usando la dirección IP de tu servidor en tu navegador. Ve a "Conectividad" y selecciona "Troncales".

Agregar una Troncal SIP Nueva
Haz clic en "Añadir troncal" y luego selecciona "Añadir SIP (chan_sip) Trunk".
Dentro de la administración de módulos, deberás mover las actualizaciones de módulos y encontrarás varios módulos de FreePBX. Selecciona "Standard" y "Extended" y haz clic en "Check Online". Obtendrás varias opciones después de hacer clic en el botón "Check Online".
Haz clic en "Download ALL" para descargar todos los módulos necesarios. Debes hacer clic en "download all" porque no todos los módulos se descargan a la vez, así que asegúrate de descargar el módulo "Config Edit", ya que es muy importante.

Configuración General y de SIP
En la pestaña "General", completa los siguientes detalles:
- Trunk Name: Asigna un nombre reconocible a tu troncal.
- Outbound CallerID: Establece el ID de llamada que se enviará al realizar llamadas salientes. Es opcional pero recomendado.
Cambia a la pestaña "Outgoing". Establece el nombre del troncal a un identificador único. Bajo la sección "PEER Details", introduce la configuración SIP proporcionada por tu proveedor de VoIP. Anura te indicará cuáles debes utilizar. type=peer.
Luego, desde "sip Settings", configura "Outgoing" y "Incoming".
En la pestaña "Registration", introduce la cadena de registro proporcionada por tu proveedor de VoIP. Si un patrón marcado coincide con esta ruta, no se intentarán rutas posteriores. Si los grupos de tiempo están habilitados, las rutas posteriores se verificarán para coincidencias fuera del(los) tiempo(s) designado(s).
Los diferentes elementos del sistema de troncales SIP se detallan a continuación:
- SIP Trunks: Agrupan varias líneas SIP, típicamente más de 20.
- SIP Channels: Representan la alternativa digital a las líneas telefónicas tradicionales.
- SIP Protocol: Comprende un conjunto de directrices de comunicación utilizadas para establecer y terminar conexiones de datos sobre Internet.
- SIP Providers: Proveen servicios como llamadas de voz, videoconferencias y mensajería instantánea.

Luego, haz clic en "Submit".
Configuración de Rutas Salientes (Outbound Routes)
Como último paso, tendrás que configurar las rutas salientes. Las mismas definen por dónde se deben enviar las llamadas que se realizan desde los teléfonos registrados en la central FreePBX. En la pestaña "Dial Patterns" especificarás el filtro de qué números podrán salir por dicho Trunk. Ten cuidado con permitir todo, ya que podrías terminar pagando por llamadas a números de pago o a destinos no deseados.
Configura el patrón de los números que podrán salir por este Trunk. Por ejemplo, para permitir llamadas a números de 8 dígitos que comiencen con un 9, podrías usar `[9]XXXXXXX`. Para permitir llamadas a teléfonos móviles, puedes añadir el patrón `[6]XXXXXXXX`.
Los patrones de marcado (Dial Patterns) son cruciales para definir qué llamadas pueden salir por tu troncal. Aquí se definen reglas como:
- Rules: Define patrones de marcación.
- prepend: Dígitos a anteponer a una coincidencia exitosa.
- prefix: Prefijo a eliminar en una coincidencia exitosa.
- match pattern: El número marcado se comparará contra el prefijo + este patrón de coincidencia.
- CallerID: Si se proporciona CallerID, el número marcado solo coincidirá si el CallerID transmitido coincide con este.
Los patrones de marcado pueden incluir:
- X: Coincide con cualquier dígito del 0 al 9.
- Z: Coincide con cualquier dígito del 1 al 9.
- N: Coincide con cualquier dígito del 2 al 9.
- [1237-9]: Coincide con cualquier dígito o letra dentro de los corchetes.
- .: Comodín, coincide con uno o más caracteres (no recomendado).
Después de eso, haz clic en el botón "Submit and Apply Changes".

Configuración de Rutas Entrantes (Inbound Routes)
Posteriormente a la configuración de una troncal SIP, se deberá configurar las rutas entrantes, las cuales definirán los destinos al momento de recibir un llamado por medio de nuestra troncal. Para recibir llamadas en tu nuevo troncal SIP, configura una ruta entrante: Ve a la pestaña "Conectividad" y haz clic en "Rutas Entrantes". Haz clic en "Añadir Ruta Entrante".
Rellena los campos "DID Number" y "CID Number" si es necesario. En la sección "Set Destination", selecciona a dónde quieres que se enruten las llamadas entrantes (por ejemplo, una extensión, IVR, grupo de timbrado). Al ser la primera y única regla, usaremos un ANY / ANY e indicaremos en el destino el grupo de extensiones que acabamos de crear.
Para configurar el "Set Destination", primeramente tienes que crear una extensión. Antes de configurar las reglas entrantes, deberemos pensar si queremos hacer que cuando nos llamen al fijo entren las llamadas a una Extensión concreta o a varias. En este ejemplo creamos un grupo y sonarán todos los softphone a la vez.
3. Submit and Apply Changes.

Consideraciones Adicionales y Seguridad
Si utilizas tu centralita solo para llamadas entrantes, bloquea todas las llamadas salientes. Si no lo necesitas, bloquea al menos las internacionales y los números de pago extra españoles. Comprueba que las llamadas a estos destinos no salgan.
Si la IP (externa) es fija, en las opciones avanzadas configúrala. Esto realmente no detendrá a un buen hacker, ya que puede realizar llamadas a través de una VPN con esa máquina, pero al menos dificulta que hagan llamadas desde otros sistemas.
Si tienes fibra óptica de Movistar en tu casa o empresa, quizás no sabías que puedes usarla para conectarte mediante un softphone SIP o una centralita PBX IP para hacer y recibir llamadas de tu línea de teléfono.
Si mantienes el servidor dentro de tu oficina, te recomendamos que solo tengas abierto (forwardeado) el puerto SIP (normalmente 5060) al servidor, y bloqueados todos los demás.
Se recomienda usar códecs como G.711 para alta calidad de voz o G.729 para ahorrar ancho de banda.
Una configuración adecuada del router y firewall es esencial para el correcto funcionamiento del SIP Trunk en FreePBX, ya que permite que el tráfico SIP pase sin bloqueos.
Para comprobar el funcionamiento del SIP Trunk en FreePBX, accede a la consola de estado de troncales en FreePBX, donde puedes ver si el troncal está registrado y operativo.
Una de las mejores estrategias que se puede utilizar es comenzar con un SIP Trunk en modo demo. Muchos proveedores de SIP Trunks ofrecen este servicio, lo cual te permite hacer configuraciones y pruebas sin ningún coste mientras aprendes.
Si eres nuevo en esto, utilizar un troncal SIP en demo es una excelente opción para realizar pruebas sin riesgo.
Al principio, puede parecer un proceso complicado porque es nuevo en la configuración de troncales SIP, pero tener un troncal en demo fue una gran ventaja.
Configurar el SIP Trunk en FreePBX no siempre es un proceso libre de problemas. Verifica las IPs permitidas: Asegúrate de que las direcciones IP proporcionadas por tu proveedor para el tráfico SIP y RTP estén correctamente configuradas en tu firewall y en FreePBX.
Chequea los codecs: FreePBX permite el uso de varios codecs de audio.
Mantén todo actualizado: FreePBX recibe actualizaciones periódicas.
Si vas a configurar el SIP Trunk en FreePBX por primera vez, no dudes en recurrir al soporte técnico de tu proveedor. Ellos están ahí para ayudarte, y en muchos casos, logran despejar dudas con respuestas claras y precisas.
En mi caso, cuando configuré el troncal, recibí toda la información necesaria por parte del proveedor. Al principio, me parecía un proceso complicado porque era nuevo en la configuración de troncales SIP, pero contar con soporte personalizado fue fundamental.
Un comentario, de vez en cuando el trunk se me suele caer, tras indagar, detecté que suele ser por que no resuelve que IP tiene telefonica.net. Tras ver en foros y aunque uses los DNS de Telefónica pasa, así que por si a alguien le pasa, añadiendo en '/etc/hosts' la entrada '213.4.130.95 telefonica.net' solucionará el problema tras reiniciar la máquina.