Asterisk con Openvox D110P y OpenR2

Finalmente encuentro algo de interés para empezar este pequeño blog. He tenido la oportunidad de que caiga a mis manos una tarjeta openvox D110P para un E1. Por lo cual hay tiempo para probar dos nuevas cosas; la tarjeta en especifico (ya que solo he trabajado con tarjetas Digium) y las librerías de openR2 (en lugar de Unicall).

Se utilizaron las siguientes versiones: asterisk-1.4.18, Zaptel-1.4.11, openr2-1.1.0 y como sistema operativo CentOS 4 (prefiero a la espiral pero en fin).

Antes que nada recomiendo leer un poco este documento que dice todo lo que hay que hacer.
http://openr2.googlecode.com/files/openr2-guide-0.1-es.pdf

Bueno manos a la obra.

Al obtener los dispositivos de hardware con los que contamos, observamos que satisfactoriamente nuestro sistema detecta la tarjeta instalada.

[root@serverweb IPBX]# lspci
00:00.0 Host bridge: Broadcom CMIC-LE Host Bridge (GC-LE chipset) (rev 33)
00:00.1 Host bridge: Broadcom CMIC-LE Host Bridge (GC-LE chipset)
00:00.2 Host bridge: Broadcom CMIC-LE Host Bridge (GC-LE chipset)
00:08.0 Class ff00: Dell Embedded Remote Access or ERA/O
00:08.1 Class ff00: Dell Remote Access Card III
00:08.2 Class ff00: Dell Remote Access Card III: BMC/SMIC device not present
00:0e.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
00:0f.0 Host bridge: Broadcom CSB5 South Bridge (rev 93)
00:0f.1 IDE interface: Broadcom CSB5 IDE Controller (rev 93)
00:0f.2 USB Controller: Broadcom OSB4/CSB5 OHCI USB Controller (rev 05)
00:0f.3 ISA bridge: Broadcom CSB5 LPC bridge
00:10.0 Host bridge: Broadcom CIOB-E I/O Bridge with Gigabit Ethernet (rev 12)
00:10.2 Host bridge: Broadcom CIOB-E I/O Bridge with Gigabit Ethernet (rev 12)
00:11.0 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 05)
00:11.2 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 05)
01:04.0 Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 02)
02:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 02)
04:03.0 RAID bus controller: Dell PowerEdge Expandable RAID controller 4/Di (rev 02)

Descargamos e instalamos zaptel.

[root@serverweb IPBX]# wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.4.11.tar.gz
[root@serverweb IPBX]# tar xzf zaptel-1.4.11.tar.gz
[root@serverweb IPBX]# cd zaptel-1.4.11
[root@serverweb zaptel-1.4.11]# ./configure
[root@serverweb zaptel-1.4.11]# make
[root@serverweb zaptel-1.4.11]# make install
[root@serverweb zaptel-1.4.11]# make config
install -D zaptel.init /etc/rc.d/init.d/zaptel
/usr/bin/install -c -D -m 644 zaptel.sysconfig /etc/sysconfig/zaptel
install -D ifup-hdlc /etc/sysconfig/network-scripts/ifup-hdlc
/sbin/chkconfig --add zaptel
Zaptel has been configured.
 
If you have any zaptel hardware it is now recommended to
edit /etc/default/zaptel or /etc/sysconfig/zaptel and set there an
optimal value for the variable MODULES .
 
I think that the zaptel hardware you have on your system is:
pci:0000:01:04.0     wcte11xp-    e159:0001 Digium Wildcard TE110P T1/E1 Board

Al final de la instalación se nos menciona el modelo de la tarjeta con la que contamos, en este caso se nos presenta un modelo de Digium (aunque obviamente sabemos que es una openvox).

Configuramos nuestro archivo con los parametros necesarios.

[root@serverweb zaptel-1.4.11]# vim /etc/zaptel.conf
 
# MFC/R2 requires CAS signaling
# channel 16 is required to transmit ABCD bits so is not used for voice
span=1,1,0,cas,hdb3
cas=1-15:1101
dchan=16
cas=17-31:1101
 
loadzone=us
defaultzone=us

Iniciamos el servicio de zaptel para cargar los módulos (también lo podemos hacer manualmente).

[root@serverweb zaptel-1.4.11]# service zaptel start
Loading zaptel framework:                                  [  OK  ]
Waiting for zap to come online...OK
Loading zaptel hardware modules: tor2.
 wct4xxp.
 wcte12xp.
 wct1xxp.
 wcte11xp.
 wctdm24xxp.
 wcfxo.
 wctdm.
 wcusb.
Running ztcfg:                                             [  OK  ]

Esta en rojo ya que aun no se ha conectado el enlace.

[root@serverweb zaptel-1.4.11]# cat /proc/zaptel/1
Span 1: WCT1/0 "Digium Wildcard TE110P T1/E1 Card 0" (MASTER) HDB3/ RED
 
           1 WCT1/0/1 CAS RED
           2 WCT1/0/2 CAS RED
           3 WCT1/0/3 CAS RED
           4 WCT1/0/4 CAS RED
           5 WCT1/0/5 CAS RED
           6 WCT1/0/6 CAS RED
           7 WCT1/0/7 CAS RED
           8 WCT1/0/8 CAS RED
           9 WCT1/0/9 CAS RED
          10 WCT1/0/10 CAS RED
          11 WCT1/0/11 CAS RED
          12 WCT1/0/12 CAS RED
          13 WCT1/0/13 CAS RED
          14 WCT1/0/14 CAS RED
          15 WCT1/0/15 CAS RED
          16 WCT1/0/16 HDLCFCS RED
          17 WCT1/0/17 CAS RED
          18 WCT1/0/18 CAS RED
          19 WCT1/0/19 CAS RED
          20 WCT1/0/20 CAS RED
          21 WCT1/0/21 CAS RED
          22 WCT1/0/22 CAS RED
          23 WCT1/0/23 CAS RED
          24 WCT1/0/24 CAS RED
          25 WCT1/0/25 CAS RED
          26 WCT1/0/26 CAS RED
          27 WCT1/0/27 CAS RED
          28 WCT1/0/28 CAS RED
          29 WCT1/0/29 CAS RED
          30 WCT1/0/30 CAS RED
          31 WCT1/0/31 CAS RED

Aunque al iniciar los módulos ya se cargo el archivo de configuración lo volvemos a cargar, para obtener un mensaje mas descriptivo.

[root@serverweb zaptel-1.4.11]# ztcfg -v
 
Zaptel Version: 1.4.11
Echo Canceller: MG2
Configuration
======================
 
SPAN 1: CAS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)
 
31 channels to configure.

Descargamos e instalamos las librerías de openr2.

[root@serverweb IPBX]# wget http://openr2.googlecode.com/files/openr2-1.1.0.tar.gz
[root@serverweb IPBX]# tar xfz openr2-1.1.0.tar.gz
[root@serverweb IPBX]# cd openr2-1.1.0
[root@serverweb openr2-1.1.0]# ./configure --prefix=/usr
[root@serverweb openr2-1.1.0]# make
[root@serverweb openr2-1.1.0]# make install

Descargamos e instalamos asterisk.

[root@serverweb IPBX]# wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.18.tar.gz
[root@serverweb IPBX]# wget http://openr2.googlecode.com/files/openr2-asterisk-1.4.18.patch
[root@serverweb IPBX]# tar xfz asterisk-1.4.18.tar.gz
[root@serverweb IPBX]# cd asterisk-1.4.18
[root@serverweb asterisk-1.4.18]# patch -p0 < ../openr2-asterisk-1.4.18.patch
[root@serverweb asterisk-1.4.18]# ./bootstrap.sh
[root@serverweb asterisk-1.4.18]# ./configure --prefix=/usr
[root@serverweb asterisk-1.4.18]# make
[root@serverweb asterisk-1.4.18]# make install
[root@serverweb asterisk-1.4.18]# make samples
[root@serverweb asterisk-1.4.18]# make config

Aqui es importante resaltar algo que ya menciona el autor de la guia original, la version de autoconf es muy importante, en este caso debe ser la 2.60, ya que menciona que puede o no funcionar, y esto es cierto verifica que version tienes ya que en mi caso tuve que actualizar mi versión de autoconf.

Si la instalación no marca algun incoveniente, entonces asterisk se instalo con el soporte de MFC/R2 usando openr2. Para comprobar que chan_zap.so tiene integrado openr2, ejecutamos el siguiente comando.

[root@serverweb asterisk-1.4.18]# ldd channels/chan_zap.so | grep openr2
        libopenr2.so.1 =&gt; /usr/lib/libopenr2.so.1 (0x00e16000)

Iniciamos el servicio de asterisk

[root@serverweb asterisk-1.4.18]# service asterisk start
[root@serverweb asterisk-1.4.18]# asterisk -r

Nos registramos con un softphone (Zoiper) para autentificarnos y poder realizar llamadas.

zoiper2

Realizamos una llamada a una pizzeria muy famosa (aunque no tan buenas las pizzas).

consola01

Realizamos una llamada para dirigirla a una de nuestras extensiones por medio de uno de nuestros DNIS.

consola03

2 Comments

  1. Reply
    Moisés Silva May 3, 2009

    Excelente artículo. Aunque dado que zaptel esta descontinuado hubiera sido mejor el tutorial con DAHDI. Espero no te moleste ponga una liga en el sitio de libopenr2.org

    Saludos,

  2. Reply
    GIlberto Verastegui June 11, 2009

    Soy algo nuevo en este tema, he instalado asterisk, pero solo SIP. Estoy por instalar Asterisk para un enlace E1 MFCR2 de Alestra, como es en méxico me imagino que es igual al de Telmex. Mi pregunta es,si instalo Asterisk 1.6.1.1 tengo que instalar, segun entendi lo siguiente, librerias openr2, dahdi, descargar asterisk 1.6.1.1, parcharlo con openr2-asterisk, compilarlo e instalar?

    Ahora bien los ultimos parches funcionarán?

    saludos y gracias.

Leave a Reply

Your email address will not be published. Required fields are marked *