Muchas veces nos encontramos con la necesidad de obtener reportes de las llamadas realizadas, y vemos que no es posible generarlos utilizando la herramienta 3CX Log Reporter que es instalada junto con 3CX Phone System.

Dado que la información de todas las llamadas realizadas es guardada en la base de datos de 3CX Phone System, un camino posible para obtener los reportes que necesitamos es ir directamente a la fuente, conectarnos a la base de datos y obtener la información cruda, para luego darle formato con alguna herramienta como Microsoft Excel.

¿Qué herramienta puedo utilizar para acceder a la base de datos?

3CX Phone System utiliza la base de datos Postgres. Es posible utilizar cualquier herramienta que permita navegar la información de esa base de datos, como por ejemplo:

  • pgAdmin: es la herramienta de administración que se instala con la base de datos. Es gratuita y permite navegar las tablas de manera simple, o ejecutar cualquier sentencia SQL para obtener la información requerida. Puede descargarse desde https://www.pgadmin.org/
  • SQL Manager Lite for PostgreSQL: este es un producto que tiene una versión paga y otra Freeware, y permite navegar las tablas de manera simple, o ejecutar cualquier sentencia SQL para obtener la información requerida. Puede descargarse desde https://www.sqlmanager.net/products/postgresql/manager

¿Cómo obtengo la información para conectarme a la base de datos?

Una vez instalada una de las herramientas descriptas, es necesario conectarse a la base de datos. El usuario que utiliza 3CX Phone System es “logsreader”, y la contraseña es la que se encuentra en el archivo de configuración “3CX Phone System.ini” (usualmente en C:Program Files3CX PhoneSystemBin), en la sección “[CallReports]”. Por ejemplo:

[CallReports]
USERNAME=logsreader
DATABASE=phonesystem
PORT=5480
DRIVER=PostgreSQL Unicode
SERVER=localhost
ReadOnly=1
PASSWORD=3Yf*x8!C?Z5aGp-2=9jN

En esa sección hay otra información importante para la conexión, como el nombre de la base de datos y el puerto.

¿Dónde se encuentra la información de las llamadas?

Una vez que estamos conectados a la base de datos, estamos en condiciones de obtener la información de las llamadas. Las tablas que contienen la información son dos:

  • callhistory3: contiene la información detallada de cada llamada. Los nombres de las columnas son bien descriptivas para entender el contenido de cada uno de los campos.
  • calldetails: contiene la información detallada de cada parte de una llamada. Los nombres de las columnas son bien descriptivas para entender el contenido de cada uno de los campos.

Por ejemplo, una llamada que es atendida por una recepcionista digital y luego transferida a una extensión generará un registro en la tabla “callhistory3” considerando la totalidad de la llamada, y dos registros en la tabla “calldetails”, el primero para la parte donde estuvo conectada la recepcionista digital, y el segundo para la parte donde estuvo conectada la extensión. De esta forma es posible conocer con detalle la duración de cada parte de la llamada, si la llamada fue atendida o no en cada tramo, etc.