Probando las Tarjetas OpenVox
Juan Carlos Valero, de Capatres, nos ha prestado un par de tarjetas de OpenVox, para poder probarlas, y de paso hacer un pequeño review. Las tarjetas son la B200P, para 2 puertos RDSI, y la A400P para hasta 4 puertos FXS/FXO.
Las Tarjetas
La A400P es clavadita a la TDM400P. Lleva el chip TigerJet 320, admite hasta 4 módulos FXS y FXO. Para los primeros es necesario proporcionar alimentación adicional a la tarjeta, mediante un conector molex. Los módulos son compatibles con los de Digium. De hecho, en la foto de arriba, los del 1 y 4 son OpenVox, y los 3 y 4 Digium.
La B200P lleva el chip HFC-4S, que puede gestionar hasta 4 puertos. De hecho, si os fijáis, la diferencia es que no tiene soldados los componente de dos de los puertos. Alguien con tiempo libre, y sin miedo a perder la garantía, podría intentar habilitar estos dos puertos extra ;).
Lo bueno de la tarjeta, comparándola con la Billion HFC de un solo puerto, es que dispone de jumpers para seleccionar el modo de operación: TE, para conectarlo a un TR del operador, o NT para conectar un teléfono RDSI. Además, para este último caso, dispone de un conector molex, para poder proporcionar el voltaje necesario a la línea, y que los teléfonos tomen de ahi la energía.
Instalación y configuración
Una vez pinchadas en sendos slots PCI, así es como las detecta el sistema operativo:
$ lspci
[...]
03:08.0 Communication controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
03:09.0 ISDN controller: Cologne Chip Designs GmbH ISDN network Controller [HFC-4S] (rev 01)
[...]
La primera de ellas es la A400P, y la segunda la B200P.
A400P
La configuración de la A400P es exactamente igual a la TDM400P de Digium. Es decir, definimos en /etc/zaptel.conf los módulos instalados, en nuestro caso un FXS en el puerto 1 y un FXO en el 4:
loadzone = es
defaultzone=es
fxoks=1 ; La señalización es justo al contrario
fxsks=4
En /etc/asterisk/zapata.conf :
[channels]
language=es
signalling=fxo_ks
context=from-internal
callerid=Extension Zap <201>
channel=>1
;
signalling=fxs_ks
context=from-pstn
answeronpolarityswitch=yes
hanguponpolarityswitch=yes
polarityonanswerdelay=1
channel=>4
Comprobamos en asterisk que los puertos estén disponibles:
tamaja*CLI> zap show channels
Chan Extension Context Language MOH Interpret
pseudo from-pstn es default
1 from-internal es default
4 from-pstn es default
Las llamadas desde la extensión se dejan en el contexto from-internal. Las llamadas desde la red telefónica entran por from-pstn.En /etc/asterisk/extensions.conf:
; Dialplan minimalista
[from-internal]
exten => _[6789]XXXXXXXX,1,Dial(Zap/4/${EXTEN})
;
[from-pstn]
exten => s,1,Dial(Zap/1)
exten => s,n,Hangup
B200P
Seguimos con la B200P. Podemos usar tanto el parche Bristuff, como tirar de chan_misdn. Yo prefiero la segunda opción.
Descargamos e instalamos mISDN (modulos del kernel) y mISDNUser (aplicaciones) desde http://www.misdn.org. El script misdn-init, que se instala en /etc/init.d/ nos permite detectar las tarjetas compatibles y generar el fichero de configuración. Además, usado en el arranque y parada del servidor, carga y descarga los módulos.
$ /etc/init.d/misdn-init scan
[OK] found the following devices:
card=1,0x4
[ii] run "/usr/sbin/misdn-init config" to store this information to /etc/misdn-init.conf
.
$ /etc/init.d/misdn-init config
[OK] /etc/misdn-init.conf created. It's now safe to run "/usr/sbin/misdn-init start"
[ii] make your ports (1-4) available in asterisk by editing "/etc/asterisk/misdn.conf"
Editamos el fichero de configuración /etc/misdn-init.conf. En primer lugar, desactivamos los puertos 3 y 4, ya que esta tarjeta no los tiene. Además, dado que las dos RDSI están configuradas en grupo, en modo PTP, tendremos que modificar ese parámetro:
card=1,0x4
te_ptp=1,2 ; solo dos puertos, yen modo PTP
poll=128
dsp_poll=128
dsp_options=0
dtmfthreshold=100
debug=0
Arrancamos el servicio, para que se carguen los módulos:
$ /etc/init.d/misdn-init start
-----------------------------------------
Loading module(s) for your misdn-cards:
-----------------------------------------
/sbin/modprobe --ignore-install hfcmulti type=0x4 protocol=0x22,0x22,0x2,0x2 layermask=0xf,0xf,0xf,0xf poll=128 debug=0
/sbin/modprobe mISDN_dsp debug=0x0 options=0 poll=128 dtmfthreshold=100
[i] creating device node: /dev/mISDN
Copiamos ahora el fichero de configuración de misdn que viene con asterisk, y lo adaptamos. Básicamente, añadimos esta sección al final:
[telefonica]
ports=1,2
msns=*
context=from-pstn
echocancel=yes
Hemos definido un grupo (telefonica), que utilizará los puertos 1 y 2 de la tarjeta. Aceptará todos los MSN (o DID’s), y entrarán las llamadas al contexto from-pstn.
tamaja*CLI> misdn show stacks
BEGIN STACK_LIST:
* Port 1 Type TE Prot. PTP L2Link DOWN L1Link:DOWN Blocked:0 Debug:0
* Port 2 Type TE Prot. PTP L2Link DOWN L1Link:DOWN Blocked:0 Debug:0
Aún no hemos conectado las líneas, por eso aparecen DOWN.
Así quedaría nuestro dialplan de ejemplo, en /etc/asterisk/extensions.conf:
; Dialplan minimalista
[from-pstn]
exten => 928000000,1,Dial(Zap/1)
exten => 928000000,2,Hangup
[from-internal]
exten => _[6789]XXXXXXXX,1,Set(CALLERID(num)=928000000)
exten => _[6789]XXXXXXXX,n,Dial(mISDN/g:telefonica/${EXTEN})
Estamos usando el grupo que definimos antes para realizar las llamadas. También podríamos utilizar un puerto específico (mISDN/1/${EXTEN} o mISDN/2/${EXTEN}).
Conclusión
Las tarjetas funcionan, el aspecto y fabricación son buenos. Queda eso sí, probarla durante un tiempo en una centralita en producción, pero tengo la sensación de que no darán problemas. Si los hubiese, seríais los primeros en saberlo
En definitiva, si todo sigue como hasta ahora, y teniendo una empresa en España que distribuya las tarjetas y gestione las garantías (en lugar de reclamar directamente a los chinos de OpenVox), son una opción igual de válida, pero más económica, que las originales.



Buenos pues con lo que has contado nada mas queda que decir.
Muy buen trabajo.
Comment by Juan I. Gonzalez
— 10 April 2008 @ 12:55
[…] En su excelente blog Julian Menendez ha publicado una completa review de las tarjetas OpenVox A400P y B200P, incluyendo ejemplos de configuración y algunas fotos. Podeis verla en este enlace. […]
Pingback by Bytes al viento… » Blog Archive » Review A400P / B200P OpenVox
— 10 April 2008 @ 15:38
Hola Julián,
Antes de nada enhorabuena por el post. Muy buen trabajo, simplemente aclarar en la comparativa que haces recurrente con Digium que la TDM400P ya fue descatalogada y superada tecnológicamente por las nuevas TDM410P que no solo dispone de la opción de cancelador de echo hardware (la de software siempre es posible de forma gratuita con productos genuinos de Digium), sino también porque incorporan la nueva tecnología patentada VoiceBus que evita los conflictos de interrupciones IRQ.
Por último un apunte más es que todos los productos Digium vienen ahora con 5 años de garantía ¿cuánto daba OpenVox?
1 Abrazo
Comment by Nacho
— 10 April 2008 @ 23:15
La garantia de los productos OpenVox, tal y como obliga le legislación en España, es de 2 años.
Comment by Juan Carlos Valero
— 11 April 2008 @ 9:19
Hola Nacho,
Llevo unos meses un tanto desconectado del mundillo, como podrás comprobar por la fecha del post anterior
He estado buscando información sobre el VoiceBus, y la verdad es que no tiene mala pinta. Entiendo que han cambiado el chip de la tarjeta, no? Ya no es el TigerJet? O es un añadido para hacer un buffer intermedio y permitir incrementar la latencia de las interrupciones? De cualquier modo, si tuviese una, se podría un review en condiciones, comparándola con la ya descatalogada, en condiciones “adversas”, y comparar el audio de una y otra…
Respecto al tema de garantía de las OpenVox, acaba de dejar Juan Carlos un comentario.
Saludos
Comment by julianjm
— 11 April 2008 @ 9:34
Comentar que tengo funcionando una A400 hace 2 años con 4 puertos FXO con asterisk, sin el mas mínimo problema.
Saludos
Comment by Salvador
— 11 April 2008 @ 22:35
Hola Julián, hazme un favor, mira tengo 2 tarjetas OpenVox B100P instaladas en un Asterisk 1.4.X y cuando en la consola corro el comando “mISDN Show Stacks” aparece lo siguiente:
* Port 1 Type TE Prot. PMP L2Link DOWN L1Link:UP Blocked:0 Debug:0
* Port 2 Type TE Prot. PMP L2Link DOWN L1Link:UP Blocked:0 Debug:0
Quiero saber ese “L2Link DOWN” es normal? a qué se debe? y si es un problema, cómo puedo solucionarlo?
Muchas gracias por tu respuesta!
Bye,
DIDIER GRISALES M.
Comment by Didier
— 29 August 2008 @ 5:46
Didier, en primer lugar, ¿te funcionan las llamadas entrantes y salientes?
Que esté la capa 1 (L1) arriba es buena señal. Algunos operadores bajan lal capas L1 y L2 después de un tiempo de inactividad. Es normal.
Solo tienes problemas si intentas llamar a un grupo (en el caso de que tengas definido un grupo para los 2 puertos), y están abajo las capas. Si llamas directamente a un puerto no deberías tener problemas.
Si no te funcionan las entrantes o salientes, asegúrate de que tienes bien configurado el modo (PTP o PTMP) de cada puerto.
Comment by julianjm
— 29 August 2008 @ 8:24
Julián, muchas gracias por su oportuna respuesta. Mira quisiera saber qué es esto de los grupos. De momento me están funcionando solo las llamadas de salida, pero las llamadas de entrada no están funcionando, timbra dos veces y se cuelga, estuve revisando el “verbose” de la consola y cuando está entrando la llamada lo que muestra es lo siguiente:
P[ 1] channel with stid:0 for one second still in use!
P[ 1] channel with stid:0 for one second still in use!
Me podrías indicar a qué se debe este mensaje y cómo puedo hacer que funcione el sistema para las llamadas entrantes?.
La configuración que tengo en /etc/misdn-init.conf, en el apartado de “te_ptmp” es la siguiente:
te_ptmp=1,2
Gracias por tu ayuda!
DIDIER GRISALES M.
Comment by Didier Grisales M.
— 29 August 2008 @ 17:47
Y estás seguro de que tus RDSI están en modo punto-multipunto?
Prueba con te_ptp=1,2
Comprueba además que exista el contexto al que tienes asignado los canales, y que tengas una extensión del tipo
exten => _X.,1,NoOp(Llamada entrante al numero ${EXTEN}) exten => _X.,n,....Comment by julianjm
— 29 August 2008 @ 19:16
Hola Julián, muchas gracias por tu respuesta. Mira, yo estuve verificando también la configuración que me dijiste, es decir, probé con “te_ptp=1,2″ pero tampoco funcionó, y quisiera saber en qué archivo puedo encontrar lo de los contextos, porque la verdad no sé.
La verdad es que no tengo mucha experiencia en esto y no sé cuál archivo deba modificar.
Muchas gracias Julián!
DIDIER GRISALES M.
Comment by Didier Grisales M.
— 29 August 2008 @ 19:36
Hola, tengo el mismo problema que Didier, alguien consigio solucionarlo?
Gracias de antemano.
Eduardo
Comment by Eduardo
— 17 November 2008 @ 15:27
En /etc/asterisk/misdn.conf, donde defines el puerto. Según el ejemplo que puse:
Estás indicando a misdn que las llamadas entrantes vayan al contexto [from-pstn]… Es ahí donde debes meter el dialplan necesario para recibir la llamada y, por ejemplo, desviarla a una extensión concreta (con un Dial(SIP/loquesea)..
Comment by julianjm
— 20 November 2008 @ 11:20
Hola, problema solucionado.
Gracias Julián y un saludo.
Comment by Eduardo
— 24 November 2008 @ 10:58