Skip to main content

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

CampoTipo de DatoDescripción
id_usuarioINT (PK)Identificador único del usuario.
nombreVARCHAR(100)Nombre completo del usuario.
emailVARCHAR(255)Correo electrónico del usuario.
passwordVARCHAR(255)Contraseña cifrada.
rolENUM('admin', 'usuario')Tipo de usuario.
fecha_creacionTIMESTAMPFecha de creación del usuario.

Relaciones

  • Se relaciona con extensiones para 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

CampoTipo de DatoDescripción
id_extensionINT (PK)Identificador único de la extensión.
numeroVARCHAR(10)Número de la extensión.
id_usuarioINT (FK)Relación con la tabla usuarios.
clave_sipVARCHAR(255)Contraseña de autenticación SIP.
estadoENUM('activo', 'inactivo')Estado de la extensión.

Relaciones

  • Se relaciona con usuarios para 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

CampoTipo de DatoDescripción
id_troncalINT (PK)Identificador único de la troncal.
nombreVARCHAR(100)Nombre de la troncal.
proveedorVARCHAR(255)Nombre del proveedor VoIP.
usuario_sipVARCHAR(100)Usuario de autenticación SIP.
clave_sipVARCHAR(255)Contraseña de autenticación SIP.
servidor_sipVARCHAR(255)Dirección del servidor SIP.

Relaciones

  • Se integra con extensiones y llamadas para el enrutamiento de llamadas.

4. Tabla llamadas

Descripción

Registra todas las llamadas realizadas y recibidas en el sistema.

Estructura

CampoTipo de DatoDescripción
id_llamadaINT (PK)Identificador único de la llamada.
id_extensionINT (FK)Extensión asociada a la llamada.
id_troncalINT (FK)Troncal utilizada en la llamada.
numero_destinoVARCHAR(20)Número de destino de la llamada.
duracionINTDuración de la llamada en segundos.
fecha_horaTIMESTAMPFecha y hora de la llamada.

Relaciones

  • Se relaciona con extensiones para saber qué usuario realizó la llamada.
  • Se vincula con troncales para 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

CampoTipo de DatoDescripción
id_ivrINT (PK)Identificador único del IVR.
nombreVARCHAR(100)Nombre del menú IVR.
opcionesTEXTOpciones del menú en formato JSON.
id_extension_destinoINT (FK)Extensión destino predeterminada.

Relaciones

  • Se conecta con extensiones para 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

CampoTipo de DatoDescripción
id_grabacionINT (PK)Identificador único de la grabación.
id_llamadaINT (FK)Relación con la tabla llamadas.
ruta_archivoVARCHAR(255)Ubicación del archivo de grabación.
fecha_horaTIMESTAMPFecha y hora de la grabación.

Relaciones

  • Se relaciona con llamadas para 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.