Primeros pasos con Issabel PBX en el módulo de Sistemas de Telefonía Fija y Móvil del CIFP Tartanga LHII (1)

Issabel es una plataforma unificada de comunicaciones que, entre otras funcionalidades, ofrece soporte de PBX, servidor de fax, mensajería electrónica y  correo electrónico. Issabel nace como un “fork” de Elastix, tras la compra de esta última por 3CX en diciembre de 2016, su posterior eliminación como producto open source y de libre uso, y su conversión en un sistema 3CX para Linux.

Issabel

Issabel, al igual que otras soluciones similares como la desaparecida Elastix,  FreePBX o la nueva 3CX para Linux, dispone de módulos de pago para determinadas funcionalidades, pero a diferencia de estas, la mayoría de sus funciones pueden ser utilizadas de forma libre, manteniendo además su característica open source.

FreePBX y Elastix (3CX)

En el Centro Integrado de Formación Profesional Tartanga hemos considerado que, además de Asterisk, es necesario que los alumnos que estudian el módulo de telefonía fija y móvil, también conozcan y configuren un sistema de PBX IP basado en interfaz web, ya que de una u otra forma este tipo de sistemas son los que finalmente se encontraran cuando accedan al mercado laboral. Por ello, en este curso 2020-2021 se ha incorporado Issabel dentro de los contenidos prácticos del aula. La instalación se lleva a cabo, al igual que Asterisk, de forma virtualizada, en nuestro caso mediante VMware sobre Windows 10.

Instalación virtualizada de Issabel

La instalación de Issabel a partir de la ISO que se puede descargar desde su página web es un proceso rápido y muy sencillo, donde solo tendremos que seleccionar unas pocas cosas, como por ejemplo, la versión de Asterisk.

Selección de la versión de Asterisk

En función de la versión seleccionada de Asterisk, están disponibles una serie de opciones o complementos.

Complementos disponibles para Asterisk 16 

  • Issabel Network Licensed modules (http://issabel.guru): esta opción permite añadir un paquete de pago que incorpora un total de ocho funcionalidades, entre ellas un wizard o asistente de configuración rápida, una herramienta de captura de paquetes y depuración de errores, un módulo para configurar el port forwarding en los routers de tipo uPnP, un módulo de consola web para acceder a la consola de Issabel sin necesidad de acceder por SSH, un sistema de filtrado de IPs maliciosas basado en una lista negra de DNS, un sistema de autentificación de doble factor y un sistema de DNS dinámico que permite a Issabel funcionar con una ip dinámica. 
  • Issabel.guru community RBL: esta opción permite bloquear ataques de host conocidos como “agresores” y que están listados en una lista negra de la comunidad. Esta aplicación necesita la instalación de los servicios iptables y fail2ban.
  • Sangoma Wanpipe Driver: es un paquete de drivers para manejar todas las tarjetas de telefonía de Sangoma.

Una vez que se han seleccionado los complementos deseados, comienza el proceso de instalación de Issabel. En dicho proceso se crea el usuario root y un usuario con permisos de administración. 

Usuario root y usuario con permisos de administración

Issabel utiliza la base de datos MariaDB y será necesario crear una contraseña de acceso para dicha base de datos, a la cual se accederá mediante el usuario root. De la misma manera hay que crear una contraseña para el acceso web, siendo admin el usuario empleado para este acceso web. 

Una vez completados los pasos anteriores la instalación continuará de forma automática, mostrándose al finalizar la entrada en modo consola. 

Instalación de Issabel finalizada

Al acceder en modo consola se muestra un mensaje de aviso que recuerda la necesidad de configurar Issabel únicamente a través de su interfaz web, ya que los cambios hechos a través de la línea de comandos pueden tener consecuencias inesperadas y además dichos cambios pueden ser perdidos en posteriores actualizaciones del sistema.

Acceso mediante consola a Issabel

Acceso web a Issabel

Nota: Si no responde el interfaz web puede ser debido a uno de los dos siguientes motivos:

  • el servicio httpd, un “daemon” de apache, está detenido. (Disk And Execution Monitor)
  • el firewall de Issabel bloquea la conexión.

En el primero de los casos deberemos de comprobar el estado del servicio httpd y, en su caso, activarlo, mediante comandos como los siguientes:

  • systemctl status httpd: para comprobar el estado de httpd
  • systemctl start httpd: para iniciar el servicio si está detenido
  • systemctl is-enabled httpd: para comprobar si está activo
  • systemctl enable httpd: para activarlo si está inactivo.

En el caso del firewall, Issabel al ejecutarse sobre CentOS utiliza firewalld, que en realidad es un “frontend” de iptables. Firewalld utiliza el concepto de “zonas” y “servicios” en lugar de cadenas y reglas, y cuenta con un repertorio extenso de comandos de configuración. Algunos de estos comandos son los siguientes:

  • systemctl start firewalld
  • systemctl stop firewalld
  • systemctl enable firewalld
  • systemctl disable firewalld
  • systemctl status firewalld
  • firewall-cmd  – – state
  • firewall-cmd – – reload

Panel de control de Issabel

Issabel arranca por defecto con servicios como el de Fax o el de correo electrónico, que no son necesarios si lo que queremos es tan solo una centralita IP.  Issabel da opción de parar esos servicios o, incluso, de deshabilitarlos (disable process). El servicio Web Server no debemos detenerlo, ya que perderemos el acceso web al propio panel de control de Issabel. (si por error detenemos el servicio web server, deberemos acceder en modo consola y ejecutar el comando systemctl start httpd).

La configuración de la PBX está dividida en las secciones BasicInbound Call Control, Internal Options & Configuration, Remote Access, Advanced, Settings Options. Desde la sección Basic se configuran las extensiones, las clases de servicio, los códigos de función del sistema, los enlaces o “Trunks” y las rutas de salida a través de dichos “trunks”.

Sección “Basic” de configuración de la PBX

El proceso de creación de extensiones no presenta ninguna dificultad especial aunque cuenta con un buen número de parámetros opcionales que, sin un conocimiento claro del funcionamiento de las PBX, no son sencillos de configurar. Estos parámetros opcionales hacen referencia a cosas como tiempos de ring en llamadas, desvíos o transferencias, configuración de números de marcación directa (DID / CID), modo DTMF para enviar marcación DTMF en el transcurso de una llamada, opciones de grabación de llamadas, opciones de buzón de voz, etc.

Issabel cuenta con un amplio listado de códigos de función, los cuales son configurables y, además, por defecto están todos ellos activados.

Códigos de función en Issabel

Issabel dispone también de Clases de servicio, las cuales pueden ser asignadas de forma individual a cada una de las extensiones. Cada clase de servicio contiene funciones que pueden ser permitidas (allow) o prohibidas (Deny). Las opciones permitidas se colocan automáticamente al principio de la lista. 

Configuración de permisos y prohibiciones en las clases de servicio

Dentro de las clases de servicio, en la opción Dial Rules se configuran las rutas de marcado. Al crear una nueva clase de servicio, por defecto todas las llamadas están prohibidas, incluidas las llamadas internas. Si queremos permitir el marcado de determinados números, deberemos de introducir las Dial Rules oportunas y permitir luego dichas reglas en la opción Entire Basic Internal Dialplan

Dial Rules en las clases de servicio

Los enlaces SIP con otra PBX o con un operador de VoIP se llevan a cabo desde la opción Trunks

Ejemplo de enlace SIP con un operador de VoIP en Issabel

Como se observa en la imagen anterior, en la definición de un trunk de tipo SIP deberemos de incluir un nombre descriptivo para el enlace, un nombre para el enlace que deberá ser único en la PBX y todos los parámetros necesarios para la configuración del enlace, al igual que se hace en el fichero sip.conf cuando se configura un enlace SIP en Asterisk. No es necesario el parámetro “context” ya que Issabel creal automáticamente un context para cada enlace con el nombre “From-Trunk-nombre del enlace”.

En la definición del SIP TRUNK es necesaria también la cadena de Register, para el registro con el operador y que éste pueda enviar correctamente las llamadas entrantes a la PBX Issabel.

Ejemplo de cadena de register en un enlace SIP con Issabel

Una vez creado el SIP Trunk es necesario fijar las rutas de salida (Outbound Routes) y las rutas de entrada (Inbound Routes). 

  • Outbound Routes: permite fijar por qué enlace SIP saldrá cada una de las llamadas en función de ciertos patrones de marcado.
  • Inbound Routes: permite fijar en que extensión o extensiones sonarán las llamadas entrantes por un determinado enlace SIP.

Ejemplo de configuración de rutas salientes en Issabel

En la configuración de una ruta de salida deberemos de incluir la siguiente información:

  1. Nombre descriptivo de la ruta de salida
  2. Permite fijar si la ruta es permanente o es solo válida durante determinadas franjas horarias, que se deben configurar en Time Groups
  3. Posición donde se inserta esta ruta respecto de otras rutas existentes.
  4. Patrones de marcado. Si la llamada cumple uno de los patrones de marcado, será enviada por la ruta de salida. Si no cumple ninguno de los patrones de marcado, serán evaluadas otras rutas de salida (de acuerdo al orden fijado en Route Position)
  5. Rutas por las que se envía la llamada cuando se cumple uno de los patrones de marcado
  6. Tratamiento de la llamada saliente cuando la ruta de salida está congestionada (no hay canales SIP disponibles por estar todos ocupados). La opción “Normal Congestion” reproduce la grabación “All Circuits Busy”.

Los patrones de marcado siguen la misma estructura que en Asterisk, exceptuando la “barra baja” inicial de comienzo de patrón de marcado que se utiliza en Asterisk. Otras opciones que aparecen en los patrones de marcado en Issabel son las siguientes:

  • La opción prepend añade unos determinados dígitos al número marcado antes de sacarlo por la ruta de salida si éste cumple el patrón de marcado correspondiente.
  • La opción prefix hace lo contrario a prepend, es decir, si el número marcado cumple el patrón correspondiente, antes de ser enviado a la ruta de salida se le eliminan los dígitos del prefijo establecido en “prefix”.
  • La opción CallerID permite que el número marcado sea solo comparado con prefix  y con match pattern si el CallerID transmitido coincide con el CallerID fijado en esta opción. Cuando la llamada se efectúa desde una extensión de Issabel, el CallerID es el número de la extensión.Ejemplo de uso de CallerID

En el ejemplo anterior, desde la extensión 101 estarán permitidas las llamadas a móviles que empiezan por 6 o por 7, y desde la extensión 103 estarán permitidas las llamadas a números fijos que empiezan por 8 o por 9. 

En la configuración de una ruta de entrada deberemos de incluir la siguiente información:

Ejemplo de configuración de una ruta de entrada en Issabel

La configuración básica de Inbound Routes tan solo requiere establecer un nombre descriptivo para la ruta de entrada y un destino para las llamadas entrantes por dicha ruta. Las rutas de entrada pueden trabajar con números DID (similar a los números DDI de la RDSI) y también pueden tener en cuenta el CallerID o número del llamante. En las rutas de entrada se pueden fijar diversas opciones de configuración para la detección de fax y para la autenticación del llamante.

Las opciones para el envío de las llamadas entrantes incluyen las habituales de las centralitas clásicas (NORMAL, DIL, DISA, UCD,…..) y otro buen número de opciones que no suelen estar presentes en PBX de baja o media capacidad.

Opciones de destino de una llamada entrante

Hasta aquí se han mostrado las opciones de configuración básica de Issabel, que incluye la creación de extensiones, las clases de servicio, los códigos de función, la creación de enlaces SIP con otra PBX o con un operador de VoIP, las rutas salientes por dichos enlaces SIP y las rutas entrantes.

Otras opciones que se verán en posteriores entradas de este blog son:

  • Configuración de llamadas a grupo (Rings Groups).
  • Grupos de tiempo y condiciones de tiempo (Time Groups y Time Conditions).
  • Opción “sígueme” (Follow me).
  • Música en espera.
  • Introducción de nuevos idiomas en los mensajes de audio del sistema.
  • Bloqueo de llamadas (Blacklist).
  • IVR (Interactive Voice Response).
  • Función de devolución de llamada (CallBack).
  • Llamadas externas a través de la PBX de la empresa (función DISA).
  • Desvío del flujo de llamadas (Call Flow Control).

Todas estas aplicaciones funcionan en Issabel sin ningún tipo de restricción y sin necesidad de añadir ningún módulo “de pago”. Es decir, Issabel permite configurar y poner en producción un servidor de telefonía IP  potente y flexible, que puede ser utilizado en las comunicaciones de un amplio abanico de empresas. Issabel dispone además de versiones “hardware” de la PBX, lo cual simplifica aun más su instalación y puesta en marcha en aquellos casos donde no se desea instalar un servidor independiente.

Ejemplo de PBX Issabel en versión “hardware”

Esta entrada fue publicada en Telefonía IP. Guarda el enlace permanente.

2 respuestas a Primeros pasos con Issabel PBX en el módulo de Sistemas de Telefonía Fija y Móvil del CIFP Tartanga LHII (1)

  1. jose pajero dijo:

    muy buena explicación, 10 puntos

    https://www.accelmovil.es

  2. Anónimo dijo:

    Gracias 😊, por la explicación. 1 Mel

Deja un comentario

Tu dirección de correo electrónico no será publicada.