Documentación de la Base de Datos - OnePBX
Introducción
La base de datos de OnePBX está diseñada para gestionar toda la información necesaria para el correcto funcionamiento de la plataforma, incluyendo usuarios, extensiones SIP, troncales, registros de llamadas, configuraciones de IVR y almacenamiento de grabaciones.
En esta documentación se detallan las principales tablas, su estructura y cómo interactúan con otros módulos del sistema.
Motor de Base de Datos
OnePBX utiliza MySQL como motor de base de datos, el cual está implementado dentro de un contenedor Docker para facilitar su despliegue y mantenimiento.
Tablas Principales
A continuación, se describe la estructura de las tablas más importantes dentro del sistema:
1. Tabla usuarios
Descripción
Almacena la información de los usuarios del sistema, incluyendo credenciales, roles y permisos.
Estructura
| Campo | Tipo de Dato | Descripción |
|---|---|---|
| id_usuario | INT (PK) | Identificador único del usuario. |
| nombre | VARCHAR(100) | Nombre completo del usuario. |
| VARCHAR(255) | Correo electrónico del usuario. | |
| password | VARCHAR(255) | Contraseña cifrada. |
| rol | ENUM('admin', 'usuario') | Tipo de usuario. |
| fecha_creacion | TIMESTAMP | Fecha de creación del usuario. |
Relaciones
- Se relaciona con
extensionespara asignar extensiones a los usuarios. - Utilizada en la autenticación del sistema.
2. Tabla extensiones
Descripción
Contiene las configuraciones de las extensiones SIP dentro del sistema.
Estructura
| Campo | Tipo de Dato | Descripción |
|---|---|---|
| id_extension | INT (PK) | Identificador único de la extensión. |
| numero | VARCHAR(10) | Número de la extensión. |
| id_usuario | INT (FK) | Relación con la tabla usuarios. |
| clave_sip | VARCHAR(255) | Contraseña de autenticación SIP. |
| estado | ENUM('activo', 'inactivo') | Estado de la extensión. |
Relaciones
- Se relaciona con
usuariospara asignar extensiones a cada usuario. - Se usa en la configuración de llamadas y autenticación SIP.
3. Tabla troncales
Descripción
Guarda la información de las troncales SIP utilizadas para conectar con proveedores de VoIP.
Estructura
| Campo | Tipo de Dato | Descripción |
|---|---|---|
| id_troncal | INT (PK) | Identificador único de la troncal. |
| nombre | VARCHAR(100) | Nombre de la troncal. |
| proveedor | VARCHAR(255) | Nombre del proveedor VoIP. |
| usuario_sip | VARCHAR(100) | Usuario de autenticación SIP. |
| clave_sip | VARCHAR(255) | Contraseña de autenticación SIP. |
| servidor_sip | VARCHAR(255) | Dirección del servidor SIP. |
Relaciones
- Se integra con
extensionesyllamadaspara el enrutamiento de llamadas.
4. Tabla llamadas
Descripción
Registra todas las llamadas realizadas y recibidas en el sistema.
Estructura
| Campo | Tipo de Dato | Descripción |
|---|---|---|
| id_llamada | INT (PK) | Identificador único de la llamada. |
| id_extension | INT (FK) | Extensión asociada a la llamada. |
| id_troncal | INT (FK) | Troncal utilizada en la llamada. |
| numero_destino | VARCHAR(20) | Número de destino de la llamada. |
| duracion | INT | Duración de la llamada en segundos. |
| fecha_hora | TIMESTAMP | Fecha y hora de la llamada. |
Relaciones
- Se relaciona con
extensionespara saber qué usuario realizó la llamada. - Se vincula con
troncalespara conocer qué proveedor manejó la llamada.
5. Tabla ivr
Descripción
Contiene la configuración de los menús interactivos utilizados para la atención de llamadas.
Estructura
| Campo | Tipo de Dato | Descripción |
|---|---|---|
| id_ivr | INT (PK) | Identificador único del IVR. |
| nombre | VARCHAR(100) | Nombre del menú IVR. |
| opciones | TEXT | Opciones del menú en formato JSON. |
| id_extension_destino | INT (FK) | Extensión destino predeterminada. |
Relaciones
- Se conecta con
extensionespara dirigir llamadas a un destino específico.
6. Tabla grabaciones
Descripción
Almacena información sobre las grabaciones de llamadas realizadas dentro del sistema.
Estructura
| Campo | Tipo de Dato | Descripción |
|---|---|---|
| id_grabacion | INT (PK) | Identificador único de la grabación. |
| id_llamada | INT (FK) | Relación con la tabla llamadas. |
| ruta_archivo | VARCHAR(255) | Ubicación del archivo de grabación. |
| fecha_hora | TIMESTAMP | Fecha y hora de la grabación. |
Relaciones
- Se relaciona con
llamadaspara asociar grabaciones con cada comunicación.
Relación entre Tablas
Conclusión
La base de datos de OnePBX está estructurada para garantizar un almacenamiento eficiente y seguro de la información crítica del sistema. Cada tabla cumple una función específica y se relaciona con otras para proporcionar una gestión integral de los recursos de telecomunicaciones.
Esta documentación servirá como referencia para desarrolladores, administradores y cualquier persona encargada de la configuración y mantenimiento del sistema.