Contador estandar

24. June 2008

Cómo testear una tarjeta de primarios en Asterisk

Cuando vamos a instalar un Asterisk, comprobamos que el sistema operativo tiene las últimas versiones de los paquetes estables, que tenemos una versión de Asterisk marcada como estable (nada de trunk, team o release candidate), revisamos varias veces la configuración del dialplan, comprobamos que Asterisk se registra corréctamente con el proveedor IP y probamos a hacer llamadas y recibirlas para asegurarnos que todo marcha como debería hacerlo.

Pero a menudo nos encontramos con un inconveniente a la hora de probar la conexión con una tarjeta de comunicaciones, esto se puede hacer de las siguientes maneras:

  • Conectándole una línea directa con el proveedor de telefonía.
    Esto sería lo ideal, aunque no siempre es posible.
  • Conectando un simultador de líneas.
    La pega es que estos dispositivos son bastante caros y complejos para alguien no acostumbrado a estos temas.
  • Conectándole otro sistema con señalización contraria que simule ser el proveedor.
    El resultado de la prueba dependerá de cómo tengamos configurado el sistema contrario, lo que puede darnos un resultado nada concluyente.

Cuando vamos a probar una tarjeta analógica, no es difícil encontrar una línea directa con el proveedor de telefonía que nos suministre el voltaje necesario, los tonos y los cambios de polaridad necesarios para probar la tarjeta o bien algún tipo de dispositivo que genere el voltaje necesario y nos simule una línea (un spa3000, un grandstream fxs, o cualquier otro. De la misma manera aunque un poco más complicado es con una RDSI Básica, o bien tenemos una disponible, o bien tendremos que buscar algo que nos permita simular este tipo de líneas.

Lo que es bastante más complicado es disponer de un primario, y si no tenemos la suerte de tener otra tarjeta de primarios configurada en modo proveedor (NET) y que nos suministre la señal de timing, tendremos que buscar otra manera de comprobar que la tarjeta funciona corréctamente.

Para ello, podemos utilizar lo que se llama un “conector nulo” que no es más que un cable con unos pines conectados entre sí de manera que cualquier señal que enviemos por la tarjeta (puertos TX1 y TX2) la recibiremos por los pines destinados a la recepción (RX1 y RX2). Este método no nos va a permitir comprobar si la configuración del primario es correcta (ya que para eso necesitaremos del primario con sus parámetros y su configuración establecida por el proveedor) pero sí nos va a permitir asegurarnos que la tarjeta funciona correctamente.

Tendremos que utilizar el siguiente esquema con los pines indicados unidos entre sí, cargar el módulo necesario para la tarjeta (que creará los dispositivos /dev/zapX) y, con Asterisk descargado, utilizar la herramienta ‘patlooptest’ que viene en el paquete zaptel.

La aplicación patlooptest enviará secuencias de 1’s y 0’s aleatorias a través de los pines TX y esperará a recibir la misma secuencia por los RX.

De esta manera, comprobamos que:

- La tarjeta es capaz de enviar una secuencia binaria desde una aplicación hacia el exterior.
- La tarjeta es capaz de recibir la misma secuencia desde el exterior y hasta la aplicación.

El resultado de la prueba es trivial, si lo que enviamos es igual a lo que recibimos, entonces la tarjeta es correcta. Si lo que enviamos es distinto a lo que recibimos, entonces puede ser porque la tarjeta tenga algún tipo de fallo.

Si Asterisk está cargado al hacer el test, la prueba no será válida ya que Asterisk está continuamente enviando datos a través del primario para llegar a conectarse a un primario de verdad, por lo que, además de la secuencia que envíe el patlooptest, Asterisk enviará la suya, y la aplicación no recibirá únicamente los datos que espera si no también recibirá intercalados los datos que envía Asterisk y que no están controlados.

Las tarjetas no suelen entender de señalización (qsig, euroisdn, etc…) únicamente entiende de 1’s y 0’s, por lo tanto si en el arranque del módulo de la tarjeta (que ejecuta varios tests internos) el módulo no indica que la tarjeta esté mal, y al hacer el patlooptest los datos son correctos, entonces si la conexión con el primario no funciona, seguramente se deba a un fallo en la configuración o en los valores que tenga configurado el proveedor.

Si con este conector nulo encendemos Asterisk, nos encontraremos que Asterisk mostrará un mensaje de error al detectar que el “otro lado” tiene la misma configuración que nosotros, es decir: Si hemos configurado la tarjeta como PRI_CPE, entonces en el otro lado también será PRI_CPE en lugar de PCI_NET.

29. May 2008

Zaptel 1.4.11 Released!

En la lista de Asterisk de desarrolladores acabo de ver que han lanzado la versión 1.4.11 (y la 1.2.26) del (todavía existente) paquete Zaptel.

Entre las mejoras que hay en esta versión están:

- Soporte de señalización MTP2 a nivel de kernel y en las tarjetas Digium de 1 primario.
- Solucionadas las falsas alarmas en primarios T1.
- Introducción al Zap-Live (ya veremos qué es esto… :)
- Algunos bugs que aparecían con nuevos kernels 2.6.24 y superiores, aunque algo me dice que no se han solucionado todos…

Podeis descargar el ChangeLog.
y el paquete zaptel de la página de Descargas.

20. May 2008

Adiós Zaptel. Hola DAHDI!!!

Leyendo la lista Asterisk-Dev me encontré con un post bastante curioso y me hizo sospechar lo mismo que al resto de los usuarios de la lista, algo nuevo parecía haberse filtrado sin querer y tras algunas preguntas y comentarios parece ser que Digium lo ha terminado haciendo público en su blog.

Al parecer todo viene a raiz de que el propietario de Zaptel hace un par de años le comunicó a Digium que la marca estaba registrada, casualmente por una empresa dedicada a la telefonía (una empresa de venta de tarjetas para llamar por teléfono) y en parte se quejaba de que cuando alguien buscaba por término ‘Zaptel’ no aparecía su página y en cambio sí que aparecen otras tarjetas más famosas. :)

Digium ha estado buscando una palabra que no estuviese registrada y que tuviera relación directa con el software que da soporte a sus tarjetas y el nombre en cuestión fue DAHDI.

DAHDI: Digium Asterisk Hardware Device Interface

¿Qué ocurrirá entonces con el actual paquete Zaptel?

Se va a proceder a un tiempo de “renombramiento” de todo el paquete Zaptel y realizando ciertas modificaciones bastante llamativas de manera que tendrá todas las funcionalidades de la versión Zaptel 1.4 y dejará de darse soporte para kernels de Linux 2.4 y sistemas de gestión de dispositivos DevFS (en favor del uDev), por lo que los drivers actuales de Zaptel pasarán a estar desfasados y no seguirán recibiendo actualizaciones una vez lanzada la versión DAHDI 2.0.0 (la primera que verá la luz).

Asterisk 1.2 únicamente será compatible únicamente con Zaptel.
Asterisk 1.4 tendrá que adaptarse a utilizar tanto el paquete Zaptel como el nuevo DAHDI.
Asterisk 1.6 únicamente soportará DAHDI.

Digium ha señalado que pondrá a disposición de todos los usuarios una página de información para lograr que la migración de Zaptel a DAHDI sea lo más cómoda posible.

http://www.asterisk.org/zaptel-to-dahdi

Más información próximamente… :)

10. May 2008

LibPri 1.4.4: Soporte de RDSI Bri y TBCT QSig

Esta semana, siguiendo los hilos de la lista Asterisk-Dev, me he encontrado con un anuncio que marqué para analizar cuando tuviera más tiempo. El anuncio lo daba Matthew Fredrickson de Digium, ya que es uno de los desarrolladores que se ocupa de mantener al día el paquete Zaptel y el LibPRI.

Concretamente, el anuncio iba sobre el nuevo paquete LibPri (1.6.0) así lo anunciaban aunque finalmente ha pasado a ser el LibPri 1.4.4 y que incluye dos añadidos bastante interesantes que explicaré ahora.

- Soporte de tarjetas RDSI Bri:
Algo que iba siendo hora, ya que en la actualidad, el soporte de RDSI Bri está en mano de mISDN y aunque es un driver que suele funcionar bien, el hecho de incorporar el soporte BRI al Zaptel es algo que mejora la “centralización” en la corrección de bugs, algo que actualmente no se hace.
Si hay algún bug en mISDN, los encargados de arreglarlo son los desarrolladores de mISDN, no los del paquete Zaptel, aunque si el error está en el archivo ‘chan_misdn’ entonces sí.
De momento, creo que solo permiten modo Punto-multi-punto.

- Soporte de TBCT/2BCT en QSig:
Esto es algo muy interesante, que muchas personas lo han pedido y hasta ahora únicamente funcionaba en pocos sistemas.
Cuando conectamos Asterisk a una PBX con extensiones, y estas extensiones se llaman entre sí, la llamada no tiene porqué llegar a Asterisk, pero si la llamada, después de una transferencia comienza y acaba en la PBX, Asterisk pasa a ocupar dos canales (uno para el origen y otro para el destino).
Con el soporte TBCT, Asterisk reconoce que el origen y el destino vienen de la misma PBX y puentea los canales liberando ambos canales ocupados, permitiendo que el tráfico no llegue a Asterisk.
Llevan preparando esta feature desde la Astricon del 2005. :P

Podeis descargar esta versión aquí:
http://downloads.digium.com/pub/libpri

02. May 2008

Asterisk 1.4.20-rc1 y Zaptel 1.4.10.1 Released

Acaban de publicarse dos actualizaciones bastante interesantes:

Por un lado, el zaptel 1.4.10.1 que corrige algunos fallos del soporte del xpp (de Xorcom) y del udev.

Por el otro lado, una “release candidate” de Asterisk 1.4.20 que trae algunas mejoras en distintos protocolos como IAX y SIP. Se ve que Olle Johansson, tras el SIP MasterClass de Orlando, se ha vuelto a poner las pilas con el chan_sip y le ha hecho algunas modificaciones bastante interesantes.
A ver si en la SIP MasterClass de Barcelona, le animamos lo suficiente para que continúe dándole guerra al chan_sip.

Para descargar la última versión de zaptel:
http://downloads.digium.com/pub/zaptel/

Para descargar la última versión de Asterisk RC 1:
http://downloads.digium.com/pub/asterisk

09. April 2008

Zaptel 1.4.10 y 1.2.25 Released!

Tras unos bugs bastante curiosos detectados en el zaptel cuando se configuran con tarjetas de primarios, Digium acaba de lanzar la versión 1.4.10 que parece que solucionan dicho bug primarios que cambian ciertas propiedades demasiado rápido (de los que casualmente en España son la mayoría) por lo que actualizar a esta versión es mucho más que altamente recomendable para aquellos dueños de tarjetas de primarios PCI y PCI-Express ya que mejora su rendimiento entre otros motivos, por el uso del VoiceBus incluido en las tarjetas que permite, entre otras cosas, mejorar ámpliamente el rendimiento de las tarjetas Digium cuando las tarjetas comparten interrupciones (IRQ).

También se esperaba que en esta versión estuviera incluido ya el modulo ztd-ethmf para Redfone, pero parece ser que no ha sido incluido en el último momento.

Entre otros cambios que esperaba en esta versión han incluido la detección de línea en los puertos FXO de la TDM a través de los avisos de alertas de colores tal y como se venía haciendo con las tarjetas de primarios.

Por último, incluye soporte para una nueva tarjeta que Digium lanzará próximamente. :D

Como podeis imaginar, esta actualización era muy esperada y corrige muchos y grandes bugs, a la vez que mejora el funcionamiento de las tarjetas e iba a incluir soporte para los dispositivos Red-fone, aunque tendremos que esperar un poco más antes de ser incluido en el paquete.

Actualización: Estaba probando la nueva versión cuando he recordado otra ventaja que trae esta versión:
La versión mISDN que trae por defecto al ejecutar el comando make b410p es la 1.1.7-2, que ya era hora. :)

Podeis descargarlo de aquí:
http://downloads.digium.com/pub/zaptel/

03. March 2008

Adiós a los problemas de compartición de IRQ en tarjetas Digium

Muchas TarjetasEl pasado día 29 de Febrero, un mensaje de Shaun Ruffel, desarrollador del kernel de Linux y de Digium, anunció que estaba trabajando en una versión especial de Zaptel que permitiría, a todos aquellos que no han podido evitar compartir la IRQ de las tarjetas Digium con slots PCI, solucionar los cortes y pérdida de calidad por esta causa.

Por supuesto, la versión PCI-Express no cuentan con esta problemática por el motivo que ya expliqué cuando hablé de las ventajas de las tarjetas PCI-Express.

Es, sin duda, un gran avance debido al nuevo chipset exclusivo de Digium llamado VoiceBus que muchos ya habreis oído y que ofrece una mejora en la calidad de sonido además de permitir ser reprogramado para conseguir ventajas como la comentada.

Esta nueva característica será implementada posiblemente en una versión próxima de los módulos Zaptel, aunque de momento ya podemos descargarnos la versión subversión:


cd /usr/src
svn co http://svn.digium.com/svn/zaptel/team/sruffell/voicebus  zaptel-digium
cd zaptel-digium
./configure
make
make install
make config

Enlace: http://lists.digium.com/…/032110.html

14. February 2008

Como configurar un phoneBridge2 MOD-B

La gente de red-fone se han propuesto facilitar la vida a sus usuarios aún más si cabe y parece ser que está teniendo bastante éxito.

Como ya comenté en un artículo anterior, la empresa red-fone actualizó sus dispositivos phoneBridge2 del modelo A (MOD-A) al modelo B (MOD-B), la principal diferencia consistía en que, mientras el phoneBridge2 MOD-A, trabajaba exclusivamente en capa 2 (únicamente mediante direcciones MAC), el phoneBridge2 nuevo MOD-B trabaja tanto en capa 2 como el capa 3 (hay que asignarle una dirección IP), de hecho, nuestros Asterisk deben estar en el mismo rango de IP que los phoneBridge2 que queramos utilizar.

Acostumbrado al modelo A, se me hizo un poco complicada la configuración de un sistema de redundancia con el modelo B ya que al tener dirección IP, los archivos de configuración varían bastante, es por ello por lo que visitando la web de red-fone, descubrí un tutorial muy, muy interesante donde lo explicaban bastante clarito, y por si aún alguien no llegaba a entender muy bien cómo configurarlo, han elaborado un script muy útil que genera el archivo zaptel.conf y redfone.conf necesario en un tiempo record y con unas preguntas muy básicas.

El tutorial podeis verlo aquí:
http://www.red-fone.com/Products/fonebridge2/Installation/

y el archivo para facilitar la configuración del phoneBridge2 podeis descargarlo de aquí:
http://support.red-fone.com/downloads/tools/redfone_gen.sh

Atención: Hay que utilizar el nuevo driver que se encuentra en el paquete zaptel que se descarga de la página de descargas de red-fone:
http://support.red-fone.com/downloads/zaptel/

Una gozada de aparato. :)

17. January 2008

Actualiza gratis tu TC400B a 120 canales!

Una sorpresa que nos ha traído hoy Digium, ha sido que con la última versión del Zaptel, para aquellos que tienen la tarjeta de transcoding TC400B (que recuerden, soportaba 96 canales G.729 y 92 canales G.723) ahora viene con dos sorpresas:

1.- Ahora la tarjeta soporta G.723.1 (5.3kbits/seg y 6.3kbits/seg)
Hasta ahora únicamente soportaba la versión de 5.3kbits/seg.

2.- Al actualizar con el último zaptel, tendremos que darnos cuenta que, en lugar de 96 licencias G.729 y 92 licencias G.723, ahora tendremos 120 licencias G.729 totalmente gratis. (25% más)

Lo que se suele decir en estos casos: Hasta que no lo vea, no lo creeré, así que… a actualizar y a probarlo! :D

Enlace: http://blogs.digium.com/2008/01/17/more-more-more-tc400/

15. January 2008

Zaptel 1.2.23 y 1.4.8 Released!

El equipo de desarrolladores acaba de hacer pública una nueva versión del paquete zaptel (el que permite a Linux reconocer la tarjetas Digium), en este caso no solo para la versión 1.4 si no también para la 1.2.

Entre los cambios que trae esta nueva versión, se encuentran:

- Una mejora en la utilidad fxotune, imprescindible hoy día para analizar la línea analógica y mejorar la calidad de audio, evitando cadencias y eco. Podeis encontrar la descripción de esta nueva versión aqui:
http://lists.digium.com/pipermail/asterisk-users/2008-January/203778.html
- Soporte mejorado para las tarjetas de primarios: TE120P, TE121P, TE122P

- Actualizado el generador de DTMF, permitiendo la generación en tiempo de ejecución así como DTMF “twist”.

Podeis descargarlo de aquí:
http://downloads.digium.com/pub/zaptel/