Skip to main content

Manual de Software - OnePBX

Introducción

OnePBX es una plataforma de administración diseñada para gestionar servidores de comunicación SIP basados en Asterisk. Su propósito es proporcionar una interfaz fácil de usar para la configuración y monitoreo de sistemas de telefonía IP, facilitando la administración de extensiones, troncales, IVR, grabación de llamadas y otros aspectos esenciales de una central telefónica moderna.

Este documento detalla los componentes del software, su arquitectura y los módulos que conforman la plataforma, brindando una visión completa de su funcionamiento y capacidades.

Arquitectura del Sistema

OnePBX sigue un modelo de arquitectura de tres capas, asegurando modularidad y facilidad de mantenimiento:

  • Capa de Presentación (Frontend): Desarrollada con tecnologías web modernas como Bootstrap y jQuery, proporciona una interfaz intuitiva para los administradores del sistema.
  • Capa de Aplicación (Backend): Implementada en PHP sobre Apache, maneja la lógica de negocio, la autenticación de usuarios y la comunicación con la base de datos.
  • Capa de Datos: Basada en MySQL, almacena información de usuarios, configuraciones, registros de llamadas y otros datos esenciales para la operación del sistema.

El sistema se ejecuta dentro de un entorno Docker, permitiendo una implementación flexible y escalable.

Componentes Principales

1. Frontend (Interfaz de Usuario)

El frontend es la interfaz con la que interactúan los usuarios administradores de la plataforma. Algunas de sus características clave son:

  • Diseño basado en Bootstrap: Garantiza una interfaz responsiva y adaptable a distintos dispositivos.
  • Uso de jQuery y AJAX: Para mejorar la experiencia de usuario con actualizaciones dinámicas de contenido.
  • Módulos de configuración y monitoreo: Incluyen administración de extensiones, troncales SIP, reglas de enrutamiento y gestión de llamadas.
  • Sistema de autenticación y permisos: Permite definir distintos roles de usuario con acceso restringido a ciertas funcionalidades.

2. Backend (Lógica del Negocio)

El backend de OnePBX es responsable de la ejecución de todas las reglas de negocio y de la comunicación entre el frontend, la base de datos y el servidor Asterisk. Entre sus funciones principales se encuentran:

  • Autenticación y gestión de sesiones: Manejo seguro de credenciales de usuario y sesiones activas.
  • Exposición de API REST: Proporciona endpoints para la administración del sistema.
  • Interacción con Asterisk: Mediante scripts y consultas a la base de datos, permite la gestión de extensiones, colas de llamadas y otras configuraciones de telefonía.
  • Gestión de registros de llamadas: Acceso y almacenamiento de los detalles de cada comunicación realizada.

3. Base de Datos (Persistencia de Datos)

La base de datos MySQL utilizada en OnePBX desempeña un papel crucial en la persistencia de la información. Algunos aspectos destacados incluyen:

  • Tablas de usuarios y permisos: Controlan los accesos y privilegios dentro del sistema.
  • Tablas de configuraciones SIP: Almacenan la información sobre extensiones, troncales y reglas de enrutamiento.
  • Registros de llamadas (CDR - Call Detail Records): Permiten la generación de reportes y auditorías de comunicación.
  • Persistencia de configuración IVR: Gestiona la estructura de los menús interactivos utilizados en la plataforma.

4. Módulo de Comunicación SIP

Este módulo es responsable de la integración con Asterisk para el manejo de llamadas y configuraciones SIP. Sus principales funcionalidades incluyen:

  • Gestión de extensiones: Creación, modificación y eliminación de cuentas SIP.
  • Configuración de troncales: Integración con proveedores de VoIP para la gestión de llamadas entrantes y salientes.
  • Reglas de enrutamiento de llamadas: Permiten definir cómo se distribuyen las llamadas según criterios específicos.
  • Implementación de IVR: Creación de menús interactivos para la atención automática de llamadas.
  • Grabación de llamadas: Almacenamiento y consulta de grabaciones con fines administrativos o de auditoría.

Despliegue y Configuración

OnePBX está diseñado para ejecutarse en un entorno Docker, lo que facilita su implementación y mantenimiento. A continuación, se describen los pasos para su instalación:

  1. Clonar el repositorio

    git clone https://github.com/usuario/onepbx.git
    cd onepbx
  2. Configurar las variables de entorno en un archivo .env, definiendo los parámetros de conexión con la base de datos y el servidor SIP.

  3. Levantar los servicios con Docker Compose

    docker-compose up -d
  4. Acceder a la interfaz web desde un navegador en la dirección http://localhost, o la IP asignada en el entorno de producción.

Seguridad y Buenas Prácticas

OnePBX implementa varias medidas de seguridad para garantizar la integridad de las comunicaciones y la privacidad de los datos:

  • Cifrado de datos sensibles: Las credenciales y configuraciones críticas están protegidas en la base de datos.
  • Restricción de acceso basado en roles: Cada usuario tiene permisos limitados según su función en la empresa.
  • Firewall y protección contra ataques: Se recomienda configurar reglas en el firewall y utilizar Fail2Ban para evitar accesos no autorizados.
  • Monitoreo y auditoría de registros: Se pueden revisar logs y registros de llamadas para identificar posibles incidentes de seguridad.

Conclusión

OnePBX es una plataforma robusta para la administración de servidores SIP basados en Asterisk. Su enfoque modular permite una gestión eficiente de recursos, con una interfaz amigable y una infraestructura escalable mediante contenedores Docker. La integración con tecnologías modernas y la posibilidad de personalización lo convierten en una excelente opción para empresas que buscan optimizar sus sistemas de comunicación.