Archivo de la etiqueta: Zaptel

HowTo: Compilar Zaptel/DAHDI en un entorno Xen

A raiz del comentario de un usuario me he acordado de un post que tenía en mente pendiente desde hace tiempo: un pequeño HowTo para compilar Zaptel o DAHDI en un equipo con Xen.

El problema que tenemos a la hora de compilar ztdummy o dahdi_dummy en Xen es la fuente de timming. En las versiones actuales de Zaptel y DAHDI el timming (cuando no tenemos tarjetas) se puede obtener de tres fuentes:

  1. El HPET.
  2. El RTC.
  3. El tick del sistema (opción CONFIG_HZ)

En Xen (si usamos el kernel oficial 2.6.18 parcheado) no tenemos disponibles ni la primera ni la segunda opción, pero Zaptel se cree que SÍ que tenemos acceso al RTC, y por tanto falla.

Para solucionarlo tenemos que editar el fichero ztdumy.c o dahdi_dumy.c y localizar la siguiente sección:

/*
* NOTE: (only applies to kernel 2.6)
* If using an i386 architecture without a PC real-time clock,
* the #define USE_RTC should be commented out.
*/
#if defined(__i386__) || defined(__x86_64__)
#if LINUX_VERSION_CODE >= VERSION_CODE(2,6,15)
/* The symbol hrtimer_forward is only exported as of 2.6.22: */
#if defined(CONFIG_HIGH_RES_TIMERS) && LINUX_VERSION_CODE >= VERSION_CODE(2,6,22)
#define USE_HIGHRESTIMER
#else
#define USE_RTC
#endif
#else
#if 0
#define USE_RTC
#endif
#endif
#endif

Si os fijáis el comentario ya nos indica lo que tenemos que hacer: comentar las líneas correspondientes para que no se defina el flag USE_RTC. Para ello modificamos el código anterior dejándolo así:

/*
* NOTE: (only applies to kernel 2.6)
* If using an i386 architecture without a PC real-time clock,
* the #define USE_RTC should be commented out.
*/
#if defined(__i386__) || defined(__x86_64__)
#if LINUX_VERSION_CODE >= VERSION_CODE(2,6,15)
/* The symbol hrtimer_forward is only exported as of 2.6.22: */
#if defined(CONFIG_HIGH_RES_TIMERS) && LINUX_VERSION_CODE >= VERSION_CODE(2,6,22)
#define USE_HIGHRESTIMER
#else
//#define USE_RTC
#endif
#else
#if 0
//#define USE_RTC
#endif
#endif
#endif

De esta manera, Zaptel o DAHDI compilarán sin problemas en un entorno Xen y podremos utilizar el dummy driver necesario para MeetMe o el IAX trunking.

Asterisk 1.6.0, Asterisk 1.4.22 y DAHDI 2.0.0 released!

Ya decía Russell Bryant en Twitter que los releases de Asterisk 1.6.0, 1.4.22 y  DAHDI 2.0.0 estaban cerca. Son sin duda unos releases muy esperados, sobre todo Asterisk 1.6.0 y DAHDI 2.0.0.

Asterisk 1.4.22

Incluye muchos bugs solucionados, además de soportar DAHDI. En esta release se soportan tanto Zaptel como DAHDI. Podéis consultar las implicaciones que tiene este cambio aquí.

Toda lista de cambios esta disponible aquí, y podéis descargar esta versión donde siempre.

Asterisk 1.6.0

Sin duda la release más esperada. Trae muchos cambios y nuevas funcinalidades, así que es importante consultar los ficheros CHANGES y UPGRADE.

Otra de las novedades que trae Asterisk 1.6.0 además de no soportar Zaptel en favor de DAHDI: el nuevo modelo de desarrollo. En Asterisk 1.4, se mantenía un único branch para toda la versión 1.4, por lo que no se añadían nuevas funcionalidades. Esto no hacía posible la inclusión de nuevas funcionalidades hasta las major releases, por lo que tardaban demasiado en ver la luz.

Con el nuevo modelo de desarrollo se creará un branch por cada release. Actualmente ya están creados los branches para Asterisk 1.6.0 y Asterisk 1.6.1. Al contrario que en Asterisk 1.4, en Asterisk 1.6 sí que se añadirán nuevas funcionalidades en Asterisk 1.6.1, Asterisk 1.6.2 y sucesivas versiones. Se espera que el tema de el CallerID en las transferencias este solucionado en Asterisk 1.6.1, y que Asterisk 1.6.2 incluya soporte para IPv6.

Según comentaropn Russell Bryant y Kevin P. Flemming en el AstriCon, se dará soporte a las 3 minor releases anteriores, de manera que tras la salida de Asterisk 1.6.1 solo se dará soporte para las 3 últimas versiones de Asterisk 1.6.0.X. Esperemos que esto sea algo positivo…

DAHDI 2.0.0

DAHDI es el reemplazo de Zaptel ya que la marca Zaptel es propiedad de otra empresa dedicada a la venta de tarjetas minutos de telefonía.

DAHDI viene dividido en 2 paquetes, aunque es posible desacargar uno que agrupa ambos: dhadi-linux y dahdi-tools.

dahdi-linux contiene los módulos del kernel para el manejo de las tarjetas de telefonía, y dahdi-tools las herramientas que susituyen a ztcfg, zttool, etc.

Esta separaciónhace posible que si se detecta un bug en una aplicación no sea necesario hacer una release que incluya los módulos del kernel y vice versa.

Pues por fín tenemos estas nuevas versiones disponibles, aunque obviamente no recomiendo que os pongáis a actualizar a Asterisk 1.6.0 y DAHDI hoy 🙂

Vuelta a la vida y nuevas versiones de… todo! Asterisk, Zaptel, DAHDI…

Últimamente llevo medio-ausente de casi todo 🙁 Entre el proyecto y demás, apenas he tenido tiempo de respirar… en 48 horas solo he leído el correo una vez!!

Pues resulta que me despisto un día, y justo cuando sacan las nuevas versiones de todo!

Como seguro que todos os sabéis la noticia por el blog de Elio, o el de Russell, no la voy a repetir, y por cambiar un poco voy a opinar un poco sobre el tema 🙂

Lo primero comentar que me ha sorprendido ver tanta “rc” en los releases, lo cual quiere decir: “No isntale esto en un servidor en producción.” Últimamente Digium ha metido la pata un par de veces seguidas, así que dese hace no demasiado, se me ha curado un poco la “versionitis” y soy más cuteloso.

Se suponía que Asterisk 1.4.22 iba a estar listo la semana pasada (según mails en la lista de developers) y la versión que ha salido es la RC! Entiendo que el tema de DAHDI les vaya a traer más de un dolor de cabeza, pero a veces tengo la sensación de estar llendo a la aventura cuando pruebo una nueva versión de Asterisk.

Por lo tanto, he decido congelar mi cerebro en la 1.4.21.1, que no me ha dado problemas (de momento) a la espera de necesitar algún cambio. Esto no quier decir que haya dejado de probar cosas nuevas o cosas bleeding-edge (escribo desde una Debian Sid dist-upgradeada ayer, y en casa tengo Asterisk 1.6.1 xD), pero hay que curarse en salud 😉

Espero que las nuevas versiones de Asterisk traigan novedades, así como muchas resoluciones de bugs (los prefiero a las features, que ya tiene bastantes), que me ayuden a dormir más tranquilo.

:wq

Zaptel 1.2.26 y 1.4.11 released!

Acaban de ser lanzadas estas 2 nuevas versiones de Zaptel, con unos cuantos cambios importantes como son el soporte para MTP2 a nivel de kernel para SS7, y muchos bugs solucionados en los drivers de Digium y Xorcom.

Para una lista completa de los cambios podéis consultar el ChangeLog, y para descargas, donde siempre:  http://downloads.digium.com/pub/zaptel/

diy-01_july2k7.jpg

Asterisk 1.4.20 released!

Últimamente ando bastante fucked-up de tiempo, así que no puedo postear demasiado, pero tengo alguna bala en la recámara, para cuando termine exámenes 😉

Mientras tanto, ya tenemos nueva release de Asterisk, la 1.4.20, una release que yo, al menos, estaba esperando, ya que no me gustan los releases de emergencia del tipo 1.4.X.Y.

Esta versión tiene muchísimos bugs resueltos, ya parece que lo del IAX esta del todo bien, aunque ya se ‘solucionó’ en la 1.4.19.2… Mirando el ChangeLog, veo que ha habido bastante movimiento en el chan_sip y en mi amado chan_local 🙂

Habrá que probarla antes de lanzarse al vacío, no sea que pase como con la 1.4.19, pero parece que para esta se lo han currado bien! 😉

Podéis descargarla donde siempre:  http://downloads.digium.com/pub/telephony/asterisk/

asterisk.png

Por otro lado, como se podía leer ayer en toda la blogokosa, Digium ha renombrado el proyecto Zaptel a DAHDI (Digium Asterisk Hardware Device Interface), así que habrá algo de lío en las versiones de Asterisk 1.4, que utilizarán tanto Zaptel como DAHDI,  mientras que Asterisk 1.6 utilizará solo DAHDI. El anuncio oficial, más detallado, lo tenéis aquí: http://blogs.digium.com/2008/05/19/zaptel-project-being-renamed-to-dahdi/

diy-01_july2k7.jpg

Zaptel 1.4.10.1 released!

Acaba de ser lanzada esta nueva versión de Zaptel que incluye algunos cambios en el módulo xpp y arregla un bug que causaba que las reglas udev no se instalaran correctamente.

Podéis descargarlo donde siempre: http://downloads.digium.com/pub/zaptel/

diy-01_july2k7.jpg

My two cents:

Aunque cambiaron el modelo de desarrollo, sigue siendo imperfecto, y releases como este lo demuestran. Teniendo en cuenta el crecimiento del uso de Asterisk en los últimos tiempos creo que Digium debería haberse adaptado mejor, y que cuando saque una versión, no tenga que sacar otra en 2 semanas por un super-bug.

Zaptel 1.2.25 y 1.4.10 released!

Se acaban de lanzar estas 2 nuevas versiones de Zaptel, con cambios bastante importantes:

  • Cambios en los drivers wctdm24xxp y wcte12xp en la gestión de interrupciones.
  • Cambios y muchos bugs resueltos en los drivers xpp.
  • Modificaciones en el Makefile.

Para más información y descargas, podéis acudir donde siempre: http://downloads.digium.com/

diy-01_july2k7.jpg

Zaptel 1.2.24 y 1.4.9 released!

Han sido lanzadas estas 2 nuevas versiones de Zaptel, con algunos cambios interesantes:

Cambios 1.2.24:

  • Soporte para el kernel 2.6.24
  • Nuevos parámetros para configurar el cancelador de eco VPMADT032.
  • Mejorada la gestión de interrupciones en el driver wcte12xp.

Cambios 1.4.9:

  • Soporte para el kernel 2.6.24
  • Nuevos parámetros para configurar el cancelador de eco VPMADT032.
  • Mejorada la gestión de interrupciones en el driver wcte12xp.
  • Arreglados los nombres de los streams RX/TX en ztmonitor.
  • Informe de pérdida de batería a modo de alarma de canal (solo en Asterisk 1.6/trunk)
  • Añadida una nueva forma opcional de detectar el ring para facilitar la detección del CallerID en el Reino Unido.

Podéis descargarlas aquí: http://downloads.digium.com/pub/zaptel

diy-01_july2k7.jpg