CONTENIDO

  1. ¿Qué es Asterisk?

  2. Proceso de integración

  3. Ejecución de módulo SPAsteriskConnector-1.4.2

  4. Configuración de parámetros de Asterisk

    1. Modificaciones a archivos de Asterisk para la integración con el CRM

    2. Creación de usuarios en Asterisk

    3. Configuración de teléfonos en el CRM

1. ¿Qué es Asterisk?

Asterisk es una plataforma de código abierto que puede convertir un ordenador de propósito general en un sofisticado servidor de comunicaciones VoIP. Y tendrás la posibilidad de hacer la integración del CRM con esta plataforma, para llevar a tu empresa al siguiente paso en actualización y modernización.

2. Proceso de integración

Para llevar a cabo este proceso, debes seguir el paso a paso que te presentamos a continuación:

  1. Descargar el siguiente conector: SPAsteriskConnector-1.4.2.zip

  2. Ubicarlo en el servidor de Asterisk, preferiblemente en la siguiente ruta: /usr/local

    Y, desde aquí, extraer el archivo relacionado anteriormente.

  3. Configurar el archivo que se encuentra en la ubicación sugerida en el servidor /usr/local/SPAsteriskConnector/conf/SPVtigerAsteriskConnector.properties

    # IP del servidor, pero se recomienda dejar 0.0.0.0

    ServerIP = 0.0.0.0

    # Puerto al que se conectara el modulo PBX de datacrm

    ServerPort = 5000

    # Ruta donde se guardaran registros del llamadas del conector

    AsteriskAppDBPath = /usr/local/SPAsteriskConnector/db/

    # Ip del servidor asterisk, puede quedar 127.0.0.1

    AsteriskServerIP = 127.0.0.1

    # datos establecidos en /etc/asterisk/manager.conf

    AsteriskServerPort = 5038

    AsteriskUsername = admin

    AsteriskPassword = <admin password>

    # Informacion que sacamos del crm

    # Ruta html del CRM

    VtigerURL = https://<servidor>.datacrm.la/datacrm/<nombrecrm>/

    # Llave secreta que sacamos al activar el modulo PBX

    VtigerSecretKey = 18630538765409ff761dd2b

    CheckKeyOnListenRequest=true

    LookUpVariablesNames=

    DefaultOriginateChannelProtocol = SIP

  4. Obtener la llave de vtiger (VtigerSecretKey) de tu CRM. Para ello, debes:

    1. Ingresar al CRM

    2. Hacer clic en el engranaje y luego en "Configuración CRM".

    3. Hacer clic en el menú “Estudio” y luego en "Administrador de módulos".

    4. Buscar el módulo “Administrador PBX” y activarlo marcando la casilla.

    5. Actualizar o recargar el CRM.

    6. Hacer clic en el menú "Integración" y luego en “Administrador de PBX”.

    7. Luego, se mostrará la información del administrador donde te indicará la “VtigerSecretKey” de tu CRM.

    8. Editamos los campos del servidor de Asterisk para que se pueda hacer la conexión.

      • Asterisk App URL: dirección IP o URL del servidor asterisk y el puerto declarado en el ServerPort del archivo SPVtigerAsteriskConnector.properties

      • Contexto de salida: contexto que configuraremos en Asterisk para que identifique las llamadas que proceden del CRM, en el caso de ejemplo, fue llamado “vtiger” (se explicara más abajo la configuración de esta parte).

      • Tronco de salida: usaremos el predeterminado de asterisk “from-internal” que es el que está configurado en este ejemplo con las extensiones creadas dentro de asterisk

      • Clave secreta: Esta es generada automáticamente por el CRM al habilitar el módulo pbx.

      3. Ejecución de módulo SPAsteriskConnector-1.4.2

Te recomendamos que personal de sistemas o un experto en el tema sea quién se encargue de los siguientes pasos, dado el nivel de conocimiento requerido.

En esta sección se encontrarán los pasos para habilitar el módulo de SPAsteriskConnector.

  • Ejecución desde terminal Linux

    cd /usr/local/SPAsteriskConnector/bin

    ./start.sh

  • Creación de un servicio en systemd para que inicie el módulo automáticamente cuando el servidor de asterisk sea reiniciado por mantenimiento o similar.

nano /etc/systemd/system/asteriskConnector.service

  • Copiamos el siguiente código de bash para crear el servicio en systemd

[Unit]

Description=SPAsteriskConnector

After=network.target

[Service]

Type=oneshot

RemainAfterExit=yes

User=root

ExecStart=/usr/local/SPAsteriskConnector/bin/start.sh

ExecStop=/usr/local/SPAsteriskConnector/bin/stop.sh

[Install]

WantedBy=multi-user.target

  • Recargamos systemctl, habilitamos e iniciamos el servicio de systemd

systemctl daemon-reload

systemctl enable asteriskConnector.service

systemctl start asteriskConnector.service

  • Validamos que el servicio se encuentre ejecutando en systemd y en estatus active

    [root@issabel-pbx SPAsteriskConnector]# systemctl status asteriskConnector.service

    ● asteriskConnector.service - Conector SPAsteriskConnector

    Loaded: loaded (/etc/systemd/system/asteriskConnector.service; enabled; vendor preset: disabled)

    Active: active (exited) since Sat 2022-03-05 18:50:40 -05; 10s ago

    Process: 14109 ExecStop=/usr/local/SPAsteriskConnector/bin/stop.sh (code=exited, status=0/SUCCESS)

    Process: 14633 ExecStart=/usr/local/SPAsteriskConnector/bin/start.sh (code=exited, status=0/SUCCESS)

    Main PID: 14633 (code=exited, status=0/SUCCESS)

    CGroup: /system.slice/asteriskConnector.service

    ├─14638 /bin/sh /usr/local/SPAsteriskConnector/bin/webapp.sh

    └─14648 java -cp ../source/classes:../libs/* spasteriskconnector.SPAsteriskConnector

    Mar 05 18:50:40 issabel-pbx systemd[1]: Starting Conector SPAsteriskConnector...

    Mar 05 18:50:40 issabel-pbx systemd[1]: Started Conector SPAsteriskConnector.

  • Rectificamos que SPAsteriskConnector esté en modo escucha en el puerto seleccionado desde una página web utilizando la IP o dominio del servidor asterisk, en este ejemplo se utilizó el subdominio https://asterisk.datacrm.la para el despliegue de un servidor PBX Issabel - Asterisk 11, usado en el desarrollo de este tutorial.

4. Configuración de parámetros de Asterisk

  1. modificaciones a archivos de Asterisk para la integración con el CRM

    Contexto de salida “vtiger”: empleado en la configuración del módulo PBX dentro del CRM.

  • Editamos el archivo /etc/asterisk/extensions_custom.conf agregando las líneas de configuración al final

2. Creación de usuarios en Asterisk

# Agregamos al final del archivo antes de la linea final de la advertencia de Issabel

[vtiger]

exten = _x.,1,Set(CALLFILENAME=${STRFTIME(${EPOCH},,OUT_%d%m%y_%H-%M)}_${CALLERID(num)}_${EXTEN})

exten = _x.,2,MixMonitor(/var/spool/asterisk/monitor/${CALLFILENAME}.wav,b)

exten = _x.,3,Set(CDR(recordpath)=/var/spool/asterisk/monitor/${CALLFILENAME}.wav,b)

exten = _x.,4,Dial(SIP/${EXTEN})

# Esta linea se debe mantener

; END ISSABEL CALL-CENTER CONTEXTS DO NOT REMOVE THIS LINE

Para este tutorial, se crearon unas extensiones de prueba desde el mismo módulo de creación de extensiones de la plataforma Issabel

En la configuración de cada extensión, se deja por default el contexto que asigna Asterisk a cada nueva extensión, en el caso de asterisk 11 “from-internal”

Podemos ver acorde a la configuración, cuál es el contexto por default de asterisk

3. Configuración de teléfonos en el CRM

Ahora debes configurar las mismas extensiones que tienes en el PBX de Asterisk en el CRM. Para lo cual debes:

  • Dar clic en el engranaje y luego en "Configuración CRM".

  • Hacer clic en el menú de la izquierda "Administrar usuarios" y luego en "Usuarios.

  • Seleccionar al usuario que deseas configurar relacionando la extensión y luego clic en el botón "Editar".

  • Ubicar el bloque “Más información” y encontrarás un campo llamado “Extensión telefónica CRM”. Es allí donde debes relacionar el número de extensión para este usuario.

  • Presionas el botón "Guardar" para que tus cambios queden actualizados.

Ahora podrás realizar llamadas, pero debes descargar un Software, te damos algunos ejemplos como Zoiper para celulares, Ekiga o X-lite. Para computadores, debes configurar con antelación estos programas, ya sea con el móvil o el pc para que desde allí te ingresen o salgan las respectivas llamadas.

Esperamos que este artículo haya sido de gran utilidad. Si tienes alguna duda o sugerencia, te invitamos a que nos escribas en nuestro chat y con gusto estaremos allí para ayudarte ¡Ten un buen día!

¿Encontró su respuesta?