<li>Procedimiento para Instalar Asterisk VoIP en Ubuntu Server
<li> Linux Version : Ubuntu Server
<li> Linux Kernel : 2.6.22
<li> Conmutador de VoIP : Asterisk V.1.4.13
<li> Admninistrador Web : FreePBX 2.3.1
<li> Particion de Ejemplo
<li> /boot 100 MB
<li> /var 4 GB
<li> /home 6 GB
<li> /usr 12 GB
<li> / 6 GB
<li> Swap 600 MB
<li> Memoria RAM: 512 MB
<li> CPU: Intel(R) Pentium(R) 4 CPU 3.06GHz
<li> Ethernet: 10/100 VT6102 [Rhine-II]
<li> FXO Card: 1 FXO Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
<li> FXS card:
<li> Sound: VT8233/A/8235/8237 AC97 Audio Controller
<li> Bluetooth:
<li> WiFi:
<li> Other Devices:
<li> ************************************************************************************************
<li> ************************************************************************************************
<li> ******************************** Primera Parte - Instalacion de Paquetes
<li> ************************************************************************************************
<li> ************************************************************************************************
<li> Despues de instalar Ubuntu cambiar password a root
sudo passwd root
password
<li>Editar /etc/apt/sources.list y activar los siguientes repositorios
sudo editor /etc/apt/sources.list
<li>descomentar y guardar
deb http://us.archive.ubuntu.com/ubuntu/ dapper universe
deb-src http://us.archive.ubuntu.com/ubuntu/ dapper universe
<li> 1 Instalar librerias para acceso via SSH
sudo apt-get install openssl libssl-dev ssh
<li> 2 librerias de compilacion de software, sirve para compilar Asterisk
sudo apt-get install gcc make g++
<li> 3 verificar que versiones de kernel tengo instalado en el servidor
uname -a
<li> me regresa algo como esto
Linux MexRom 2.6.22-14-generic <li>1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linux
<li> 4 buscar las fuentes del kernel con las versiones instaladas en el server
apt-cache search 2.6.22
<li> 5 instalamos los encabezados para 2.6.15 espec?ficos para el procesador (linux-headers-2.6.15-23-386 , linux-source-2.6.15 , linux-image-2.6.15-23-386)
sudo apt-get install linux-headers-2.6.22-14-generic linux-image-2.6.22-14-generic linux-source-2.6.22
<li> 6 sinstalamos algunas utiler?as de linux, Lynx es un navegador web de texto, nmap es sniffer depuertos, emacs es un editor de textos potente aunque puedes usar editor instalado ya en Ubuntu y sencillo de usar
sudo apt-get install nmap lynx emacs21
<li> 7 festival son paquetes para el manejo de voz
sudo apt-get install festival festival-dev
<li> 8 para poder usar la consola de asterisk
sudo apt-get install ncurses-base ncurses-bin ncurses-term libncurses5 libncursesw5 libncurses5-dev libncursesw5-dev
<li> 9 librerias de compresion
sudo apt-get install zlib1g zlib1g-dev
<li> 10 librerias requeridas por el servicio web de FreePBX
sudo apt-get install bison bison-doc
<li> 11 librerias requeridas por el servicio web de FreePBX
sudo apt-get install libxml2 libxml2-dev
<li> 12 librerias requeridas por el servicio web de FreePBX
sudo apt-get install libtiff4 libtiff4-dev
<li> 13 librerias requeridas por el servicio web de FreePBX
sudo apt-get install libasound2 libgsm1 libltdl3 libpq4 libspeex1 libsqlite0 libtonezone1 libaudiofile0 libaudiofile-dev
<li>en caso que se vaya a usar una tarjeta sangoma, se requiere instalar flex para que funcione con el driver wanpipe
sudo apt-get install flex
<li> 14 librerias requeridas por Asterisk para el manejo de ayuda y de extraccion de archivos del CVS
sudo apt-get install subversion curl doxygen
<li> 15 librerias requeridas por el servicio web de FreePBX
sudo apt-get install libnet-telnet-perl mime-construct libipc-signal-perl libmime-types-perl libproc-waitstat-perl
<li> 16 Servidor web para FreePBX
sudo apt-get install apache2
<li> 17 librer?as requeridas por el servicio web de FreePBX
sudo apt-get install php5 php5-cli php5-mysql php-pear libapache2-mod-php5 php5-curl php5-gd php-db
<li> 18 base de datos para el CDR y FreePBX
sudo apt-get install mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev
<li> despues de instalar MySQL probablemente nos pedir? una configuracin como la siguiente
Pedira un password de configuracion para el usuario root de mysql
Configurar como Internet Site
localhost.localdomain
<li> ************************************************************************************************
<li> ************************************************************************************************
<li> ******************************** 2da Parte.. ********************************
<li> ************************************************************************************************
<li> ************************************************************************************************
<li> 19 creamos un repositorio local para almacenar los archivos fuente de asterisk
mkdir ~/asterisk
cd asterisk
<li> Obtenemos los archivos y os almacenamos en el directorio creado
<li> 20 gateway entre freepbx y asterisk
wget http://www.cpan.org/modules/by-category/25_Bundles/Asterisk/asterisk-perl-0.10.tar.gz
<li> 21 navaja suiza para manejo de archivos de sonido
wget http://superb-east.dl.sourceforge.net/sourceforge/sox/sox-14.0.0.tar.gz
wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
<li> 22 Obtenemos los paquetes para el administrador web de FreePBX, podemos aqui instalar la version 2.2.1 de FreePBX la mas actualizada y seguir con el mismo procedimiento
wget http://easynews.dl.sourceforge.net/sourceforge/amportal/freepbx-2.3.1.tar.gz
<li> 23 Obtenemos los archivos para Asterisk
wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.13.tar.gz
wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.4.5.1.tar.gz
wget http://downloads.digium.com/pub/libpri/releases/libpri-1.4.1.tar.gz
wget http://downloads.digium.com/pub/asterisk/releases/asterisk-addons-1.4.4.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-ulaw-current.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-ulaw-current.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-moh-freeplay-ulaw.tar.gz
<li> Nos ubicamos en el directorio /usr/src
cd /usr/src/
<li> 24 Instalamos el Editor de Sonidos de Asterisk
sudo tar -xvzf ~/asterisk/lame-3.97.tar.gz
cd lame-3.97
sudo ./configure --prefix=/usr --sysconfdir=/etc
sudo make && sudo make install
<li> 25 Instalamos SOX, utiler?a para manejar los sonidos en Asterisk
cd /usr/src/
sudo tar -xzvf ~/asterisk/sox-14.0.0.tar.gz
cd sox-14.0.0
sudo ./configure
sudo make
sudo make install
<li> 26 Instalamos el gateway entre Asterisk y FreePBX
cd /usr/src/
sudo tar -xzvf ~/asterisk/asterisk-perl-0.10.tar.gz
cd asterisk-perl-0.10
sudo perl Makefile.PL
sudo make all
sudo make install
<li> 27 Instalamos FreeBX el Administrador Web de Asterisk, aqui podemos tambien instalar la version 2.2.1 en vez de la 2.1.1
cd /usr/src
sudo tar -xzvf ~/asterisk/freepbx-2.3.1.tar.gz
cd /usr/src/freepbx-2.3.1
<li> Comenzamos a instalar la Base de Datos para el Administrador Web FreePBX y para los CDR.
<li> Iniciacilizacion de la implementaci?n de Bases de Datos en Mysql para Asterisk
<li> Accedemos a MySQL si no han configurado su password de root mysql, solo presionar Enter de lo contrario introducir el password
mysql -u root -p
ENTER
show databases;
use mysql ;
<li> cambiamos los password de root en caso de que el usuario root de mysql no tuviera password
update user set password = password("PaSsWoRd") where user = "root";
<li> Creamos el usuario para la base de datos del conmutador y del cdr
grant all privileges on *.* to asterisk@localhost identified by "4st3r1sk";
flush privileges;
exit
<li> Nos validamos con el usuario de Asterisk creado
mysql -u asterisk -p
<li> Creamos las bases de datos dentro de la consola de mysql
create database asteriskcdrdb;
create database asterisk;
exit
<li> Pasamos el esquema y la informacion de los scripts de bases de datos por default de FreePBX
mysql -u asterisk -p asterisk < /usr/src/freepbx-2.3.1/SQL/newinstall.sql
mysql -u asterisk -p asteriskcdrdb < /usr/src/freepbx-2.3.1/SQL/cdr_mysql_table.sql
<li> Termina la configuracion de Bases de Datos en Mysql para Asterisk
<li> 28 creamos el usuario y grupo que manejara los procesos de asterisk, cambiamos su password y creamos el directorio de asterisk
sudo groupadd asterisk
sudo useradd -c "PBX asterisk" -d /var/lib/asterisk -g asterisk asterisk
sudo passwd asterisk
sudo mkdir /var/run/asterisk
sudo chown asterisk:asterisk /var/run/asterisk
<li> 29 Cambiamo el usuario propietario de Apache
sudo emacs /etc/group
<li> para guardar presionar ctrl+x ctrl+s, para salir ctr+x, ctr+c
www-data:x:33:asterisk
<li> ejecutamos el comando find para ubicar el archivo de configuracion de apache
find /etc/apache2/ -type f | xargs grep Group
<li> 30 editamos el archivo de apache
sudo emacs /etc/apache2/apache2.conf
<li>en emacs para buscar, presionar Ctrl+s e introducir un patron de busqueda en este caso por ejemplo www
<li> 31 cambiar el usuario y grupo de www-data a asterisk
User www-data
Group www-data
<li> cambiar por
User asterisk
Group asterisk
<li> guardamos para guardar es presionar ctrl+x ctrl+s, para salir ctr+x, ctr+c
<li> 32 cambiamos los permisos para el directorio de sesiones de PHP
sudo chown -R asterisk /var/lib/php5
<li> 33 edicion de php para aumentar el tamano de archivos que se suben al servidor web y modificamos los siguientes valores
sudo emacs /etc/php5/apache2/php.ini
upload_max_filesize = 32M
max_execution_time = 120
max_input_time = 120
<li> 34 creamos un directorio para la instalacion de los paquetes de Asterisk
sudo mkdir /usr/src/asterisk
cd /usr/src/asterisk
<li> 35 libreria o drivers para tarjetas line PRI
sudo tar zvxf ~/asterisk/libpri-1.4.1.tar.gz
<li> 36 librerias o drivers para tarjetas ZAPTEL
sudo tar zvxf ~/asterisk/zaptel-1.4.5.1.tar.gz
<li> 37 El PBX Asterisk
sudo tar zvxf ~/asterisk/asterisk-1.4.13.tar.gz
<li> 38 utilerias de asterisk(cdr, rep music on hold. etc)
sudo tar zvxf ~/asterisk/asterisk-addons-1.4.4.tar.gz
<li> 39 archivos de IVR por default
sudo mkdir asterisk-sounds
cd asterisk-sounds
sudo tar zvxf ~/asterisk/asterisk-core-sounds-en-ulaw-current.tar.gz
sudo tar zvxf ~/asterisk/asterisk-extra-sounds-en-ulaw-current.tar.gz
sudo tar zvxf ~/asterisk/asterisk-moh-freeplay-ulaw.tar.gz
<li> 40 compilacion de PRI
cd /usr/src/asterisk/libpri-1.4.1
sudo make & sudo make install
<li> 41 compilacion de los drivers de Zaptel para el funcionamiento de la tarjeta FXO
cd /usr/src/asterisk/zaptel-1.4.5.1
sudo make clean
sudo make
sudo make install
sudo make config
<li> 42 compilacion de Asterisk
cd /usr/src/asterisk/asterisk-1.4.13
sudo make clean
sudo ./configure
sudo make
sudo make install
sudo make samples
sudo make progdocs
<li> 43 compilacion de Utilerias de Asterisk
cd /usr/src/asterisk/asterisk-addons-1.4.4
sudo make
sudo make install
<li> 44 Copiamos todos los archivos de sonidos descomprimidos previamente al directorio por default de sonidos de asterisk
sudo cp -rf /usr/src/asterisk/asterisk-sounds/* /var/lib/asterisk/sounds/
<li> 45 reiniciamos el servidor web apache
sudo /etc/init.d/apache2 restart
<li> 46 Editamos el archivo de configuracion de Asterisk
sudo emacs /etc/asterisk/asterisk.conf
<li> cambiamos el directorio de
RUNASTERISK=/var/run
<li> a
RUNASTERISK=/var/run/asterisk
<li> 47 asignamos los permisos
sudo chown -R asterisk:asterisk /var/run/asterisk
<li> 48 Iniciar Asterisk para poder hacer la instalacion de FreePBX
sudo asterisk start
<li> Verificar que Asterisk se haya inicido
ps aux | grep asterisk
root 14992 0.2 1.7 22044 7752 ? Ssl 07:14 0:00 asterisk start
<li> continuamos con la instalacion de FreePBX
cd /usr/src/freepbx-2.3.1/
<li> Instalamos los paquetes para gestion de bases de datos en PHP
sudo pear install db
<li> si no encontrara el paquete db, bajarlo de internet e instalarmo manualmente: sudo pear install db.17.0.0.tgz
sudo mkdir /var/www/asterisk/
sudo mkdir /var/www/asterisk/cgi-bin
sudo chown asterisk:asterisk /var/www/asterisk
sudo ./install_amp
<li> Despues de ejecutar install_amp pedira los valores para crear el archivo de configuracion.
<li> En primer lugar introducir el usuario de la base de datos que se creo previamente
[asteriskuser] asterisk
<li> Introducir el password de l usuario de la base de datos para asterisk que se creo
Enter your PASSWORD to connect to the 'asterisk' database:
[amp109] 4st3r1sk
<li>Introducir el nombre del servidor de la base de datos, si esta de forma local intoducir localhost de lo contrario introducir la IP o nombre de dominio del servidor de base de datos
Enter the hostname of the 'asterisk' database:
[localhost] localhost
<li>Introducir el nombre de usuario del administrador que se usara como admin del AMI de Asterisk
Enter a USERNAME to connect to the Asterisk Manager interface:
[admin] asterisk
<li> Password del usuario admin de AMI, importante para conectar aplicaciones terceras a Asterisk
Enter a PASSWORD to connect to the Asterisk Manager interface:
[amp111] 4st3.r1sk
<li> Ruta de instalacion del Servidor de Asterisk
Enter the path to use for your AMP web root:
[/var/www/html] /var/www/asterisk
<li>Dirección IP del servidor de Voz sobre IP
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
[xx.xx.xx.xx] 192.168.1.2
<li> Password para poder operar FOP
Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
[passw0rd] 4st3r1sk.01
<li>Solo teclear enter para aceptar la opcion por default
Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?
[extensions]
<li>Solo teclear enter para aceptar la opcion por default
Enter directory in which to store AMP executable scripts:
[/var/lib/asterisk/bin]
<li>Solo teclear enter para aceptar la opcion por default
Enter directory in which to store super-user scripts:
[/usr/local/sbin]
<li> si marcara algun error el script de install_amp revisar usuarios de base de datos, librerias de php y de mysql, reiniciar apache y peardb, php-db
<li> en caso de que tuviera un error al ejecutar FreePBX puede reconfigurarlo pero previamente eliminar el archivo de configuracion en /etc/amportal.conf
<li> 49 creamos la carpeta donde se almacenaran los sonidos del IVR
sudo mkdir /var/lib/asterisk/sounds/custom
<li> 50 configuramos los permisos para el directorio de Asterisk
sudo chown -R asterisk:asterisk /var/lib/asterisk/
<li> Paramos previamente la ejecucion de asterisk
ps aux | grep asterisk
root 14992 0.0 1.7 22524 7892 ? Ssl 07:14 0:00 asterisk start
sudo kill -s 9 14992
<li>Editamos el archivo siguiente y agregamos una linea como la que se menciona
sudo emacs /etc/default/asterisk
RUNASTERISK=yes
<li> 51 ejecutamos amportal
sudo amportal start
<li> verificamos que se haya ejecutado correctamente amportal
sudo ps aux | grep asterisk
<li> y deberiamos ver algo parecido
root 15759 0.0 0.1 3864 736 pts/2 S 07:30 0:00 /bin/bash /usr/sbin/safe_asterisk -U asterisk -G asterisk
asterisk 15764 2.0 1.9 22436 8552 pts/2 Sl 07:30 0:00 /usr/sbin/asterisk -f -U asterisk -G asterisk -vvvg -c
asterisk 15811 0.0 0.1 1752 496 pts/2 S 07:30 0:00 sh /var/www/asterisk/panel/safe_opserver
asterisk 15812 14.0 1.8 11072 8340 pts/2 S 07:30 0:00 /usr/bin/perl -w /var/www/asterisk/panel/op_server.pl
<li> 52 Abrir en un navegador de preferencia Firefox la direccion del servidor Asterisk por ejemplo que el servidor corra en una IP 192.168.1.2
http://192.168.1.2/asterisk/admin/
<li> Por default no nos pedira un password, pero hay que ir a administradores y cambiar el nombre de usuario y password del administrador
<li> Nos desconectamos del servidor web de FreePBX
<li> 53 Posteriormente editamos el archivo amportal.conf y cambiamos el valor de AUTHTYPE a database
sudo emacs /etc/amportal.conf
AUTHTYPE=database
<li> 54 Volvemos a entrar al servidor de FreePBX y ahora nos pedira un login y password, introducir los configurados
login:admin
password:4st3r1sk
<li>Ahora tenemos habilitado El conmutador de Voz Sobre IP Asterisk
<li>Y el administrador Web de Asterisk FreePBX.
<li> 55 Ir a la opcion de "Module Admin", seleccionar Check Update Online y descargar modulos de administracion de Asterisk necesarios, se requiere conexion a internet
<li> 56 Si no estuviera habilitado el Panel, ir al directorio de instalacion de freepbx, copiar los archivos al directorio web, cambiar permisos, reiniciar freepbx
cd /usr/src/freepbx-2.3.1
sudo cp -rf amp_conf/htdocs_panel/* /var/www/asterisk/panel
sudo chown asterisk.asterisk /var/www/asterisk/
[/code]
Si buscas informacion adicional sobre Asterisk puedes sentirte libre en contactarme por medio del correo electrónico en fileinleon [arroba] gmail [punto] com