Instalación de FreePBX

Dependencias

Debemos tener instaladas numerosas dependencias para poder utilizar FreePBX. Esta es una lista que nos puede dar una pista si algo falla:

Instalación

Antes de nada mencionar que hacer funcionar a asterisk+freepbx con Apache da muchos quebraderos de cabeza, a no ser que apache se ejecute con el usuario asterisk. Para ello me remito al tutorial para ejecutar dos apaches en una misma máquina, que se puede encontrar en la miscelánea de este documento. En caso de optar por este camino, obviaremos las instrucciones relativas a cambiar permisos para que el usuario www-data pueda acceder a determinadas partes de asterisk.

Módulos de FreePBX

Instalación de módulos adicionales

En la carpeta modules están los módulos sysinfo, asteriskinfo y sysstatus que podemos instalar.

Todos ellos debemos copiarlos a admin/modules y luego activarlos desde el gestor de módulos de la sección "Tools"

  • Sysinfo

    • Este módulo nos permitirá obtener información del sistema tal como espacio libre en disco, memoria libre, tipo y velocidad del procesador, etc.

  • Sysstatus

    • Este módulo nos permitirá saber si los procesos principales del sistema están funcionando: cron, apache, asterisk y ssh.

      Si queremos permitir que se pueda reiniciar vía web usando el módulo sysadmin, debemos permitir a www-data ejecutar el comando shutdown en /etc/sudoers

      Para que se visualice correctamente el estado de cron, renombramos el ejecutable cron a crond. Editamos /etc/init.d/cron y cambiamos las referencias a cron por crond

  • Asteriskinfo

    • Este módulo nos muestra información del servidor asterisk, líneas en uso, canales,etc. Para que funcione, debemos permitir a www-data ejecutar el comando asterisk en /etc/sudoers

Panel de administración en flash

Para poder usarlo, debemos ejecutar /var/www/html/panel/safe_opserver (por ejemplo desde un script de inicio)

Asimismo si al abrirlo nos manda a una url que no corresponde, comprobaremos el valor asignado en /etc/amportal.conf

Usuarios del panel de administración web

Para poder usar por primera vez el panel, debemos establecer "AUTHTYPE=none" en /etc/amportal.conf

  1. Entramos en la configuración vía web, y en la sección "Administrators" borramos los que haya, si los hay.

  2. Creamos un administrador nuevo. No nos pedirá contraseña.

  3. Establecemos "AUTHTYPE=database" en /etc/amportal.conf

  4. Entramos vía web poniendo sólo nombre de usuario, sin contraseña

  5. Ahora ya podemos establecer contraseña y crear usuarios nuevos, con los permisos que queramos asignarles

Registro de llamadas

Originalmente, el módulo cdr_mysql venía incluido en el paquete asterisk-addons. En las últimas versiones este paquete va integrado con el principal, pero el módulo cdr_mysql está desactivado por defecto. Para poder utilizarlo recompilaremos asterisk seleccionando la opción Add-ons->cdr_mysql al ejecutar >make menuselect. El resto de la compilación sigue el proceso normal (make && make install)

Posteriormente editaremos el fichero /etc/asterisk/cdr_mysql.conf, ajustaremos los valores correspondientes a nuestra base de datos asteriskcdrdb y reiniciaremos asterisk.