El rincón de Odicha

Sistemas y cacharros varios

Un poco de Asterisk 1.6 + DAHDI (y otro poco de ojos rojos)

Posted by odicha en 27 febrero 2009

**30/06/2009**

Esta entrada es obsoleta. Revisar https://odicha.wordpress.com/2009/06/30/asterisk-es-rsp/

****************

Como montar una Centralita Asterisk – 4 líneas (2 x ISDN)/ 8 extensiones analógicas con CentOs 5.2 + Asterisk 1.6.1 + FreePbx 2.5 + A800P + B200P sin enloquecer en el intento.
¿Para qué? Pues, por ejemplo, porque sale más barato que cualquier 4/8 analógica de las que se ven por ahí, que nisiquiera tiene identificación de llamada, y aunque nuestro primer objetivo no sea la telefonía VoIP, a  medio plazo tener esos equipos da mucho pero que mucho juego. De entrada, sustituimos en plan quitar y poner una centralita tradicional por nuestra Asterisk y todo sigue en marcha.

Esto no pretende ser más que una guía de ayuda para los que se encuentren como yo hace una semana (más perdido que un pulpo en un garaje). Hay gran cantidad de contenido que está tomada de otras páginas o foros. Si quieren leer e informarse yo recuerdo haber estado por…

 Este es el ejemplo. Obviamente no recomendable aún para usar en producción porque los parches de la B200P//B400P  no son oficiales. Para ver como va el tema avanzando pueden echar un vistazo en http://bugs.digium.com/view.php?id=13897 . También podría usarse una A1200P o una B400P, por ejemplo.

Que necesitamos.

  • Un equipo normal (un Core2Duo, 1 Gb de RAM, 2 discos SATA en RAID 1, lector de DVD… ) nada especialmente difícil de conseguir.
  • Conexión a Internet
  • 1 OpenVox A800P con 8 puertos FXS (para conectar teléfonos)
  • 1 OpenVox B200P (2 puertos RDSI)
  • Los parches para usar las OpenVox (enlaces para descargar más abajo)
  • Conocimientos básicos a nivel de usuario de Linux. Si nunca has instalado uno, «googlea» un poco antes de comenzar con lo que no entiendas del documento.

En el ejemplo que voy a poner uso 1 RDSI de Telefónica / Ono (o cualquier otro operador nacional)
1 router RDSI /GSM. Yo he probado con éxito con TelecomFM GSM-Route BRI (Vodafone) y ComSat ISDN Basic y Plus (MoviStar)
Si quieres usar las OpenVox del ejemplo, las mías las compré en Capatres (Barcelona). Serios y eficaces (www.capatres.com)

Primero que nada el DVD de CentOs 5.2. Si aún no lo tienes (son cerca de 4 Gb.) te va a dar tiempo de leerte el documento con mucha calma en lo que se baja…

Vamos al trapo. Instalación de CentOs 2.5

Arrancamos la instalación desde el DVD

 bienvenida-centos

Pulsamos Enter (la tecla entrar, return, la de la flechita….) jijiji

Seleccionamos idioma de sistema y de teclado.
Pasamos a la parte de selección de destino de instalación

 seleccion-destino-instalacion

** Atención. Si en donde vas a instalar tenías datos, con esta opción los pierdes.

Configuramos la red

 seleccion-de-red

Pulsamos en modificar. Desactivamos IPV6 (a no ser que se vaya a usar). Lo que no esta en marcha, no da problemas. Colocamos la direccion IP y la mascara de red que le otorgamos a nuestra máquina

configuracion-ip 
Y a continuación el nombre del equipo, del servidor DNS y de la puerta de enlace

 parametros-adicionales-red

Seleccionamos nuestra zona horaria y colocamos nuestra contraseña de “root”

Ahora pasamos a la configuración de paquetes que vamos a instalar.  Aquí en función de si queremos soporte GUI en consola local (entorno X11) dejaremos marcada la opción de Desktop-Gnome o no. No instalarlo te dará un sistema más ligero pero tendrás que usar FreePBX desde otro equipo. Al gusto…

Pulsamos en “personalizar ahora” y picamos en “Siguiente”

personalizacion-1

Opciones a añadir además de las que ya están seleccionadas por defecto
Seleccionamos Servidor de Nombres (DNS), Servidor Web, Servidor de Correo y Base de Datos MySQL en la opción de Servidores
En Desarrollo seleccionamos Bibliotecas de Desarrollo y Herramientas de Desarrollo
En Sistema Base seleccionamos Herramientas del Sistema y pulsamos Paquetes Opcionales
Aquí agregamos “mc” si queremos tener un gestor de archivos en consola al estilo «Norton Conmmander», y podemos continuar pulsando siguiente.

seleccion-de-paquetes

seleccion-de-paquetes-adicionales

…un café, una cocacola, unas galletas…al gusto. Tarda un ratito en copiar e instalar el sistema Es más, yo me fui a cenar mientras.

Proceso de post-instalación (si seleccionamos el Gnome Desktop).

Desactivamos el firewall

 postinstalacion-1

Desactivamos SELinux

postinstalacion-2

Y creamos un usuario

 postinstalacion-3

El sistema se reiniciará.

Post-instalación si no seleccionamos entorno gráfico

 postinstalacion-no-gui-11

Seleccionamos Configuración de la red. Aquí deshabilitamos Iptables (Nivel de Seguridad-> Deshabilitado)  y SELinux.

 postinstalacion-no-gui-2

Reiniciamos el equipo y seguimos.

A partir de aquí trabajaremos bien en consola local bien a través de consola remota via ssh, usando putty (http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe) por ejemplo (si nos conectamos desde un cliente Windows).

Nos conectamos al equipo remoto con el usuario root y la contraseña que definimos en la instalación

Antes de continuar actualizaremos el sistema con el comando

 yum –y update

Es el momento de fregar la loza de la cena y recoger la cocina. Otro buen ratito.

 actualizando-via-yum

Reiniciamos

shutdown –r now

Volvemos a conectarnos a la consola via ssh

Nos validamos y ahora instalaremos algunos paquetes necesarios antes de Asterix en si mismo

 yum install libtiff-devel php-pear php-pear-DB php-gd php-mysql php-pdo audiofile-devel  mysql-devel  perl-DateManip

(es posible copiar y pegar en putty usando el botón derecho del ratón)

Seguimos descargando cosas

cd /usr/src

wget  http://kent.dl.sourceforge.net/sourceforge/lame/lame-398-2.tar.gz 

wget http://kent.dl.sourceforge.net/sourceforge/amportal/freepbx-2.5.1.tar.gz

svn checkout http://svn.digium.com/svn/asterisk/branches/1.6.1/  asterisk-1.6.1

svn checkout http://svn.digium.com/svn/asterisk-addons/branches/1.6.1/  asterisk-addons-1.6.1

wget http://downloads.digium.com/pub/telephony/dahdi-linux/dahdi-linux-2.1.0.4.tar.gz

wget http://downloads.digium.com/pub/telephony/dahdi-tools/dahdi-tools-2.1.0.2.tar.gz

wget http://downloads.digium.com/pub/libpri/releases/libpri-1.4.9.tar.gz

tar zxvf freepbx-2.5.1.tar.gz

tar zxvf libpri-1.4.9.tar.gz

tar zxvf dahdi-linux-2.1.0.4.tar.gz

tar zxvf dahdi-tools-2.1.0.2.tar.gz

tar zxvf lame-398-2.tar.gz

Instalamos lame

cd lame-398-2

./configure

make

make install

cd /usr/src

Instalamos libpri

cd libpri-1.4.9

make

make install

cd /usr/src

Parcheamos los fuentes de dahdi-linux y dahdi-tools

******Esta sección sólo es necesaria si queremos instalar la OpenVox A800P/A1200P   o la B200P/B400P ******

Para la A800P – A1200P

Descargamos el siguiente parche de la web de OpenVox. Ver aquí la documentación del mismo

wget http://openvox.com.cn/downloadsFile/a1200p-a800p_driver_with_dahdi.c

mv a1200p-a800p_driver_with_dahdi.c opvxa1200.c

cp opvxa1200.c /usr/src/dahdi-linux-2.1.0.4/drivers/dahdi/opvxa1200.c

Editamos el fichero Kbuild

vi /usr/src/dahdi-linux-2.1.0.4/drivers/dahdi/Kbuild

 

y añadimos debajo de esta línea:  obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM)             += wctdm.o

obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM)             += opvxa1200.o

Guardamos el fichero y listo para instalar

Para la B200P – B400P

Este parche no es oficial. Se anda testeando para dar soporte nativo a las tarjetas HFC-4S y HFC-8S bajo DAHDI aprovechando las similitudes con la B410P que vende Digium.

cd /usr/src/dahdi-linux-2.1.0.4

wget ‘http://bugs.digium.com/file_download.php?file_id=21977&type=bug’ -O – | patch -p0

cd /usr/src/dahdi-tools-2.1.0.2

wget ‘http://bugs.digium.com/file_download.php?file_id=21995&type=bug’ -O – | patch -p0

Y tenemos las Dahdi preparadas para instalar.

******Aquí acaba la sección particular «OpenVox» *******

Instalamos dahdi-linux

cd dahdi-linux-2.1.0.4

make

make install

cd /usr/src

Instalamos dahdi-tools

cd dahdi-tools-2.1.0.2

./configure

make

make install

make config

cd /usr/src

Preparamos algunos valores (usuario, carpetas, etc.) necesarios para instalar Asterisk. (Ojo con las comillas, copiando y pegando las comillas no son correctas. Mejor escribe a mano los comandos con comillas)

useradd -c «Asterisk PBX» -d /var/lib/asterisk asterisk

mkdir /var/run/asterisk

mkdir /var/log/asterisk

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

chown -R asterisk:asterisk /var/log/asterisk

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

nano +231 /etc/httpd/conf/httpd.conf

Cambiamos en el fichero el usuario apache y grupo apache a usuario asterisk y grupo asterisk.

Bajamos unas líneas y encontramos AllowOverride None. Lo cambiamos por AllowOverride All

Pulsamos control+x para guardar el fichero. Le decimos que si (si no para que editarlo?) y cerramos.

Instalamos asterisk

cd asterisk-1.6.1/

./configure

make

make install

Creamos y poblamos las bases de datos, sustituyendo a partir de aquí «mipassword» por la contraseña que se quiera usar.

/etc/init.d/mysqld start

cd /usr/src/freepbx-2.5.1

mysqladmin create asterisk

mysqladmin create asteriskcdrdb

mysql asterisk < SQL/newinstall.sql

mysql asteriskcdrdb < SQL/cdr_mysql_table.sql

mysql

GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY ‘mipassword’;

GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY ‘mipassword’;

flush privileges;

\q

mysqladmin -u root password ‘mipassword’

Instalamos asterisk-addons

cd /usr/src/asterisk-addons-1.6.1/

./configure

make

make install

Y ahora FreePBX

cd /usr/src/freepbx-2.5.1

./start_asterisk start

yum install –y php-pear-DB

yum install –y php-mysql

./install_amp    – -username=asteriskuser     – -password=mipassword       *****Los dos guiones NO llevan espacios entre ellos… Cosas de WordPress

./install_amp    – -username=asteriskuser     – -password=mipassword     – -my-svn-is-correct    *****Los dos guiones NO llevan espacios entre ellos

echo «/usr/local/sbin/amportal start» >> /etc/rc.local

chkconfig httpd on

chkconfig mysqld on

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

nano +73 /var/www/html/recordings/includes/main.conf.php

modificamos  la línea

$ari_admin_password = » mipassword»;

guardamos los cambios y reiniciamos

shutdown –r now

Si todo ha ido bien, ya tenemos FreePbx en marcha

Nos conectamos via explorador Web a  http://<ip_asterisk>/admin

Y nos vamos a Module Admin

>Pulsamos Check for Updates Online
>Download All
>Upgrade All
>Proccess
>Confirmamos

Repetimos el proceso hasta que no quede nada por instalar/actualizar

Instalación de Custom Contexts.

Es un módulo no oficial de FreePBX que sirve para controlar el acceso a las líneas salientes (al estilo de las PBX tradicionales). Más adelante veremos como funciona.

Descargamos http://mirror.freepbx.org/modules/release/contributed_modules/customcontexts-0.3.4.tgz

Lo renombramos a customcontexts.tar.gz

Desde FreePBX > Module Admin > Upload Module > Seleccionamos customcontexts.tar.gz > Lo subimos > Manage Local Modules > Custom Contexts > Install

Solo nos faltarían los ficheros de audio en español. Publicaré una configuración básica de Asterisk y FreePBX de ejemplo tan pronto como la tenga revisada.

Para ser el primer post en el blog, salió una sábana….

9 respuestas to “Un poco de Asterisk 1.6 + DAHDI (y otro poco de ojos rojos)”

  1. […] Comentarios (RSS) « Un poco de Asterisk 1.6 + DAHDI (y otro poco de ojos rojos) […]

  2. edgar said

    les pido ayuda con ss7 estoy con la tarjeta te412p ccancelacion de eco y es muy difernte creo hacerlo fncionar con asterisk-gui el asunto son los pasos las deendencias y demas para que cora bien no uedo hacer levantar asterisk, no vi de veras en internet nadie que haya dicho por fin o hice fncionara pesar de que las compiaciones me dan bien a la hora de iniciar asterisk me dice que la configuracion de dahdi tene cnfictos para as informacion podemos hablar en linea ncluso edgarriverq@hotmail.com por favor ya estoy 2 smanas en esto y nada gracias anticipadas al buen corazon que me pueda ayudar

  3. master said

    Cuando coloque un manual de estos en la red asegurese que funcione y envie en total de los repositorios que sedeben instalar para que funcione tuve muchas complicaciones al seguir este manual una persona que tenga pocos conocimientos en linux nunca podria instalar asterisk si sigue estos pasos.

  4. […] Comentarios odicha on Odistuff rc1Disckey on Odistuff rc1Disckey on Odistuff rc1Disckey on Odistuff rc1master on Un poco de Asterisk 1.6 + DAHDI (y otro poco de ojos rojos) […]

  5. Daniel said

    Estuve compilando freepbx y cuando ejecuto
    ./install_amp –username=asteriskuser –password=mipassword
    Checking for PEAR DB..OK
    Checking for PEAR Console::Getopt..OK
    Using username: asteriskuser
    Using password: *********
    Checking user..PHP Fatal error: Call to undefined function posix_getpwuid() in /home/dcorrea/freepbx-2.5.1/install_amp on line 708

    te paso eso?

    Alguna sugerencia ?

    • ruben said

      hola tengo el mismo problema al ejecutar ./install_amp –username=asteriskuser –password=XXXX, me da error en la linea 725 en la funcion posix_getpwuid(), alguien lo ha solucionado??, espero que me puedan ayudar pues no puedo instalar freepbx en centos.

  6. luis said

    Hola, ante todo felicitarte por tu manual, al menos creo que avance mucho con tus escritos.

    Solo tengo un detalle sucede que el lame y el libpri no pude instalarlo, tendre algun problema a futuro sino instalo esos dos programas????

    Enormemente agradecido

    Saludos cordiales

    Luis

    • odicha said

      Lame es para gestion de mp3 y libpri es necesario para todo lo que es rdsi y primarios. ¿Que problemas te dio al instalarlos? De todos modos este manual es bien antiguo… para usar solo como referencia, obsoleto diria yo.
      Saludos

Deja un comentario