← maurobernal.com.ar

Etiqueta: elastix

  • Issabel – Error 500 con Smarty

    Hacía tiempo que no instalaba una PBX con Issabel desde 0. Ya estando a mediados del 2021, creí que el proceso iba a salir redondo, y no se iba a presentar ningún problema. Que pena enterarme que sigue teniendo algunos bugs.

    Esta vez, luego de terminar la instalación, y actualizar paquetes (yum update), al ingresar al portar web tenía un error 500.

    Por ello lo primero que debes hacer es ir a ver logs:

    tail -f /var/log/httpd/ssl_error_log

    Un error se repetía con cada intento de acceso que realizaba:

    [Sun Jun 13 11:51:43.298260 2021] [:error] [pid 1312] [client 172.0.4.102:52760] PHP Fatal error: Uncaught –> Smarty: unable to create directory /var/www/html/var/templates_c <– \n thrown in /usr/share/php/Smarty/sysplugins/smarty_internal_runtime_writefile.php on line 51

    Lo primero que debes hacer es entender el mismo:

    smarty_internal_runtime_writefile.php

    Es el encargado de escribir la cache en su directorio destino. Aquí te das la idea es que una cuestión de permisos

    unable to create directory /var/www/html/var/templates_c

    Aquí confirmamos la teoría de cúal es el directorio que no tiene permisos (o que no existe)

    La solución es bastante sencilla:

    • Creamos el directorio
    • Le damos permisos
    mkdir /var/www/html/var/templates_c
    chmod 777 /var/www/html/var/templates_c
    

    Con esto debería ser mas que suficiente para solucionar el problema.

  • No graba en las transferencias

    El siguiente problema fue detectado en un Elastix 4.0 con Asterisk 11.24. No descartó que persista en Issabel, pero habría que confirmar.

    El origen de la cuestión es que las grabaciones no incluía las transferencias. Para ser más claro, una llamada entrante (IN) que era dirigida hacia una cola (queue), es atendida por un coordinador. Luego este la vuelve a transferir, y en ese momento que realiza el corte (hangup), ya que alguien lo atendía del otro lado, la grabación se cortaba.

    Esto puntualmente tiene que ver con una propiedad de asterisk (herencia), la cúal no estaba seteada. La forma de correguirlo es agregando la siguiente línea en el archivo: extensions_override_freepbx.conf (o extensions_override_elastix.conf)

    Dependiente de tu versión deberías verificar en cúal de esos dos archivos agregar la línea

    1-Haz backup de tu archivo

    cp /etc/asterisk/extensions_override_freepbx.conf /etc/asterisk/extensions_override_freepbx.conf.bak

    2-Busca la siguiente línea

    exten => s,n(record),MixMonitor(${MIXMON_DIR}${CALLFILENAME}.${MIXMON_FORMAT},,${MIXMON_POST})

    3-Agregá al final de esta (y en una nueva línea) , lo siguiente

    exten => s,n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes)

    4-Reinicia el servicio del asterisk

    sudo service asterisk restart

    o ingresa a la consola del asterisk y haz un reinicio por aplicación

    Stopping and Restarting Asterisk From The CLI – Asterisk Project – Asterisk Project Wiki

    core restart gracefully

    Listo!!!

    A partir de ahora, la llamada inicial, contendrá en la grabación todas las transferencias que puede haber sufrido, hasta el último corte (Tanto del cliente o del agente) que haya transcurrido.

  • Renovar certificado de Elastix o Issabel

    La aparición de asterisk como alternativa a las centrales telefónicas pagas motivo la creación de diferentes aplicaciones que tomaran como base este servicio, y facilitarán su administración mediante interfaces web. Este es el caso de AsteriskNow, hoy FreePBX (https://www.freepbx.org/). Continuando con esta idea hubo empresas que aprovecharon esta idea, y crearon una aplicación que trabajara sobre el esquema anterior. Así fue que Palos Santos Solutions de la mano de Edgar Landivar fundaron Elastix.

    Hoy Elastix ya desaparecido del mercado, y con la lenta continuación del proyecto a través de Issabel (https://www.issabel.org/) es que seguimos usando ambas distro de esta PBX. Lo que resulta muy común que luego de varios años de tener nuestras plantas en producción ya tendremos nuestros certificados SSL vencidos, y recibimos el molesto mensaje de advertencia por parte de nuestros navegadores.

    Estos son los simples pasos para generar un nuevo certificado SSL para nuestra PBX con Elastix o Issabel

    Crear un nuevo certificado

    Lo primero que haremos es generar nuestro nueva key. En este punto nos solicitará un password.

    openssl genrsa -des3 -out server.key 1024

    A partir de este pediremos el certificado autoafirmado. Deberemos completar los datos de nuestra organización.

    openssl req -new -key server.key -out server.csr
    openssl x509 -req -days 730 -in /root/server.csr -signkey /root/server.key -out /root/server.crt

    Ahora podremos reemplazar nuestra key y certificado actual. Si tienes duda de donde están puedes verificar en: /etc/httpd/conf.d/ssl.conf

    (opcional) hacemos un backup de la key y el certificado actual

     cp /etc/pki/tls/private/localhost.key /etc/pki/tls/private/localhost.key.bakcp /etc/pki/tls/certs/localhost.crt /etc/pki/tls/certs/localhost.crt.bak

    Reemplazamos los mismos

    cp server.key /etc/pki/tls/private/localhost.key
    cp server.crt /etc/pki/tls/certs/localhost.crt
    Reiniciamos el servicio. En este momento nos solicitará el password que usamos antes en la key
    service httpd restart

    Ya está listo.

Tags

tsql (27)mssql (26)sql (20)devops (20)dotnet (18)docker (15)performance (14)contenedores (11)dotnet10 (10)linux (9)csharp (8)microservicios (7)angular (7)angular21 (7)sql server (6)issabel (6)docker-compose (6)typescript (6)mysql (5).NET (5)