FreePBX

FreePBX
Información sobre la plantilla
Parte de la familia Interfaz web de usuario
260px
es una interfaz web de usuario que facilita la interoperabilidad del usuario con el sistema VoIP Asterisk.
Lanzamiento inicial28 de Noviembre del 2004
Versiones0.2, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.5, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.10, 2.11.
Última versión estable2.11
Plataformas soportadasLinux
GéneroInterfaz web de usuario
Sistemas Operativos compatiblesLinux
IdiomaInglés, Español, Japonés, Ruso, Chino, Aleman, Frances, Portugés, Polaco, Italiano, Arabe.
LicenciaAGPL v3 and GPL v3
Sitio web
http://www.freepbx.org

Introducción a FreePBX

FreePBX es una interfaz web de usuario que facilita la interoperabilidad del usuario con el sistema VoIP Asterisk. Abstrae en ciertas ocasiones de tareas de cierta complejidad y por tanto resulta muy útil para usuarios o administradores que no estén muy familiarizados con Asterisk. Corre bajo licencia GPL.

Estructura

Se estructura se divide modularmente y dispone de las siguientes funcionalidades del mundo VoIP. Cabe destacar:

Compilación e instalación de Asterisk y FreePBX

A continuación se describe el procedimiento realizado para la instalación de Asterisk y FreePBX. Trabajaremos sobre un sistema operativo CentOS release 6.3, por tanto no todas las instrucciones que aparecen son análogas para el resto de distribuciones GNU/Linux, aunque podéis haceros una idea de los paquetes y dependencias VoIP instaladas.

Software utilizado

  • Lame 3.99.5 -> Codificador MP3
  • Libpri 1.4.14 -> Librerías soporte ISDN
  • Dahdi 2.6.1 (Linux + tools) -> Soporte para tarjetas de comunicaciones.
  • Asterisk 1.8.11 -> Software PBX con todas las funcionalidades de centralita.
  • FreePBX 2.10.0 -> Interfaz gráfica de usuario para Asterisk.

Asterisk

Configuraciones previas a la instalación: Desactivar Selinux En sistemas como CentOS, por defecto habilitan el servicio selinux, una especie de firewall. Asterisk recomienda desactivar el servicio para evitar problemas derivados del mismo. Editamos el fichero /etc/selinux/config

"#"> vi /etc/selinux/config

Debemos de setear la variable SELINUX = disabled Reiniciamos la máquina

"#"> init 6

Servicio NTP Instalamos el servicio NTP Network Time Protocol

"#"> yum install ntp

Lo configuramos para que inicie el servicio en el arranque

"#"> chkconfig ntpd on

Arrancamos el servicio

"#"> /etc/init.d/ntpd start

Actualizamos fecha y hora del sistema (hora.roa.es es optativo y).

"#"> ntpdate -b -s hora.roa.es

Descarga de software Asterisk con funciones VoIP

Creamos un directorio especifico para almacenar el software descargado.

"#"> cd /usr/src/

"#"> mkdir asterisk

"#"> cd asterisk/

Descargamos los paquetes a compilar para la instalación de Asterisk.

"#"> wget http://sourceforge.net/projects/lame/files/lame/3.99/lame-3.99.5.tar.gz/download

"#"> wget http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-1.8.11-current.tar.gz

"#"> wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz

"#"> wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

"#"> wget http://mirror.freepbx.org/freepbx-2.10.0.tar.gz

Instalación dependencias de Asterisk

"#"> yum install gcc gcc-c++ make libxml2-devel ncurses-devel openssl-devel curl-devel subversion

"#"> yum install kernel-devel.x86_64

Compilación e instalación de LAME

"#"> tar -xvf lame-3.99.5.tar.gz

"#"> cd lame-3.99.5

"#"> ./configure

"#"> make && make install

Compilación e instalación de LIBPRI

"#"> tar -xvf libpri-1.4-current.tar.gz

"#"> cd libpri-1.4.13/

"#"> make && make install

Compilación e instalación de DAHDI

"#"> tar -xvf dahdi-linux-complete-current.tar.gz

"#"> cd dahdi-linux-complete-2.6.1+2.6.1/

"#"> make && make install

"#"> make config

Compilación e instalación de Asterisk

"#"> tar -xvf certified-asterisk-1.8.11-current.tar.gz

"#"> cd certified-asterisk-1.8.11-cert8/

"#"> cd contrib/scripts/

"#"> ./get_mp3_source.sh

"#"> ./configure

"#"> make menuselect

"#"> make

"#"> make install

"#"> make samples

"#"> make config

Damos los permisos adecuados a los directorios implicados

"#"> groupadd asterisk

"#"> useradd -c "Usuario Asterisk" -d /var/lib/asterisk/ -g asterisk asterisk

"#"> chown -R asterisk:asterisk /etc/asterisk

"#"> chown -R asterisk:asterisk /var/run/asterisk/

"#"> chown -R asterisk:asterisk /usr/lib/asterisk/

"#"> chown -R asterisk:asterisk /var/spool/asterisk/

"#"> chown asterisk:asterisk /usr/sbin/asterisk

"#"> chown asterisk:asterisk /var/lib/php/session

FreePBX

"#"> yum install httpd

A continuación, indicaremos que el servicio web apache se ejecute con usuario asterisk y grupo asterisk. En la línea 242 del fichero /etc/httpd/conf/httpd.conf, debemos modificar la directiva User y Group que por defecto aparecen con el usuario y grupo apache.

"#"> vi +242 /etc/httpd/conf/httpd.conf

Instalación de soporte PHP

"#"> yum install php.x86_64

"#"> yum install php-pear.noarch php-mysql.x86_64 php-gd.x86_64

Instalación de servidor de base de datos MySQL

"#"> yum install mysql.x86_64 mysql-server.x86_64 mysql-devel.x86_64

Instalación de otras dependencias:

"#"> yum install perl-CPAN.x86_64

"#"> yum install audiofile-devel.x86_64

"#"> yum install sox.x86_64

"#"> yum install libtiff.x86_64 libtiff-devel.x86_64

Asignamos una contraseña al usuario root de MySQL.

"#"> mysqladmin -u root password 'xxx'

"#"> mysql -uroot -p'xxx'

Desde la consola de administración de MySQL, crearemos las dos bases de datos donde albergarán toda la estructura de tablas asociadas a FreePBX. cli-mysql> CREATE DATABASE asterisk; cli-mysql> CREATE DATABASE asteriskcdrdb; Creamos usuario asterisk y otorgamos los permisos pertinentes en ambos esquemas. cli-mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY ‘xxx’ cli-mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY ‘xxx’ A continuación ejecutamos los scripts sql predefinidos en el directorio ./SQL de tu directorio FreePBX

"#"> mysql -u asterisk -p xxx asteriskcdrdb asteriskcdrdb < ./SQL/cdr_mysql_table.sql #> mysql -u asterisk -p xxx asterisk < ./SQL/newinstall.sql

Una vez finalizado este proceso, estamos preparados para instalar freePBX.

"#"> ./install_amp

Durante la instalación, pedirá que introduzcas los siguientes parámetros de configuración. Si omitimos el valor, tomará el de por defecto [entre corchetes]

  • Usuario con permisos en base de datos asterisk: asterisk
  • Contraseña con permisos en base de datos asterisk: xxx
  • Usuario para conectar a la AMI de Asterisk: admin
  • Contraseña del usuario para conectar a la AMI de Asterisk: amp111
  • IP o hostname usada para acceder a la parte web VoIP de FreePBX: localhost
  • Extensiones simple o usuarios y dispositivos separados: extensions
  • Directorio de ejecutables: /var/lib/asterisk/bin


Durante la instalación de la interfaz VoIP FreePBX, se obtuvieron dos errores que me gustaría recalcar a continuación: Mensaje de error: “Checking for PEAR DB..FAILED”

    Solución: "#"> pear install db 

Mensaje de error:“Checking user..PHP Fatal error: Call to undifined function posix_getpwuid() in..”

    Solución: "#"> yum install php-process (esta dependencia no viene detallada en la      ayuda de FreePBX)

Una vez finalizado todo el proceso, ya estamos en disponibilidad de acceder al panel de administración web y comenzar con la configuración de los módulos deseados.

Fuente