Contador estandar

01. Mayo 2008

Comparación entre el códec H.264 y Theora

Hace poco, escribí un artículo sobre el IAXClient 2 donde se añadía el soporte de vídeo a esta librería y por extensión, al soporte de vídeo de IAX en Asterisk.
En estos añadidos nuevos, se encontraban soporte para el códec H.264 y Theora.

El H.264 es uno de los mejores códecs para emisión/recepción de vídeo. No en vano se utiliza actualmente para videoconferencia con una calidad y velocidad sin precedentes. Tanto en softphones como Eyebeam, Ekiga, etc como en hardphones como el GXV-3000 de GrandStream para hacer videoconferencias con Asterisk, pero…

¿Qué clase de códec es el Theora?

De los creadores de OggVorbis (la versión libre del popular mp3) una fundación de desarrolladores llamada Xiph, nace una versión libre del códec de vídeo de alta calidad llamada Theora.
Theora se podría decir que es la “alternativa libre” del actual H.264, ya que ambas soportan calidades y consumos de ancho de banda bastante similares. Pueden codificar vídeo con una resolución desde 128×96 hasta 4096×2048 a 30 frames por segundo, no es de extrañar que sean los códecs de vídeo del futuro, tanto para hacer videoconferencia en infraestructuras con muy poco ancho de banda como para emitir películas en alta definición (HD) ya que el ratio de compresión es variable lo que permite cambiar la calidad en función del ancho de banda que dispongamos en este momento.

¿Cual de los dos códecs es mejor para vídeo?

Tras leer algunas comparativas de calidad y velocidad, parece ser que todas llegan a una misma conclusión, en ancho de banda es similar mientras que la calidad de la imagen aún es mejor en el H.264 que en Theora. Pero eso no significa que sea así siempre. Recordemos que el software libre vivo mejora exponencialmente frente al software propietario y estoy convencido que pronto será Theora la que ofrezca mejor calidad y velocidad que el H.264, pero en la actualidad, esto no es así.

Para ilustrarlo, aquí teneis un ejemplo de una captura enviada en H.264 y una con Theora:

¿Que software tiene soporte para Theora?

Actualmente no hay muchos softphones que lo soporten. Como he comentado antes, los softphones libres como Ekiga o linphone lo soportan y Twinkle lo soportará en breve. Los softphones comerciales como X-Lite o Eyebeam también lo soportarán pronto y es que Theora es bastante “nuevo” y aún tiene que evolucionar y darse a conocer.

Por supuesto, las aplicaciones de streaming libres soportan este códec GStream, VideoLan, etc…, las comerciales suelen traer este soporte como un añadido o plugin pero poco a poco se irá incorporando de serie a medida que vaya haciéndose más conocido.

¿Qué software tiene soporte para H.264?

Por lo general, cualquier softphone que soporte vídeo trae soporte para H.263 y las más evolucionadas traen soporte para H.264 pero siempre como una evolución del H.263 y del H.263+ aunque este códec tenga un sistema completamente distinto en cuanto a procesamiento, finalmente desbancará al H.263/+ y el H.264 se convertirá finalmente en un estandar en todas las aplicaciones de vídeo streaming.

Enlaces de Interés:
- Información sobre el códec H.264.
- Información sobre el códec Theora.

13. Abril 2008

La próxima Nintendo DS podría hacer videollamadas por VoIP

El próximo mes de Julio se celebra la mayor feria de videojuegos del mundo: E3 y muchos fabricantes aprovechan esta ocasión para anunciar sus nuevos productos.

Sony ya anunció que la PSP incorporaría Skype de serie y así lo anunciará Nintendo donde utilizarían el protocolo SIP aprovechando el micrófono e incluso una posible y futura camara incorporada a la DS.

Ya hay softphones para esta consola, aunque quizá bastante experimentales como para ser utilizada de forma más nativa?.

Más información:
http://www.gizmos.es/8342/consolas/nintendo-ds-posible-renovacion-a-la-vista/

11. Abril 2008

Cómo crear IVR complicados con Asterisk (y con vídeo 3G)

En las empresas pequeñas no suele ser lo habitual tener un IVR, aunque en empresas medianas o grandes es recomendable e incluso muy necesario disponer de un sistema que permita al llamante seleccionar el departamento, la persona o incluso acceder a información personal a través de lo que se llama “IVR” aunque comúnmente también se denomina “menú”. IVR (Interactive Voice Response) en español (Respuesta de voz interactiva).

Asterisk, al disponer de una programación del dialplan totalmente personalizable gracias a la infinidad de métodos disponibles para gestionar una llamada, dispone de un potencial asombroso para crear menús tan sencillo o complicados como uno quiera.

A medida que la empresa va creciendo o dispone de más servicios de cara al cliente, va aumentando el tamaño del menú de entrada de su sistema, así por ejemplo todos conocemos los IVR de las operadoras de telecomunicaciones que interactúan con la voz (ni siquiera es necesario pulsar un dígito) y nos llevan a diferentes menús según la opción elegida.

Cuando programamos en el ‘extensions.conf’ un IVR por lo general suele ser sencillo, ya que más de tres submenús empieza a parecer bastante tedioso hacer modificaciones y si tenemos que añadir una opción al segundo submenú con otro menú incluida las locuciones correspondientes, puede llegar a convertirse en todo un desafío.

A medida que el menú en el dialplan se va complicando, uno empieza a ver con buenos ojos algo que escuchó sobre el VoiceXML que permitía programar menús IVR de una forma bastante más sencilla y segura.

El VoiceXML no únicamente sirve para gestionar menús, también sirve para conectar a un TextToSpeech y a un ASR de manera que pueda hablar y escuchar a la persona que está al otro lado de la línea y poder realizar acciones y comandos en base a lo que diga o haga, pero esto es otro tema del que ya hablaré en otro momento.

Si además de permitirnos menús más serios, disponemos de un Asterisk con soporte de Videollamada 3G conectado a una línea RDSI (Básica o Primaria), entonces los resultados son altamente espectaculares.

Podeis ver más demostraciones en:
http://www.i6net.com/support/video-demos/

y cómo instalarlo y configurarlo con Asterisk, en:
http://www.i6net.com/support/install/

22. Marzo 2008

IPv6: Tan cerca, tan lejos…

Hace ya unos 10 años empecé a escuchar que las direcciones IP tal y como las conocemos actualmente se iban a agotar en un futuro próximos cuando las lavadoras, las estufas y los móviles tuvieran todos direcciones IP externas, sería entonces el momento de crear un sistema de direccionamiento que solucionase el colapso y saturación de dispositivos que utilicen el modelo de direcciones IP basados en 4 octetos (32 bits) también conocido como IPv4.

IPv6Algunas empresas y organismos idearon una posible solución que consistía en mejorar el sistema de direccionamiento utilizando en lugar de 4 bloques de 32 bits, 6 bloques y en lugar de 32 bits, 128 bits, lo que se conseguiría que todos los dispositivos electrónicos del mundo tuvieran una dirección IP y sobrasen direcciones incluso para cuando vengan los marcianos.

El cambio, que parece tan sencillo, no lo es tanto ya que todas las aplicaciones que utilizamos en la actualidad están creadas para utilizar IPv4 y el salto a IPv6 requiere de una modificación bastante radical en el núcleo de aplicaciones puramente dedicadas a manejo de paquetes como aplicaciones servidores o clientes.

Internet2En mi caso conozco varios “evangelizadores” de la IPv6 que se pasan el año de universidad en universidad ofreciendo conferencias sobre lo importante que es este cambio de mentalidad y que en todo proyecto de ingeniería informática hay que estar preparado para hacer “el gran salto” a la red de redes con IPv6, el cambio entre Internet y lo que poco a poco se va conociendo más como Internet2 donde la mensajería instantánea, la videoconferencia, y la VoIP juegan un papel mucho más que fundamental, se puede decir que será el método estandar de comunicación.

A la contra, Internet2 requiere de una gran inversión para adaptar las líneas (físicamente) lo suficiente para llegar a manejar 200 veces más datos y hasta 1000 veces más rápida que lo que ahora conocemos como Internet.

La opinión generalizada que aparece en la mente cuando alguien menciona IPv6 es de desconocimiento y cuando alguien habla de Internet2 directamente suena a Utopía, pero la verdad es que empiezan a aparecer redes aisladas basadas en IPv6 con sistemas que transforman IPv4 a IPv6. Empresas de comunicaciones que transforman su infraestructura para asegurarse un paso firme a la nueva red de redes y lo hacen de forma silenciosa con redes paralelas y privadas que tarde o temprano será la infraestructura base para la nueva Internet2 y tendremos que estar preparados para este salto que algún día, quizá nuestros hijos o nuestros nietos podrán empezar a utilizar.

De momento, y mientras preparan la infraestructura, tendremos que ir adaptando las aplicaciones a este sistema y una de las aplicaciones en la que están trabajando para que sea compatible con IPv6 es Asterisk, aunque acabamos de conocer que no tendrá soporte de momento en la versión inaugural de Asterisk 1.6.

 Asterisk IPv6

En esta página podeis ver cómo darle soporte experimental a vuestro Asterisk para que funcione bajo IPv6: http://www.asteriskv6.org/

11. Marzo 2008

IAXClient 2.1 Released!

IAXClient2Como adelanté hace algún tiempo, el equipo de desarrolladores de IAXClient (la librería para programar aplicaciones y softphones) acaba de anunciar la nueva versión estable IAXClient 2.1.

Las características de esta nueva versión incluye:

- Código para videoconferencia basado en ‘libvidcap’ que soporta la detección de dispositivos de vídeo, webcams, etc.
- Soporte para el códec Speex (1.2 beta 3) y Theora (1.0 beta 2)
- Nueva aplicación ‘simpleclient‘ para implementar aplicaciones de ‘estrés’ automatizado.
- Frame de vídeo compatible en lugar de uno cerrado.
- Bugs corregidos.

En apenas dos semanas, se intentará lanzar una versión “Release Candidate” que seguirá la versión estable 2.1.0.

Enlace: http://iaxclient.sourceforge.net/

Vía: Blog do Sato

20. Febrero 2008

SDK para programar tu softphone en Visual Studio

pressreleasedPortSIP es una empresa que ha desarrollado unas librerías para que cualquier programador de Visual Studio (Visual Basic, Visual C++), Delphi C# o incluso JavaScript/HTML, pueda programarse su propio softphone de una manera mucho más sencilla y cómoda.

Estas librerías soportan:

  • Códecs G.711a, G.711u, iLBC, G.723, G.729 y GSM 6.10.
  • Videoconferencia con H.263 y H.264.
  • DTMF2833 y SIP INFO

NewShot

Las SDK de PortSIP son comerciales, aunque podemos descargar una versión limitada para hacer nuestras pruebas. Esta limitación consiste en que únicamente permiten 3 minutos de audio/video y que el software no podrá ser distribuido, vendido, etc…

Más información: http://www.portsip.com/

30. Enero 2008

Ya disponible Skype para la PSP

Leo en ElOtroLado que el nuevo firmware de la PSP Slim (la nueva), la versión 3.90 ya trae el soporte para Skype y, para el modelo antiguo, soporte del nuevo Go!Messenger, una aplicación que actúa de cliente de mensajería instantánea, VoIP y vídeo a través de la infraestructura de British Telecom. 

 

Go MessengerSkypePSP
Realmente es una gran noticia ya que se nos venía prometiendo aplicaciones de VoIP para la PSP desde hace ya bastantes meses y por fin ha llegado. 

14. Enero 2008

Más ventajas en la futura versión de Asterisk 1.6

Leo en VentureVoIP que Russell Bryant ha hecho pública dos nuevas ventajas que serán desarrolladas en la actual versión Asterisk Trunk que pasará a ser Asterisk 1.6.

- Autoprovisionamiento de Terminales IP.
Como ya comentamos, Asterisk 1.6 se marca como objetivo mejorar su rendimiento para infraestructuras más grandes, muchos usuarios, muchos terminales, muchas acciones, por lo que uno de los pasos importantes consiste en centralizar el autoprovisionamiento de terminales IP, algo que estos ya soportan pero gracias a un servidor DHCP (que no siempre es posible), servidores webs o bien TrivialFTP (TFTP), aparte de esto, la cosa se complica cuando en la red hay terminales de varios modelos (Polycom, Linksys, GrandStream, Thomson, etc…) y más aún cuando los archivos de autoprovisionamiento deben crearse dinámicamente respecto a bases de datos centralizadas.
Aquí podeis ver un ejemplo de cómo sería la configuración de este añadido:
http://www.venturevoip.com/phoneprov.conf

- Soporte de JACK.
Algo con lo que Russell Bryant lleva algún tiempo metido es con el sistema Jack que consiste en capturar el audio de una conversación, enviarla a un archivo y procesarla mediante cualquier otra aplicación en tiempo real.
Esto puede ser bastante útil para mejorar sistemas como la función Whisper, utilizada generalmente en servicios donde el operador que habla con un usuario es ayudado en tiempo real por un profesional (servicios médicos, soporte técnico, etc…) o bien enviar ese audio a una aplicación que procese algún tipo de filtro y modifique la forma de la onda a nuestra voluntad como algún que otro ejemplo del que ya hablamos hace tiempo.

Asterisk-JackPara gestionar ese tipo de modificaciones, tanto para llamadas salientes como entrantes, están evaluando utilizar el sistema de un entorno de programación gráfica llamada PureData (PD) de manera que sea más sencillo desarrollar filtros y añadidos, no solo para audio, si no también para vídeo, por lo que imagino que en una llamada, gracias a este tipo de sistema se podrán realizar determinados efectos para videoconferencias (lo típico de ‘sepia‘, ‘blanco y negro‘, ‘distorsiones varias‘, o incluso utilización de ‘cromas‘ o añadidos de logotipos o moscas en una conversación, e incluso mezclar varias fuentes de vídeo y conseguir hacer una multivideoconferencia bastante atractiva y recibir un único flujo de datos en lugar de varios correspondientes a cada usuario… muy muy interesante las posibilidades que podría abrir este sistema.

13. Enero 2008

AppConference 2.0: Multiconferencia de video en Asterisk

Leo en VentureVoIP y en el blog de Saúl que la gente que programa la "alternativa" al Meetme (Conference), están trabajando en una versión 2.0 con soporte de conferencia de vídeo, algo bastante demandado aunque mucho más complicado que una conferencia de audio.

El proyecto tiene muy buena pinta, pero hasta que no saquen una versión de prueba, no podremos saber las ventajas o inconvenientes de esta aplicación.

De momento, tan solo saber que se está trabajando en ello y que han prometido que pronto saldrá una versión para que podamos hacer pruebas.

A la espera de que salga. :)

08. Enero 2008

Lista de Asterisk sobre Alta-Disponibilidad y Clusters

ClusterSaúl que está bastante activo, no solo en la lista Asterisk-ES si no en su blog, nos comenta que Digium acaban de crear una nueva lista con una temática muy interesante como es la Alta disponibilidad y Clusters de sistemas Asterisk.

La verdad es que iba haciendo falta, Asterisk cada día se conoce más en infraestructuras con una gran cantidad de usuarios (>1000) que requieren de fiabilidad y manejan una gran cantidad de recursos y con la próxima salida de Asterisk 1.6 (que personalmente pensaba que nos iban a sorprender estas navidades) con el que van a centrarse entre otras cosas a vídeo y entornos de alta-disponibilidad, esta lista va a estar bastante activa en cuanto empiecen con las novedades.

Hasta ahora, para grandes infraestructuras se suele recomendar utilizar OpenSER, aunque está claro que si un Asterisk puede hacerse cargo de 700 e incluso 1000 usuarios, varios Asterisk pueden multiplicar este número, lo que se espera es que con la nueva versión de Asterisk, sea más sencillo interconectarlos entre sí, así como ahorrar recursos para ampliar el número de usuarios por sistema.

Podeis apuntaros a la lista aquí:
http://lists.digium.com/mailman/listinfo/asterisk-ha-clustering