Antes de comenzar la instalación de la central telefónica asterisk con freepbx se asume que ya tienes configurado ubuntu server 11.04 con LAMP (Linux, Apache, Mysql, Php el cual sera publicado mas adelante (este procedimiento funciona desde la version 8.04 en adelante).
Ahora comencemos la instalación.
Cambiar a usuario root.
* sudo su
* ingresar password sudo y luego enter.
luego hay que instalar algunas librerías necesarias para la instalación.
* apt-get install build-essential linux-headers-`uname -r` openssh-server bison flex apache2 php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient15-dev mpg123 libxml2-dev
Luego entrar en la carpeta src
* cd /usr/src/
Procedemos a descargar los archivos necesarios.
* wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.5.tar.gz
* wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.4.4.tar.gz
* wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.2.3.tar.gz
* wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz
Con los archivos descargados procedemos a la compilación e instalación de cada uno de ellos.
comenzamos con la instalación de las librerías necesarias para utilizar interfaces E1, T1 etc. y que además es necesaria para instalar asterisk.
* tar xvf libpri-1.4.11.5.tar.gz
* cd libpri-1.4.11.5
* make
* make install
Luego procedemos a compilar e instalar asterisk.
* cd ..
* tar xvf asterisk-1.8.4.4.tar.gz
* cd asterisk-1.8.4.4
* ./configure
* make
* make install
* make samples
Luego compilamos e instalamos los add-ons de asterisk.
* cd ..
* tar xvf asterisk-addons-1.6.2.3.tar.gz
* cd asterisk-addons-1.6.2.3
* ./configure
* make
* make install
* make samples
Instalamos Los sonidos extras de asterisk.
* cd /var/lib/asterisk/sounds
* wget -O – http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz | tar xvfz -
Creamos el usuario asterisk y lo agregamos al grupo apache asterisk.
* adduser asterisk –disabled-password –no-create-home –gecos “asterisk PBX user”
* adduser www-data asterisk
Cambiamos el usuario y grupo por defecto de apache.
* cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
* sed -i ‘s/^(User|Group).*/1 asterisk/’ /etc/apache2/apache2.conf
Cambiamos el script safe_asterisk de sh a bash.
* sed -i ’1 {s/<sh>/bash/}’ /usr/sbin/safe_asterisk
Creamos el script que gestionara el servicio de asterisk, esto solo lo copian y pegan en la consola.
cat > /etc/init.d/asterisk <<-END_STARTUP
#!/bin/bash
### BEGIN INIT INFO
# Provides: asterisk
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Asterisk daemon.
# Description: This script handles start/stop states of asterisk.
### END INIT INFO
set -e
set -a
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Asterisk"
NAME=amportal
DAEMON=/usr/sbin/$NAME
test -x $DAEMON || exit 0
d_start() {
amportal start
}
d_stop() {
amportal stop
}
d_reload() {
amportal restart
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
restart|force-reload)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 10
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0
END_STARTUP
Modificamos el arranque de asterisk.
* chmod 755 /etc/init.d/asterisk
* update-rc.d asterisk defaults 90 10
Ahora Instalamos FreePbx.
* tar xvf freepbx-2.9.0.tar.gz
* cd freepbx-2.9.0
* cp amportal.conf /etc/
Luego creamos la base de datos, aqui necesitaremos la contraseña de root, la cual ingresamos al momento de instalar mysql desde el instalador de LAMP.
* export MYSQL_ROOT_PW=rootpassword
* export ASTERISK_DB_PW=asterisk_password
* mysqladmin -u root -p${MYSQL_ROOT_PW} create asterisk
* mysqladmin -u root -p${MYSQL_ROOT_PW} create asteriskcdrdb
* mysql -u root -p${MYSQL_ROOT_PW} asterisk < SQL/newinstall.sql
* mysql -u root -p${MYSQL_ROOT_PW} asteriskcdrdb < SQL/cdr_mysql_table.sql
* mysql -u root -p${MYSQL_ROOT_PW} <<-END_PRIVS
* GRANT ALL PRIVILEGES ON asterisk.* TO [email protected] IDENTIFIED BY “${ASTERISK_DB_PW}”;
* GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO [email protected] IDENTIFIED BY “${ASTERISK_DB_PW}”;
* flush privileges;
* END_PRIVS
Modificamos amportal.conf
* sed -i “s/# (AMPDBUSER=.*)/1/” /etc/amportal.conf
* sed -i “s/# (AMPDBPASS=).*/1${ASTERISK_DB_PW}/” /etc/amportal.conf
* sed -i “ [email protected] (AMPWEBROOT=).*@1/var/www/@” /etc/amportal.conf
* sed -i “ [email protected] (FOPWEBROOT=).*@1/var/www/ [email protected] ” /etc/amportal.conf
* sed -i “ [email protected] (FOPWEBADDRESS=).*@[email protected]” /etc/amportal.conf
Modificamos php.ini
* sed -i ‘s/(^upload_max_filesize = ).*/120M/’ /etc/php5/apache2/php.ini
Cambiamos los permisos a los directorios de trabajo.
* chown asterisk. /var/run/asterisk
* chown -R asterisk. /etc/asterisk
* chown -R asterisk. /var/{lib,log,spool}/asterisk
* chown -R asterisk. /var/www/
Habilitamos la configuracion de asterisk.conf
* sed -i ’1 s/([directories]).*/1/’ /etc/asterisk/asterisk.conf
Instalamos FreePbx.
* ./start_asterisk start
* ./install_amp
Reiniciamos Apache
* /etc/init.d/apache2 restart
Luego.
* ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
* amportal start
Luego ya podemos ingresar por http a FreePbx.
http://direccionip/
Cuando entres a FreePbx te logueara sin password, para habilitar el password has lo siguiente.
* sudo nano /etc/amportal.conf
Busca la siguiente linea
* AUTHTYPE=none
y cambiala por.
* AUTHTYPE=database
luego cierras el navegador y vuelves a ingresar. si inicia sin password dale clic en logout y luevo vuelve a conectar y tendras autenticacion con los datos siguientes
usuario admin
clave admin
Para Cambiar la clave de amportal ejecuta lo siguiente.
* sudo nano /etc/amportal.conf
Busca AMPMGRPASS=passwordpordefecto y modificalo por tu password.
luego.
* sudo nano /etc/asterisk/manager.conf
busca secret =passwordpordefecto y modificalo por el passwor que utilizastes en AMPMGRPASS
guardas con control+x luego s luego enter.
una ves completado esto reinicia amportal.
* sudo amportal restart
Luego de esto reiniciamos y verificamos que asterisk y freepbx funcionan correctamente y tenemos un servidor de telefonia listo para funcionar.
una ves montado el servidor hay variedad de software de telefonia ip con el que podemos utilizar asterisk en mi caso utilizo SflPhone ya que utilizo linux pero para windows pueden utilizar X-lite, Bria etc.
Ahora comencemos la instalación.
Cambiar a usuario root.
* sudo su
* ingresar password sudo y luego enter.
luego hay que instalar algunas librerías necesarias para la instalación.
* apt-get install build-essential linux-headers-`uname -r` openssh-server bison flex apache2 php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient15-dev mpg123 libxml2-dev
Luego entrar en la carpeta src
* cd /usr/src/
Procedemos a descargar los archivos necesarios.
* wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.5.tar.gz
* wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.4.4.tar.gz
* wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.2.3.tar.gz
* wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz
Con los archivos descargados procedemos a la compilación e instalación de cada uno de ellos.
comenzamos con la instalación de las librerías necesarias para utilizar interfaces E1, T1 etc. y que además es necesaria para instalar asterisk.
* tar xvf libpri-1.4.11.5.tar.gz
* cd libpri-1.4.11.5
* make
* make install
Luego procedemos a compilar e instalar asterisk.
* cd ..
* tar xvf asterisk-1.8.4.4.tar.gz
* cd asterisk-1.8.4.4
* ./configure
* make
* make install
* make samples
Luego compilamos e instalamos los add-ons de asterisk.
* cd ..
* tar xvf asterisk-addons-1.6.2.3.tar.gz
* cd asterisk-addons-1.6.2.3
* ./configure
* make
* make install
* make samples
Instalamos Los sonidos extras de asterisk.
* cd /var/lib/asterisk/sounds
* wget -O – http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz | tar xvfz -
Creamos el usuario asterisk y lo agregamos al grupo apache asterisk.
* adduser asterisk –disabled-password –no-create-home –gecos “asterisk PBX user”
* adduser www-data asterisk
Cambiamos el usuario y grupo por defecto de apache.
* cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
* sed -i ‘s/^(User|Group).*/1 asterisk/’ /etc/apache2/apache2.conf
Cambiamos el script safe_asterisk de sh a bash.
* sed -i ’1 {s/<sh>/bash/}’ /usr/sbin/safe_asterisk
Creamos el script que gestionara el servicio de asterisk, esto solo lo copian y pegan en la consola.
cat > /etc/init.d/asterisk <<-END_STARTUP
#!/bin/bash
### BEGIN INIT INFO
# Provides: asterisk
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Asterisk daemon.
# Description: This script handles start/stop states of asterisk.
### END INIT INFO
set -e
set -a
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Asterisk"
NAME=amportal
DAEMON=/usr/sbin/$NAME
test -x $DAEMON || exit 0
d_start() {
amportal start
}
d_stop() {
amportal stop
}
d_reload() {
amportal restart
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
restart|force-reload)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 10
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0
END_STARTUP
Modificamos el arranque de asterisk.
* chmod 755 /etc/init.d/asterisk
* update-rc.d asterisk defaults 90 10
Ahora Instalamos FreePbx.
* tar xvf freepbx-2.9.0.tar.gz
* cd freepbx-2.9.0
* cp amportal.conf /etc/
Luego creamos la base de datos, aqui necesitaremos la contraseña de root, la cual ingresamos al momento de instalar mysql desde el instalador de LAMP.
* export MYSQL_ROOT_PW=rootpassword
* export ASTERISK_DB_PW=asterisk_password
* mysqladmin -u root -p${MYSQL_ROOT_PW} create asterisk
* mysqladmin -u root -p${MYSQL_ROOT_PW} create asteriskcdrdb
* mysql -u root -p${MYSQL_ROOT_PW} asterisk < SQL/newinstall.sql
* mysql -u root -p${MYSQL_ROOT_PW} asteriskcdrdb < SQL/cdr_mysql_table.sql
* mysql -u root -p${MYSQL_ROOT_PW} <<-END_PRIVS
* GRANT ALL PRIVILEGES ON asterisk.* TO [email protected] IDENTIFIED BY “${ASTERISK_DB_PW}”;
* GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO [email protected] IDENTIFIED BY “${ASTERISK_DB_PW}”;
* flush privileges;
* END_PRIVS
Modificamos amportal.conf
* sed -i “s/# (AMPDBUSER=.*)/1/” /etc/amportal.conf
* sed -i “s/# (AMPDBPASS=).*/1${ASTERISK_DB_PW}/” /etc/amportal.conf
* sed -i “ [email protected] (AMPWEBROOT=).*@1/var/www/@” /etc/amportal.conf
* sed -i “ [email protected] (FOPWEBROOT=).*@1/var/www/ [email protected] ” /etc/amportal.conf
* sed -i “ [email protected] (FOPWEBADDRESS=).*@[email protected]” /etc/amportal.conf
Modificamos php.ini
* sed -i ‘s/(^upload_max_filesize = ).*/120M/’ /etc/php5/apache2/php.ini
Cambiamos los permisos a los directorios de trabajo.
* chown asterisk. /var/run/asterisk
* chown -R asterisk. /etc/asterisk
* chown -R asterisk. /var/{lib,log,spool}/asterisk
* chown -R asterisk. /var/www/
Habilitamos la configuracion de asterisk.conf
* sed -i ’1 s/([directories]).*/1/’ /etc/asterisk/asterisk.conf
Instalamos FreePbx.
* ./start_asterisk start
* ./install_amp
Reiniciamos Apache
* /etc/init.d/apache2 restart
Luego.
* ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
* amportal start
Luego ya podemos ingresar por http a FreePbx.
http://direccionip/
Cuando entres a FreePbx te logueara sin password, para habilitar el password has lo siguiente.
* sudo nano /etc/amportal.conf
Busca la siguiente linea
* AUTHTYPE=none
y cambiala por.
* AUTHTYPE=database
luego cierras el navegador y vuelves a ingresar. si inicia sin password dale clic en logout y luevo vuelve a conectar y tendras autenticacion con los datos siguientes
usuario admin
clave admin
Para Cambiar la clave de amportal ejecuta lo siguiente.
* sudo nano /etc/amportal.conf
Busca AMPMGRPASS=passwordpordefecto y modificalo por tu password.
luego.
* sudo nano /etc/asterisk/manager.conf
busca secret =passwordpordefecto y modificalo por el passwor que utilizastes en AMPMGRPASS
guardas con control+x luego s luego enter.
una ves completado esto reinicia amportal.
* sudo amportal restart
Luego de esto reiniciamos y verificamos que asterisk y freepbx funcionan correctamente y tenemos un servidor de telefonia listo para funcionar.
una ves montado el servidor hay variedad de software de telefonia ip con el que podemos utilizar asterisk en mi caso utilizo SflPhone ya que utilizo linux pero para windows pueden utilizar X-lite, Bria etc.