Tu slogan puede colocarse aqui

Receta Casera Asterisk

Receta Casera Asterisk

Receta casera para Asterisk 1.4 y FreePBX 2.3.1

Asterisk es un PBX con características mucho muy avanzadas de lo que puede ser un Conmutador de Telefonía comercial, podría enmarcar algunas de sus características mencionadas en el sitio de Asterisk pero siempre es mejor probar personalmente lo que se comenta, por eso desde hace casi 3 años que fui conociendo este magnífico proyecto Open Source le he dedicado muchas horas conociéndolo poco mas y haciendo pruebas cada vez mas interensantes y haciendo solo 2 implementaciones en producción que han sido exitosas ya que por ahora mi giro esta enfocado a Desarrollo de Aplicaciones Moviles mas que a implementaciones de Telefonía IP.
Recuerdo la primera vez que lo instalé fué todo un show ya que solo contaba con linea telefónica en el depto pero no tenía internet de banda ancha, por lo que acudí a un cyber con mi lap para bajar los fuentes de Asterisk y comenzar con la instalación, esa vez me tardé mas de 20 horas en tener mi primer PBX casero, recuerdo incluso que el encargado del cyber es un informático que se interesó por Asterisk que ahora incluso ha creado más de un par de casetas teléfonicas usando Asterisk y sacándole provecho a la tecnología de Voz sobre IP.
FreePBX es más que una Interfaz Web para configurar desde características básicas hasta propiedades muy avanzadas de Asterisk como IVR, Trunks, etc., al principio era difícil contar con una interfaz gráfica para Asterisk por lo que no había más opción que arreglárselas con Emacs y empezar a editar todo a mano, era entretenido equivocarse pero creo que como aprendizaje fué bueno aunque ahora a pesar de que a muchos implementadores les agrada todavía seguir configurando a mano varias cosas básicas de Asterisk a mi gusto es mejor hacerlo con FreePBX ahorrándose el trabajo fácil y algunas cosas que no las implemente FreePBX si darles el tiempo necesario para configurarlas a mano usando el nuevo método de configuración de Asterisk parecido a la programación de clases, aunque creo que FreePBX implementa muchas características necesarias para cualquier conmutador que pudiera ser utilizado en alguna empresa mediana pero otras cosas más avanzadas siempre existirá la posibilidad de hacerlas a manos desde la configuración de Asterisk.
Puedes ver rápidamente información acerca de FreePBX y algunos ScreenShots de como luce FreePBX trabajando y para no aburrir más pongo un tutorial sobre la instalación de Asterisk paso a paso sobre Ubuntu Linux
#Procedimiento para Instalar Asterisk VoIP en Ubuntu Server
# Linux Version :               Ubuntu Server 
# Linux Kernel :                        2.6.22
# Conmutador de VoIP :                  Asterisk V.1.4.13
# Admninistrador Web  :                 FreePBX 2.3.1

#  Particion de Ejemplo
#   /boot       100  MB
#   /var        4   GB
#   /home       6   GB
#   /usr        12  GB
#   /           6   GB
#   Swap        600 MB 
# Memoria RAM:  512 MB
# CPU:          Intel® Pentium® 4 CPU 3.06GHz
# Ethernet:     10/100  VT6102 [Rhine-II] 
# FXO Card:     1 FXO Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
# FXS card:     
# Sound:                VT8233/A/8235/8237 AC97 Audio Controller
# Bluetooth:    
# WiFi:         
# Other Devices:

********************
********************
******      Primera Parte - Instalacion de Paquetes
********************
********************

#   Despues de instalar Ubuntu cambiar password a root 
sudo passwd root
password
#Editar /etc/apt/sources.list y activar los siguientes repositorios
sudo editor /etc/apt/sources.list
#descomentar y guardar
 deb http://us.archive.ubuntu.com/ubuntu/ dapper universe
 deb-src http://us.archive.ubuntu.com/ubuntu/ dapper universe
#   1 Instalar librerias para acceso via SSH 
sudo apt-get install openssl libssl-dev ssh
#   2 librerias de compilacion de software, sirve para compilar Asterisk 
sudo apt-get install gcc make g++
#   3 verificar que versiones de kernel tengo instalado en el servidor 
uname -a
#   me regresa algo como esto
    Linux MexRom 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linux
#   4 buscar las fuentes del kernel con las versiones instaladas en el server 
apt-cache search 2.6.22
#   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
#   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
#   7 festival son paquetes para el manejo de voz 
sudo apt-get install festival festival-dev
#   8 para poder usar la consola de asterisk 
sudo apt-get install ncurses-base ncurses-bin ncurses-term libncurses5 libncursesw5 libncurses5-dev libncursesw5-dev
#   9 librerias de compresion 
sudo apt-get install zlib1g zlib1g-dev
#   10 librerias requeridas por el servicio web de FreePBX 
sudo apt-get install bison bison-doc
#   11 librerias requeridas por el servicio web de FreePBX 
sudo apt-get install libxml2 libxml2-dev
#   12 librerias requeridas por el servicio web de FreePBX 
sudo apt-get install libtiff4 libtiff4-dev
#   13 librerias requeridas por el servicio web de FreePBX 
sudo apt-get install libasound2 libgsm1 libltdl3 libpq4 libspeex1 libsqlite0 libtonezone1 libaudiofile0 libaudiofile-dev
#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
#   14 librerias requeridas por Asterisk para el manejo de ayuda y de extraccion de archivos del CVS
sudo apt-get install subversion curl doxygen
#   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
#   16 Servidor web para FreePBX 
sudo apt-get install apache2
#   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
#   18 base de datos para el CDR y FreePBX 
sudo apt-get install mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev
#   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
********************
********************
******      2da Parte..             ******
********************
**********************

#   19 creamos un repositorio local para almacenar los archivos fuente de asterisk 
mkdir ~/asterisk
cd asterisk
#   Obtenemos los archivos y os almacenamos en el directorio creado 
#   20 gateway entre freepbx y asterisk 
wget http://www.cpan.org/modules/by-category/25_Bundles/Asterisk/asterisk-perl-0.10.tar.gz
#   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
#   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
#   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
# Nos ubicamos en el directorio /usr/src
cd /usr/src/
#   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
#   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
#   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

#   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
#    Comenzamos a instalar la Base de Datos para el Administrador Web FreePBX y para los CDR.
#    Iniciacilizacion de la implementaci?n de Bases de Datos en Mysql para Asterisk
#   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 ;
#   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";
# 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
#   Nos validamos con el usuario de Asterisk creado 
   mysql -u asterisk -p
#   Creamos las bases de datos dentro de la consola de mysql
        create database asteriskcdrdb;
        create database asterisk;
        exit
#   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
#   Termina la configuracion de Bases de Datos en Mysql para Asterisk 
#   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

#   29 Cambiamo el usuario propietario de Apache 
        sudo emacs /etc/group 
# para guardar presionar ctrl+x ctrl+s, para salir ctr+x, ctr+c
        www-data:x:33:asterisk
#   ejecutamos el comando find para ubicar el archivo de configuracion de apache 
  find /etc/apache2/ -type f | xargs grep Group

#   30 editamos el archivo de apache 
  sudo emacs /etc/apache2/apache2.conf
#en emacs para buscar, presionar Ctrl+s e introducir un patron de busqueda en este caso por ejemplo www

#   31 cambiar el usuario y grupo de www-data a asterisk 
        User www-data
        Group www-data
# cambiar por 
        User asterisk
        Group asterisk
# guardamos para guardar es presionar ctrl+x ctrl+s, para salir ctr+x, ctr+c 

#   32 cambiamos los permisos para el directorio de sesiones de PHP 
          sudo chown -R asterisk /var/lib/php5

#   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

#   34 creamos un directorio para la instalacion de los paquetes de Asterisk 
        sudo mkdir /usr/src/asterisk
        cd /usr/src/asterisk  

#  35 libreria o drivers para tarjetas line PRI 
        sudo tar zvxf ~/asterisk/libpri-1.4.1.tar.gz

#  36 librerias o drivers para tarjetas ZAPTEL 
        sudo tar zvxf ~/asterisk/zaptel-1.4.5.1.tar.gz

#   37   El PBX Asterisk 
        sudo tar zvxf ~/asterisk/asterisk-1.4.13.tar.gz

#   38 utilerias de asterisk(cdr, rep music on hold. etc) 
        sudo tar zvxf ~/asterisk/asterisk-addons-1.4.4.tar.gz

#   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

#   40 compilacion de PRI 
        cd /usr/src/asterisk/libpri-1.4.1
        sudo make & sudo make install

#   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

#   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

#   43 compilacion de Utilerias de Asterisk 
        cd /usr/src/asterisk/asterisk-addons-1.4.4
        sudo make
        sudo make install
#   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/  

#   45 reiniciamos el servidor web apache 
        sudo /etc/init.d/apache2 restart
#   46 Editamos el archivo de configuracion de Asterisk 
        sudo emacs /etc/asterisk/asterisk.conf
#  cambiamos el directorio de 
   RUNASTERISK=/var/run
#   a 
   RUNASTERISK=/var/run/asterisk
#   47 asignamos los permisos 
        sudo chown -R asterisk:asterisk /var/run/asterisk

#   48 Iniciar Asterisk para poder hacer la instalacion de FreePBX
        sudo asterisk start

# 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

#    continuamos con la instalacion de FreePBX 
        cd /usr/src/freepbx-2.3.1/
#    Instalamos los paquetes para gestion de bases de datos en PHP
        sudo pear install db
# 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
#   Despues de ejecutar install_amp pedira los valores para crear el archivo de configuracion. 
#   En primer lugar introducir el usuario de la base de datos que se creo previamente
        [asteriskuser] asterisk
# 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
#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
#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
# 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
# Ruta de instalacion del Servidor de Asterisk
        Enter the path to use for your AMP web root: 
        [/var/www/html] /var/www/asterisk
#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
# Password para poder operar FOP
        Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
        [passw0rd] 4st3r1sk.01
#Solo teclear enter para aceptar la opcion por default
        Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?
        [extensions]    
#Solo teclear enter para aceptar la opcion por default
        Enter directory in which to store AMP executable scripts:
        [/var/lib/asterisk/bin]
#Solo teclear enter para aceptar la opcion por default
        Enter directory in which to store super-user scripts:
        [/usr/local/sbin]

#    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
#    en caso de que tuviera un error al ejecutar FreePBX puede reconfigurarlo pero previamente eliminar el archivo de configuracion en /etc/amportal.conf 

#   49 creamos la carpeta donde se almacenaran los sonidos del IVR 
        sudo mkdir /var/lib/asterisk/sounds/custom
#   50 configuramos los permisos para el directorio de Asterisk 
        sudo chown -R asterisk:asterisk /var/lib/asterisk/
# 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
#Editamos el archivo siguiente y agregamos una linea como la que se menciona
        sudo emacs /etc/default/asterisk
                RUNASTERISK=yes
#   51 ejecutamos amportal 
        sudo amportal start
#   verificamos que se haya ejecutado correctamente amportal
        sudo ps aux | grep asterisk
#   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 -Uasterisk -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

#       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/
# Por default no nos pedira un password, pero hay que ir a administradores y cambiar el nombre de usuario y password del administrador
# Nos desconectamos del servidor web de FreePBX
#       53 Posteriormente editamos  el archivo amportal.conf y cambiamos el valor de AUTHTYPE a database
        sudo emacs /etc/amportal.conf
                AUTHTYPE=database
#       54 Volvemos a entrar al servidor de FreePBX y ahora nos pedira un login y password, introducir los configurados
        login:admin
        password:4st3r1sk
#Ahora tenemos habilitado El conmutador de Voz Sobre IP Asterisk
#Y el administrador Web de Asterisk FreePBX.
#       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
#       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/
 
Si buscas informacion adicional sobre Asterisk puedes sentirte libre en contactarme por medio del correo electrónico en fileinleon [arroba] gmail [punto] com
Puedes consultar la versión en ingles de la instalación de Asterisk sobre Ubuntu Server en la siguiente URL:
http://phylevn.mexrom.net/index.php?page/Install_Asterisk_And_FreePBX_In_Ubuntu_Linux
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis