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:
-
Clonar el repositorio
git clone https://github.com/usuario/onepbx.git
cd onepbx -
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. -
Levantar los servicios con Docker Compose
docker-compose up -d -
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.