Contador estandar

25. Agosto 2008

Cuando todos se echan atrás…

Después de unas necesarias vacaciones vuelvo a la carga, no solo con el blog si no con otros nuevos proyectos que seguramente iré comentando por aquí a medida que los vaya terminando.

No obstante, aunque no haya escrito en el blog he estado leyendo, aprendiendo cosillas nuevas e interesantes, un poco de playita, descansando en el campo fresquito y comiendo el mejor marisco del mundo! :D

Después de dar un poco de envidia (lo siento para aquellos que aún no han podido disfrutar de unas vacaciones), he estado escuchando algunas “novedades” que realmente me han sorprendido:

- Prohibición de Spam telefónico.
Parece ser que las numerosas empresas de telemarketing que utilizan listados de números de teléfonos que disponen las operadoras y que se “venden legalmente” a otras empresas para ofrecernos desde líneas ADSL a cacerolas, tienen los días contados.
No únicamente el “spam telefónico” será cortado de raiz, si no que incluso se habla de una próxima ley  alemana (que se podría ampliar a toda Europa) que prohiba cualquier uso de comercio telefónico para evitar el incremento de empresas que se dedican a estafar a los usuarios aprovechando los datos bancarios obtenidos de alguna manera.

- Telefónica pasará a cobrar el servicio de identificación de llamada:
El simple hecho de ver quien te está llamando (un servicio que desde Julio cuesta 0,50€/mes y gratis a aquellos usuarios que tenían ADSL contratada) pasará a ser, a partir de Noviembre un servicio con coste para todos los usuarios.
Puede parecer una tontería pagar 50 céntimos de euro al mes por ver quien te llama, pero lo que realmente es ridículo es, en un campo que avanza día a día como es el de las comunicaciones, se pase a cobrar por algo tan tonto como el número de quien te llama.
Telefónica tiene 6 millones de clientes en España, de los cuales 4 millones tienen ADSL contratada, por lo que esos 50 céntimos al mes le suponen a Telefónica una ganancia aproximada de 3 millones de euros al mes. (quien lo pillara eh? ;)

- Nokia eliminará el cliente de VoIP SIP de sus terminales.
Justo ahora que los teléfonos móviles empezaban a ser interesantes para la VoIP, uno de los más grandes fabricantes anuncia que va a dejar de incluir el software que permite hacer llamadas por SIP. (si señor, todo un acierto!). Apple es otro fabricante que avisó que prohibiría softphones VoIP en la AppStore para su uso con el conocido iPhone.
Seguramente otras empresas empezarán a hacer lo mismo.
Telefónica y Movistar ya han anunciado que la conexión 3G puede utilizarse para cualquier cosa excepto para P2P y la VoIP, algo que considerando lo que es una conexión 3G pierde gran parte de su atractivo.

Después de leer estas noticias, uno se da cuenta que las operadoras y fabricantes de telefonía tradicional, están haciéndole un boicot en toda regla al avance en las comunicaciones, mientras por la puerta de atrás ofrecen y desarrollan nuevos sistemas basados en VoIP. No solo son únicas prohibiendo lo más llamativo, si no que se echan atrás en cualquier intento de “evolución” para poder luego presentar sus “servicios VoIP” después de haber ahogado a los usuarios y a las pequeñas empresas que se dedican a este mundo.

Lo único que se me ocurre, es pensar que cuando los fabricantes, las operadoras y los proveedores se echan atrás… es el momento de dar un paso adelante.

09. Agosto 2008

Probando la nueva interfaz Asterisk-GUI 2.0

Por el blog de Saghul me entero que acaban de lanzar una nueva versión del Asterisk-GUI 2.0. No soy amigo de los interfaces, aunque reconozco que muchos conocidos los utilizan por “facilitarse la labor” de desarrollar configuraciones “en serie” algo con lo que comparta o no, hay que respetar.

A la vista del comentario de Saúl, daba la impresión de que habían cambiado el aspecto visual, por lo que, recordando lo sencillo que era instalarlo y aprovechando que tengo varios Asterisk para mis pruebas, y como la curiosidad mató al gato, lo he instalado para verlo.

Para empezar, la instalación no puede ser más sencilla:

En la consola, ejecutar:
svn co http://svn.digium.com/svn/asterisk-gui/branches/2.0 asterisk-gui-2.0

Una vez descargado, toca instalarlo, para ello ejecutamos:
cd asterisk-gui-2.0 && make && make install && make samples && make checkconfig

Con este ultimo comando (el make checkconfig) confirmaremos que la configuracion es la correcta, por lo que nos dara algun mensaje de error. Tan solo deberemos asegurarnos que esta habilitado el manager en el puerto 5038 asi como que existe un usuario valido en el manager.conf y haber descomentado los parametros en el archivo http.conf, reiniciamos Asterisk y listo. :)

Para probar, recomiendo configurar el parametro bindaddres con valores 0.0.0.0, de manera que una vez lo podamos ver, lo configuremos de acorde a donde vayamos a conectarnos (127.0.0.1 si es desde la propia maquina, o 192.168.0.0 desde la red local o 0.0.0.0 para cualquier sistema desde Internet).

Una vez tengamos todo correctamente configurado, pasamos a entrar en el sistema, para ello, abrimos el navegador web y escribimos la direccion de Asterisk en el puerto que hayamos definido en el archivo http.conf, por defecto el 8088 (http://laipdenuestroasterisk:8080), lo que nos redireccionara a la direccion correcta (http://laipdenuestroasterisk:8088/asterisk/static/config/index.html).

Los cambios son pocos pero destaca alguno que otro si hemos seguido de cerca el interfaz en su version anterior:

Visualmente no se aprecia muchos cambios, aunque a medida que uno va saltando por las opciones, puede notar la experiencia adquirida tras la primera versión (algo verde en mi opinión).

Donde realmente me ha llamado la atención es en la auto-preparación, de manera que se modifican los archivos de configuración necesarios para poder utilizar todo el potencial de este interfaz, detección de hardware (incluyendo, como no, soporte para tarjetas basadas en mISDN) y algunas opciones básicas que ya traía de serie la versión 1.0, por lo que nada destacable por ahora.

Por supuesto, la versión que he probado, además de ser descargada por subversión, podría clasificarla como pre-pre-alfa, por lo que aun no está lista para ser utilizada, de hecho aún no funcionan botones básicos (sobre todo el de añadir), pero seguro que pronto lo arreglan.

Lo “bueno” de este interfaz, es que lee la configuración que hemos escrito a mano, la entiende y permite gestionarla vía web, algo que aún no he encontrado ningún interfaz que lo haga (siempre machacan los cambios o acuden a archivos externos incluidos para saltarse esta dificultad, en lugar de plantarle cara).

Lo “malo” de este interfaz, que, como todos los interfaces, hay limitaciones que el usuario probablemente puede requerir, pero para eso está el ‘vi’. :)

El día que este interfaz funcione como debe, creo que habremos dado con uno que realmente merezca la pena de verdad. :)

Digium tiene Switchvox como interfaz web profesional (y comercial) para la gestión de Asterisk, por lo que si realmente queremos una versión en condiciones del Asterisk-GUI (opensource y libre), más nos vale empezar a aportar nuestro granito de arena tanto en el desarrollo como en la verificación de funcionamiento y búsqueda de bugs.

Por cierto, a veces ocurre un error: Could not connect to Server, que se solucionará con una versión del Asterisk-GUI más estable y dándole al botón Retry. :P

06. Agosto 2008

Dónde está el interés en los forks

Fork significa “horquilla” y en software se suele referir a un desarrollo alternativo al desarrollo oficial.

De esta manera, en Asterisk aparecieron varios forks del que el más conocido es el OpenBPX que pasó a llamarse Callweaver y apareció por un problema con las licencias y desacuerdos con la clausula referente al puesto de “dictador benevolente” que realiza Digium en Asterisk.

Como resultado, aparecen aplicaciones basadas en el mismo software y que, en un principio no tienen muchas diferencias, pero con el tiempo y bastante esfuerzo se empiezan a hacer un hueco interesante.

Cuando OpenSER pasó a llamarse Kamailio, se creó un fork de OpenSER llamado OpenSIPS, pero generalmente cuando ocurren estas cosas suelen haber motivos llamativos por el que hacer un fork de una aplicación (cambios de licencias, una orientación equivocada, o una mala gestión por parte de los desarrolladores actuales de la aplicación, entre otros…) pero de la misma manera que CallWeaver es un proyecto completamente parado por falta de apoyos, recursos y público, OpenSIPS no dice exáctamente el motivo por el que se separa (aunque lo suponemos por algunos comentarios) pero un fork de este tipo, sobre una aplicación libre, y con una comunidad activa como puede ser la comunidad de OpenSER (ahora Kamailio) es en mi opinión un movimiento erroneo, ya que, en lugar de apoyar un proyecto grande, para convertirlo en “aun más grande”, pasan a separarse y reducir la velocidad de desarrollo.

Pese a todo, han lanzado la versión 1.4.0 de OpenSER OpenSIPS, pero con un gran número de desarrolladores apoyando la rama oficial: Kamailio.

¿A quien beneficia estos movimientos?

A la competencia. :(

Kamailio seguirá siendo la rama oficial de lo que un día se llamó OpenSER y veremos el camino que toma OpenSIPS, si es más humo que otra cosa, o bien toman fuerza y nos sorprende.

01. Agosto 2008

Digium podría salir a bolsa muy pronto

Eso es lo que se desprende de un estudio realizado por la empresa iLocus.

Según esta empresa, la popularidad de Digium, la obtención de fondos de capital riesgo, así como los éxitos alcanzados por la aplicación Asterisk, y las diversas compras de empresas relacionadas como Switchvox, podrían ser los pasos previos a convertirse en la siguiente IPO (Initial Public Offering) de la VoIP.

Uno de los factores más llamativos de este anuncio, es relativa a la Comunidad Asterisk que según comentan es la más influyente en el mundo de la VoIP.

Enlace: http://www.ilocus.com/2008/07/the_next_big_ipo_in_voip.html

31. Julio 2008

Cómo configurar un fax virtual T38 en Asterisk

Partiendo que no lo he probado aún (a ver si durante estas necesarias vacaciones puedo dedicarle un ratito), he visto un artículo muy interesante sobre el T38modem, una especie de IAXmodem pero con soporte para enviar faxes mediante T38 con Asterisk.

Asterisk soporta T38 en modo passthrough en SIP, esto es, lo deja pasar, pero no iniciar ni acabar una llamada.

Justamente, el T38modem se basa en la misma filosofía que el IAXmodem por lo que sería posible disponer de esta ventaja tal y como comentan utilizando Hylafax como servidor de faxes de la misma manera que podríamos tenerlo con el IAXmodem pero con T38 en lugar de T30. Suena bien, ¿verdad? :D

Vamos a ver cómo se hace:

cd ~
cvs -z9 -d :pserver:anonymous@openh323.cvs.sourceforge.net:/cvsroot/openh323 co ptlib_unix
cvs -z9 -d :pserver:anonymous@openh323.cvs.sourceforge.net:/cvsroot/openh323 co -D “5/21/2007 23:59:59″ opal
cvs -z9 -d :pserver:anonymous@openh323.cvs.sourceforge.net:/cvsroot/openh323 co t38modem

Con esto habremos descargado las librerías y la aplicación t38modem.
Ahora vamos a compilar:

cd ~/pwlib
./configure
make
sudo make install

cd ~/opal
./configure
make
sudo make install
sudo ldconfig

cd ~/t38modem
make USE_OPAL=1 USE_UNIX98_PTY=1 opt
make USE_OPAL=1 USE_UNIX98_PTY=1 install

Vamos a probar que realmente se ha instalado y funciona…

/usr/local/bin/t38modem -tt -o /var/log/t38modem.log –no-h323 -u T38modem –sip-listen udp\$127.0.0.1:6060 –sip-redundancy 3 –ptty +/dev/ttyT38-1,+/dev/ttyT38-2,+/dev/ttyT38-3 –route “modem:.*=sip:<dn>@127.0.0.1″ –route “sip:.*=modem:<dn>”

Ahora vamos a preparar la configuración para 3 módems, para lo que supondremos que hemos instalado previamente el servidor Hylafax como indica Julian en su web y continuaremos:

cp ~/t38modem/HylaFAX/config.ttyx /var/spool/hylafax/etc/config.ttyT38-1
ln -s /var/spool/hylafax/etc/config.ttyT38-1 /var/spool/hylafax/etc/config.ttyT38-2
ln -s /var/spool/hylafax/etc/config.ttyT38-1 /var/spool/hylafax/etc/config.ttyT38-3

Como en el IAXmodem, vamos a modificar el archivo inittab para que esté siempre activa esta aplicación:

echo “t1:2345:respawn:/usr/sbin/faxgetty ttyT38-1″ >> /etc/inittab
echo “t2:2345:respawn:/usr/sbin/faxgetty ttyT38-2″ >> /etc/inittab
echo “t3:2345:respawn:/usr/sbin/faxgetty ttyT38-3″ >> /etc/inittab
kill -HUP 1

Reiniciamos el servidor Hylafax:

/etc/init.d/hylafax restart

Y chequeamos que todo está funcionando corréctamente:

cat /var/spool/hylafax/status/ttyT38-1

Lo que nos debería mostrar un mensaje como este: Running and idle

Ahora vamos a ver cómo conectamos el T38modem a Asterisk, para lo que crearemos un usuario SIP propio en /etc/asterisk/sip.conf

[T38modem]
type=friend
host=127.0.0.1
permit=127.0.0.1
context=outgoing
port=6060
allow=all
canreinvite=no

y en este mismo archivo, en el contexto [general]:

t38pt_udptl=yes

Para enviar faxes, tan solo hay que utilizar algún cliente Hylafax y será el usuario T38modem el que se encargue de hacer la llamada mediante T38 por SIP. :)
Para recibir faxes, como siempre, enviando el fax entrante a SIP/${EXTEN}@T38modem.

Si a alguien le funciona, se agradece un comentario.
Si teneis problemas, lo que he dicho antes… a pelearse y googlear un poco. :P

Enlace: http://voip-info.org/wiki/view/T38modem+configuration+with+Asterisk

29. Julio 2008

A por la estandarización de Asterisk

Cada empresa que instala y configura Asterisk dispone de alguien con conocimientos suficientes para hacer esta labor, algunos tienen más conocimientos y otros no tantos pero en el fondo, cada uno cuenta con dos puntos importantes: capacidad de aprender y un objetivo a cumplir, donde este será instalar un sistema, instalar Asterisk, configurar los dispositivos, tarjetas, líneas, etc, y configurar Asterisk como lo necesite su empresa o su cliente.

Cuando ocurre algún inconveniente o un comportamiento no esperado se suele buscar ayuda bien en la lectura de numerosas webs, blogs, listas, foros, etc… o bien diréctamente a cualquiera que pueda ayudar.
Es aquí donde empiezan los problemas iniciales. Cada uno ha aprendido por su cuenta, buscando, encontrando, leyendo y preguntando, de ahí se sacan conclusiones propias y uno hace lo que buenamente sepa o pueda.

De la misma manera que el software libre da libertad de escoger cómo, cuándo, dónde y porqué, configurar Asterisk también da bastante libertad y un comportamiento puede realizarse de varias maneras y todas válidas (mejores o peores) pero el desconocimiento o una falta de metodología adecuada suelen acarrear inconvenientes, no únicamente por lo que hayamos hecho o dejado de hacer, si no a la hora de preguntar y esperar una respuesta. Cada persona tiene su técnica, sus trucos y consejos que hacen que, en teoría, una configuración que se comporte igual a otra, sean diferentes y dichas diferencias pueden sorprendernos con comportamientos no deseados.

Concretamente, el confiar en que no definiendo un parámetro en algún archivo de configuración, el comportamiento será correcto, no se cumple en Asterisk (básicamente porque el comportamiento habitual de los sistemas de comunicaciones en España es bastante diferente al de EEUU) y muchas personas se dan cuenta que el hecho de poner un parámetro resuelve todos sus problemas.

Por este motivo, el equipo de desarrolladores de Asterisk tiene muy mal acostumbrado a los usuarios que les permiten “omitir” ciertos valores en determinados parámetros sin recibir ni un triste mensaje de aviso o error, algo que para los ojos de la persona que desconoce la importancia de este parámetro, representaría la diferencia entre acabar felizmente y pasarse una semana leyendo listas de correos y foros.

Por poner un ejemplo, al definir un usuario SIP en el archivo ’sip.conf’, el parámetro ‘host’ es imprescindible y sin ella, simplemente no podremos registrarnos con ese usuario, no obstante, si nos olvidamos de definirlo, Asterisk ni se inmuta, no dice nada, lo ve normal y no se queja. ¿Resultado? algo tan sencillo como definir un usuario SIP, se puede llegar a convertir en toda una tortura para la persona que no caiga en este detalle.

En la configuración del extensions.conf, la cosa se complica, ya que además, no solo hay que conocer qué hay detrás de una llamada entre una extensión y otra, si no que además debemos escribirlo a sabiendas que el jefe, cliente o quien vaya a utilizar el sistema, seguro que va a querer cambiar el comportamiento de esta, de manera que todo lo que hagamos debe ser planteado de forma que sea fácil y rápidamente modificable y no nos suponga empezar desde cero.

Fallos tan garrafales como comunes como poner un Answer() antes del Dial(..), hacen que el sistema no se comporte como esperemos y eso puede provocar grandes pérdidas de tiempo que para una empresa, se convierte en dinero.

28. Julio 2008

Adiós OpenSer, Hola Kamailio!

Por la web de Saúl me entero de una noticia sorprendente: el proyecto OpenSER cambia de nombre a Kamailio.

Como suele suceder en estos casos en los que un proyecto conocido cambia de nombre, es para evitar problemas con marcas registradas y por lo general, pertenecientes a empresas, por lo que además de poder encontrar la información pertinente en la conocida web OpenSER.org, la página web oficial se trasladará a Kamailio.org (actualmente es la misma) aunque la anterior seguirá funcionando durante el traslado.

La palabra Kamailio es una palabra hawaiiana que significa “hablar o conversar“. Por lo visto esta palabra es fácil de recordar y el significado continua en sintonía con el objetivo de la aplicación. :)

Como indica Saúl, el logotipo no lo han cambiado por ahora, pero seguro que pronto nos toparemos con más novedades como suele ocurrir en estos casos, en los que, aprovechando que se cambia el nombre, también se cambian más cosas. Esperemos que el buen ambiente de la comunidad, y el alto nivel de desarrollo continúen como hasta ahora. :)

Más información: http://www.kamailio.org

24. Julio 2008

FreeSWITCH 1.0.1 Released!

Veo que acaban de anunciar la versión 1.0.1 de FreeSWITCH.
Entre las ventajas que incluye esta versión frente a la versión 1.0, se encuentran:

  • ASR Open Source (mod_pocketsphinx)
  • TTS Open Source (mod_flite)
  • Improved ACL with user matching.
  • Soporte mejorado de SNOM.
    entre otras… :)

Enlace: http://www.freeswitch.org/node/130

Softphone SIP para PocketPC y compatible con WM5

Con el éxito de los PocketPC y móviles-PDA han ido apareciendo últimamente muchos softphones comerciales y alguno que otro gratuito, la mayoría compatibles con SIP y alguno que otro IAX, pero casi todos requieren de Windows Mobile 6. Pues he encontrado uno con una pinta bastante interesante y que funciona con Windows Mobile 5 (WM5).

SetupVoIP es un softphone SIP bastante curioso y muy, muy simple de configurar y aunque no sea libre, por lo menos, es gratuito (freeware).

Descargar (mirror 1)
Descargar (mirror 2)

Fedora lanza su servicio de VoIP basada en Asterisk

Fedora, el grupo de desarrollo Open de RedHat, ha anunciado el lanzamiento de Fedora Talk, un servicio gratuito para aquellos usuarios registrados de Fedora y que permitirá realizar llamadas entre usuarios mediante SIP, así como poder recibir llamadas desde teléfonos (EEUU y UK) para contactar con los usuarios conectados.

Este servicio está basado íntegramente en Asterisk como indica su página web y esperan crecer y poder ofrecer servicios adicionales.

El futuro está abierto a interpretaciones :)

Enlace: http://talk.fedoraproject.org/index