¿No sabes por dónde empezar? Ayúdanos normalizando artículos.
¿Tienes experiencia? Crea alguno de estos artículos de actualidad.
FreePBX
|
Sumario
[ocultar]- 1 Introducción a FreePBX
- 2 Estructura
- 3 Compilación e instalación de Asterisk y FreePBX
- 4 Software utilizado
- 5 Asterisk
- 6 Instalación dependencias de Asterisk
- 7 Compilación e instalación de LAME
- 8 Compilación e instalación de LIBPRI
- 9 Compilación e instalación de DAHDI
- 10 Compilación e instalación de Asterisk
- 11 FreePBX
- 12 Instalación de soporte PHP
- 13 Instalación de otras dependencias:
- 14 Fuente
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:
- Módulo de lenguajes para la Internacionalización del sistema.
- Módulo de colas de llamadas.
- Condiciones de tiempo.
- Grupos de ringado.
- Colas de llamadas.
- Enrutamiento entrante.
- Reglas de enrutamiento saliente. Soporte SIP, IAX, DAHDI, ZAPTEL.
- Lista Negra.
- Módulo de locuciones.
- Módulo de Parking.
- Buzones de voz VoIP.
- FOP Flash Operator Panel.
- CDR Call Detail Records.
- IVR: Interactive Voice Response
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/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.