Codec g729 no oficial y Asterisk

6 04 2008

Llevo algún tiempo «haciendo pruebas» con el codec g729 en alguno de mis servidores Asterisk. Utilizo el codec que hay en asterisk.hosting.lv y que está compilado según los binarios de Intel. La versión de Asterisk es la 1.4 y las máquinas son variadas: 32 bits, 64 bits, dualcore, etc, etc. Obviamente, elijo el codec adecuado para cada arquitectura.

En dichas pruebas, siempre he observado un comportamiento errático y que no era capaz de explicar achacándolo a mis limitados conocimientos en redes. Me metia por telnet en el router y usaba la funcionalidad que implementa el mismo, para ver el ancho de banda usado en tiempo real. Pues bien, cual era mi sorpresa al observar como la velocidad de subida siempre era mayor que la de bajada!!! Si, por ejemplo, tenía una llamada activa, pues entonces tenía 8.000 B/s de subida y 5.000 B/s de bajada. ¡Extraño comportamiento!. La verdad es que no tenía ni la más pajolera idea de por donde podían ir los tiros.

Incluso tras leer el detallado post de Elio Rojano sobre las diferencias entre el codec oficial y el no oficial, no pude aclarar este extremo.

No fue hasta que di con el blog de un habitual de la lista de Asterisk-Es, Miguel Rabí, que descubrí las «putaditas» ocultas que tiene el susodicho no oficial. Parece que el muy mamón (el codec, no Miguel 🙂 ) no comprime lo mismo en un sentido que en otro, es decir, presenta una asimetría en la compresión del audio, de forma que existe una diferencia de velocidad en el canal de subida y en el de bajada.

Un punto a tener en cuenta para los que trastean con esto y luego se «olvidan» de comprar las versiones oficiales.

Actualización: gracias a las observaciones de David, he de puntualizar que esta situación se observa en la rama 1.2 de asterisk. En la 1.4 (y con los úlimos codecs free parece que ya no pasa 🙂 )


Acciones

Information

5 responses

6 04 2008
davidp

No lo entiendo.

Vamos a ver: El codec comprime para «enviar» datos y descomprime al recibirlos. El codec no comprime a una tasa de 5.000 B/s en un sentido y a 8.000 B/s en el otro. Más bien será que estás enviando a razón de 8.000 B/s, que será la tasa a la que está comprimiendo la librería del codec que tengas en tu máquina, y recibiendo 5.000B/s de quien sea que te los está enviando. Lo que habrá que ver es qué implementación del codec está usando ese otro equipo.

O igual es que hay algo que no he entendido…

6 04 2008
ualtech

Efectivamente david, quizá no quede claro en el post 😦
La asimetría se refiere a la tase de envío y recepción entre dos equipos en localizaciones diferentes. Además, la comunicación se hacía entre un equipo con codec comercial y el otro era un asterisk 1.2 con codec «free»

24 09 2009
maximiliano javier

hola de donde bajo el codec 729 comercial y donde pago la licnecia¿??¿ me puede ayudar?

24 09 2009
maximiliano javier

hola de donde bajo el codec 729 comercial y donde pago la licnecia¿??¿ me puede ayudar

24 09 2009
maximiliano javier

hola de donde bajo el codec 729 comercial y donde pago la licnecia¿??¿ me puede ayudar

el otro comentario estaba mal mi correo por esoo lo volvi a escribir

gracias

Deja un comentario