Instalar Asterisk en la Banana pi

Descargar la última imagen de bananian pi. Una distribución de debian optimizada para la banana pi

Para instalarla seguimos los pasos de la página https://www.bananian.org/download

Insertamos las tarjeta SD en el ordenador

Grabamos la imagen en la tarjeta con el comando

dd if=bananian-1504.img of=/dev/<your-sd-card> bs=1M && sync

Conectamos la bananapi a la red y nos conectamos a ella.

ssh root@192.168.2.140

contraseña pi

Una vez conectados vamos a proceder a configurarla con

bananian-config

Instalamos los paquetes necesarios para la instalación de Asterisk y FreePBX

apt-get update

apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev libiksemel-dev libiksemel-utils libiksemel3 libgnutls26

Si tenemos problemas para compilar los paquetes <code>apt-get install u-boot-tools uboot-mkimage libusb-1.0-0 libusb-1.0-0-dev libncurses5-dev</code>

pear uninstall db
pear install db-1.7.14
reboot

Descargamos los siguientes fuentes

cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget https://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz

Instalamos DAHDI Este paquete DAHDI-LINUX contiene los módulos de kernel necesario para poder utilizar las tarjetas de comunicaciones. <code> tar xvfz dahdi-linux-complete-current.tar.gz cd dahdi-linux-complete-* make all make install make config </code>

Soporte para google talk

tar xf iksemel-1.4.tar.gz
cd iksemel-1.4
./configure
make
make install

Instalamos libpri

cd /usr/src
tar xvfz libpri-1.4-current.tar.gz
cd libpri-1.4.15
make
make install

Instalamos Asterisk

cd /usr/src
tar xvfz asterisk-11-current.tar.gz
cd asterisk-11.16.0
./configure
contrib/scripts/get_mp3_source.sh
make menuselect

Seleccione los módulos en la categoría de complementos - app_mysql, cdr_mysql, format_mp3, res_config_mysql

make
make install
make config
Descargamos los archivos de audio
<code>
cd /var/lib/asterisk/sounds
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz
tar xvfz asterisk-extra-sounds-en-gsm-current.tar.gz
rm asterisk-extra-sounds-en-gsm-current.tar.gz

Instalamos FreePBX

export VER_FREEPBX=2.11
cd /usr/src
git clone http://git.freepbx.org/scm/freepbx/framework.git freepbx
cd freepbx
git checkout release/${VER_FREEPBX}

Creamos un unsuario para asterisk y asignamos permisos

adduser asterisk --disabled-password --gecos "Asterisk User"
chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /usr/lib/asterisk
mkdir /var/www/html
chown -R asterisk. /var/www/

Modificamos la configuración del Apache

sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
service apache2 restart

Creamos la base de datos para asterisk

cd /usr/src/frepbx
mysqladmin -u root -p create asterisk
mysqladmin -u root -p create asteriskcdrdb
mysql -u root -p asterisk < SQL/newinstall.sql
mysql -u root -p asteriskcdrdb < SQL/cdr_mysql_table.sql

Establecemos los permisos en mysql

mysql -u root -p -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';"
mysql -u root -p -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';"
mysql -u root -p -e "flush privileges;"

amp109 es la contraseña por defecto para el usuario de base de datos Mysql asterisk, pero puede asignar su propia contraseña

Ejecutamos asterisk

/usr/src/freepbx/start_asterisk start

Terminamos la instalación de FreePBX

./install_amp —webroot /var/www

Dejamos todo por defecto salvo donde pide la ip que tenemos que poner la del equipos donde está instalado asterisk

amportal a ma installall

<note>en mi caso al ejecutar el comando daba un error de que faltaba el comando sudo por lo que tuve que instalarlo</code>

amportal a reload

Cargamos el frepbx

ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
amportal restart

Una vez que entramos al WebGUI del FreePBX si al habilitar o actualizar un módulo tenemos el siguiente mensaje de error Symlink from modules failed

Tenemos que hacer lo siguiente para corregirlo

cd /etc/asterisk
rm ccss.conf confbridge.conf features.conf sip.conf iax.conf logger.conf extensions.conf sip_notify.conf

Volvemos a la interfaz web y vamos al Module Admin y desinstalamos y volvemos a reinstalar el módulo Camp On.

Referencias

http://wiki.freepbx.org/display/HTGS/Installing+FreePBX+2.11+on+Debian+Wheezy

https://andreymkheev.wordpress.com/

http://wiki.freepbx.org/display/HTGS/First+Steps+After+Installation

http://misapuntesde.com/