10 septiembre 2011

Asterisk 1.8 + freePBX 2.9 en debian


Asterisk es un software libre que han desarrollado para trabajar como una planta telefónica, la cual permite conectar muchos teléfonos IP y éstos a su vez conectarlos a la red telefónica convencional con muchas funciones avanzadas, tales como:

  • Tener extensiones móviles (se pueden configurar en un computador o un teléfono celular).
  • Se pueden tener muchos IVR (Menú con voz).
  • Cada extensión puede tener mensaje de voz y estos pueden ser enviados por correo.
  • Se pueden compartir las llamadas y hacer conferencias.
  • La version 2.9 de Freepbx, tiene muchas opciones para incrementar su funcionalidad como lo son las funciones:

    • Asterisk SIP o IAX Settings: Se puede personalizar mas afondo las extensiones, como habilitar el nat, agregar un pinset (Pinless Dialing), soporte para colas (Queue State Detection), configurar el dtmfmode y configurar el VmX Locater. La extensiones IAX, se puede configurar los destinos opcionales (Optional Destinations)
    • custom contexts: Se pueden crear nuestros propoios contextos

    Esta es una guía básica para la instalación de Asterisk en Linux (debian), se puede usar ubuntu para mayor facilidad.

    1. Se debe instalar el sistema operativo. En la instalación no se debe selecionar ninguna instalacion


    2. En debian deben bajar la distribución en http://cdimage.debian.org/debian-cd/5.0.4/i386/iso-cd/ y después de instalar debe editar sources.list (vi /etc/apt/sources.list) y agregar:

      deb http://security.debian.org/ lenny/updates main contrib non-free

      deb-src http://security.debian.org/ lenny/updates main contrib non-free

      deb http://ftp.de.debian.org/debian/ lenny main contrib non-free

      deb-src http://ftp.de.debian.org/debian/ lenny main contrib non-free

    3. después de instalar el Sistema operativo e ingresar con el usuario root, deben actualizar el sistema con: apt-get update
    4. Instalamos apt-get install linux-headers-‘uname -r’
    5. Instalamos los paquetes apt-get install build-essential cvs libnewt-dev libusb-dev libssl-dev modconf php-pear php5 php5-mysql php5-gd php5-cgi mime-construct libxml2 libxml2-dev libtiff4 libtiff4-dev apache2 mysql-server mysql-client libmysqlclient15-dev openssl perl bison libaudiofile-dev libncurses5-dev curl sox speex libspeex-dev hdparm festival festivaldeb

    6. Creamos las carpetas:

      mkdir /usr/src/linux-2.6

      mkdir /usr/src/linux
    7. Creamos los enlaces:

      ln -s /usr/src/linux-headers-2.6.XXX-XX-XXX /usr/src/linux-2.6

      ln -s /usr/src/linux-headers-2.6.XXX-XX-XXX /usr/src/linux

      las XXX se completan con los datos de uname-a
    8. Descargamos en la carpeta /usr/src :

      Asterisk (la ultima versión 1.8), los Add-Ons y DAHDI Tools (si tenemos tarjetas)

      FreePBX (yo prefiero la versión 2.9)

    9. Descargamos en la carpeta /usr/src

      wget http://asterisk.gnuinter.net/files/asterisk-perl-1.01.tar.gz

      y lo instalamos:

      tar xzvf asterisk-perl-10.XXX

      cd asterisk-perl-10.XXX

      perl Makefile.PL

      make all

      make install

    10. Creamos la Base de datos del asterisk:

      mysql –u root –p

      show databases;

      use mysql;

      create database asteriskcdrdb;
      (base de datos para los reportes de las llamadas -pestaña reports en FreePBX-)

      create database asterisk; (base de datos para el asterisk)

      grant all privileges on *.* to USUARIO@localhost identified by “CONTRASEÑA”; (creamos el usuario que va a manejar la base de datos -puede ser asterisk-)

      por ejemplo: grant all privileges on *.* to asterisk@localhost identified by “password”;

      flush privileges;

      exit;

    11. descomprimimos FreePBX

      tar xzvf freepbx-XXX

      cd freepbx-XXX
    12. Creamos los enlaces a las bases de datos:

      mysql -u asterisk -p asterisk < /usr/src/freepbx-2.9.0/SQL/newinstall.sql
      mysql -u asterisk -p asteriskcdrdb < /usr/src/freepbx-2.9.0/SQL/cdr_mysql_table.sql
    13. Creamos el grupo asterisk:

      groupadd asterisk
    14. Creamos el usuario asterisk:

      useradd -d /var/lib/asterisk -g asterisk asterisk
    15. Configuramos el usuario para manejar Freepbx por web:

      nano /etc/group

      Buscamos y completamos www-data:x:33:

      www-data:x:33:asterisk

      nano /etc/apache2/apache2.conf

      Cambiamos el Usuario User (www-data) a User asterisk

      Cambiamos el grupo Group (www-data) a Group asterisk
    16. Configuramos PHP:

      nano /etc/php5/apache2/php.ini

      Cambiamos: upload_max_filesize = 40M

      Cambiamos: max_execution_time = 90

      Cambiamos: max_input_time = 90

      nano /etc/php5/cgi/php.ini

      Quitamos el “;” a ;extension=mysql.so (quitar el ; inicial y escribir bien mysql.so)

    17. Instalamos asterisk:

      tar xzvf asterisk-1.X.XXX

      cd asterisk-1.XXX

      ./configure

      make

      make install

      make samples

    18. Instalamos asterisk-addons:

      tar xzvf asterisk-addons-1.XX

      cd asterisk-addons-1.XX

      perl -p -i.bak -e ‘s/CFLAGS.*D_GNU_SOURCE
      Makefile

      ./configure

      make

      make install

      make samples
    19. Re-iniciamos el servicio del apache:

      /etc/init.d/apache2 restart
    20. Editamos el directorio de asteriskrun:

      mkdir /var/run/asterisk

      chown -R asterisk:asterisk /var/run/asterisk

      y lo iniciamoscon: asterisk start
    21. Ingresamos al directorio del freePBX:

      cd /usr/src/freepbx-2.XXX

      Digitamos: pear install db

    22. Creamos la carpeta donde se instalará freePBX:

      mkdir /var/www/asterisk/

      chown asterisk:asterisk /var/www/asterisk

      ./install_amp

      En el asistente de configuración cambiamos el primer usuario por el que se puso en la base de datos (asterisk), seguido de la contraseña (password), dejamos el usuario por defecto (admin) y la contraseña (amp111) cambiamos el directorio donde se intalará el freepbx por /var/www/asterisk, y ponemos la ip de la maquina (ip xx.xx.xx.xx)
    23. Despues de instalar verificamos los permisos:

      chown -R asterisk:asterisk /var/lib/asterisk/

      chown -R asterisk:asterisk /var/www/asterisk/
    24. Detenemos el preceso que diga asterisk start (root XXX xx ….. asterisk start)

      ps aux | grep asterisk

      kill -s 9 XXX (ojo lleva el “9” seguido del proceso XXX)
    25. Creamos el archivo de inicio del asterisk:

      nano /etc/default/asterisk

      RUNASTERISK=yes
    26. Iniciamos el servicio del asterisk:

      amportal start

      Ingresarmos a 192.168.X.X/asterisk/admin con el usuaio “admin” y la contraseña “admin”, para cambiar la contraseña en el modulo administrator->admin.

      aplicamos los cambios (no antes!)
    27. Editamos el archivo rc.local para que inicie el asterisk

      nano /etc/rc.local

      y agregamos:

      /usr/local/sbin/amportal start

      antes del exit 0
    28. Por último ingresamos al FreePBX por web e instalamos y actualizamos los modulos que necesitemos.
    29. Te gustó la información, comparte su contenido

      Compartir


      Publicaciones relacionadas:

      1. Asterisk detras de un NAT
      2. Instalación de Zoneminder en debian
      3. Guardar PIN Set de asterisk en la base de datos
      4. Configurar SPA3000 – Asterisk
      5. Distribuciones para iniciar con Asterisk (Linux)

    3 respuestas a “Asterisk 1.8 + freePBX 2.9 en debian”

    1. Qué bien que todo este sistema de asterisk se esté consolidando en nuestro país. Con este tipo de explicaciones, las personas pueden jugar un mayor rol protagónico. Esto se debe a que precisamente todos los componentes sociales, o quiero decir algunos de ellos, desean identificarse definitivamente con el éxito y la renovación a medida que van entendiendo esta clase de tecnología.

    Deja un comentario