miércoles 13 de octubre de 2010

Avatar anuncia el lanzamiento de Postea.me (beta)

Si 140 caracteres a veces no expresan lo suficiente, te invitamos a conocer el nuevo servicio gratuito Postea.me, en donde puedes actualizar tu estado en Twitter con una llamada telefónica, muy fácil, y lo mejor ¡gratis!.

Es muy sencillo:

1. Inicias tu sesión en Postea.me usando Twitter.
2. Defines los números desde donde vas a llamar en Tu Perfil de Postea.me.
3. Cuando quieras, llamas al número de Postea.me y sigues las instrucciones para grabar tus mensajes de voz.

!Y Listo! tus seguidores escucharán tus mensajes.

Por ahora sólo tenemos un número habilitado en Colombia, pero próximamente agregaremos más países (participa en la encuesta para votar por tu país).

jueves 23 de septiembre de 2010

BlackVoib - softphone para Black Berry

Nuestro colaborador lucamm, se animó a publicar su primer post sobre la aplicación del Black Berry llamada BlackVoib, un softphone básico que permite recibir y hacer llamadas SIP. El artículo completo en su blog.

martes 7 de septiembre de 2010

Ataques de Registro SIP aleatorio

2010 ha sido el año de los ataques de registro por fuerza bruta hacia servicios VoIP disponibles en Internet. Este no es el único ni el más elaborado tipo de ataques conocidos, pero si es uno de los más populares.

Sabemos que en cuestión de seguridad informática, es imposible tener un sistema 100% seguro, pero sí es posible tratar de poner la mayor cantidad de barreras y mantener los ojos abiertos, siendo proactivos ante cualquier posible ataque.

Las recomendaciones mínimas en cuestión de seguridad VoIP, no son diferentes de las de cualquier otro servicio de red:
  • Usar firewall y/o SBC (Session Border Controller).
  • Manejar claves fuertes.
  • En lo posible utilizar protocolos con cifrado o VPN
  • Restringir el acceso solamente desde las redes autorizadas.
  • Limitar el número máximo de conexiones.
  • Ignorar mensajes demasiado grandes o intencionalmente malformados.
  • Revisar los logs o registros periódicamente.
Una medida sencilla y que hemos encontrado efectiva para prevenir ataques de diccionarios de contraseñas hacia Asterisk, es el uso de Fail2Ban + IPTables.

Básicamente, Fail2ban es un programa escrito en Python que configuramos para examinar el archivo /var/log/asterisk/messages, y si hay un considerable número de intentos de registro fallidos desde una misma IP, se actualiza automáticamente la configuración de Iptables para bloquear esa IP durante algún tiempo.

Recomendamos seguir las instrucciones del tutorial de VoztoVoice, y en especial las instrucciones que se encuentran en VoIP-Info.org para probar este programa, y esperamos que sea de utilidad.

sábado 7 de agosto de 2010

Probando la capacidad de nuestra plataforma de telefonía con SIPp

Los que llevamos algún tiempo trabajando con aplicaciones software de telefonía como Asterisk o FreeSwitch, sabemos que muchas veces la escalabilidad de un sistema puede variar dependiendo de la la versión específica que estemos usando y del tipo de aplicación que se vaya a configurar.

No es lo mismo tener una PBX que sólo preste servicios de telefonía (voz o video), a tener un sistema de IVR en el que intervegan AGIs, o un sistema de Call Center que se integre, por ejemplo, con un CRM externo, ni es lo mismo un servicio basado en Asterisk 1.4.X que en Asterisk 1.6.X, por los cambios en el núcleo, los módulos y en los componentes adicionales (addons) de cada versión.

En todos estos casos resulta muy conveniente tener una medida aproximada de la cantidad de tráfico y conexiones concurrentes que está en capacidad de soportar la plataforma antes de ponerla en producción, y para ello, presionar la parte del plan de marcado que más pueda afectar su desempeño, resulta una buena idea.

Si bien pudiéramos usar archivos .call (en el caso de Asterisk) para probar la cantidad de llamadas que podemos lograr, por ejemplo, sobre una troncal, la experiencia en Avatar es que es mejor hacernos a un generador de tráfico para el propósito de conocer los límites de nuestro sistema.

En esta entrada veremos cómo servirnos de SIPp, para lograr este próposito.

Advertencia: Se recomienda realizar las pruebas de tráfico sobre un servicio que no se encuentre en producción, o en un horario y bajo un ambiente controlado que no vaya a afectar a los usuarios finales. Es muy fácil exceder la capacidad límite de cualquier plataforma de telefonía (de cualquier fabricante: Cisco, Avaya, Alcatel, Panasonic, etc) ejecutando SIPp desde un cliente con unas características modestas de hardware. El autor no se hace responsable por el uso indebido de los contenidos publicados en esta entrada.

Haciendo una traducción libre de la descripción que aparece en el sitio Oficial:
SIPp es una herramienta libre / de código abierto para pruebas y generación de tráfico sobre el protocolo SIP. Incluye un par de escenarios elementales de SipStone para Agentes de Usuario (UAC y UAS), y permite establecer y liberar múltiples llamadas usando los métodos INVITE y BYE. También está en capacidad de leer escenarios personalizados a partir de archivos XML que describan desde los flujos de llamadas más simples hasta los más complejos. Incorpora características como la visualización dinámica de las estadísticas de las pruebas que se están desarrollando (tasa de llamadas, retardo de ida y vuelta y estadísticas de los mensajes SIP intercambiados), volcado períodico de las estadísticas en formato CSV, TCP y UDP sobre múltiples sockets o multiplexados con gestión de retransmisiones, y la posibilidad de ajustar dinámicamente la tasa de llamadas efectuadas.


Además de todo lo anterior, permite enviar paquetes RTP (a través del escenario PCAP), con lo que es posible simular conversaciones que incluyan flujos multimedia de sonido o video; algo fundamental si consideramos que las aplicaciones de telefonía más populares como Asterisk y FreeSwitch, no son SIP Proxies sino B2BUA (Back to Back User Agent).

Bien, manos a la obra.

Para empezar, debemos instalar SIPp en un equipo cliente desde el cual generaremos llamadas hacia un servidor Asterisk. Vamos a asumir que contamos con un equipo con sistema operativo Linux (aunque SIPp también correr sobre Windows), y preferiblemente con Debian ;-) (o Ubuntu):

apt-get install sipp

Como paso siguiente, editamos el archivo sip.conf para incluir el usuario SIPp:

[sipp]
type=friend
context=sipp
host=dynamic
user=sipp
insecure=invite,port
canreinvite=no
disallow=all
allow=ulaw
allow=alaw

En el extensions.conf creamos el contexto sipp y una extensión de entrada para las llamadas. En el siguiente ejemplo las enviaremos por 30 segundos a la aplicación de música en espera, pero también podríamos usar la aplicación echo, realizar una conferencia con meetme o procesar un AGIs.

[sipp]
exten=987654321,1,Answer
exten=987654321,n,SetMusicOnHold(default)
exten=987654321,n,WaitMusicOnHold(30)
exten=987654321,n,Hangup

Finalmente, ejecutamos SIPp desde el cliente de pruebas con los siguientes parámetros:

sipp -s 987654321 -sn uac -d 1000 -m 10 -r 1 -l 10 -i 192.168.0.2 192.168.0.4 -trace_screen

Donde:

  • s: Es el número que vamos a enviar.
  • sn:Es el escenario SipStone a usar. Por defecto es User Agent Client.
  • d: Es la longitud de la llamada en milisegundos.
  • m: Es el número máximo de llamadas a realizarse en la prueba.
  • r: Es el número de intentos de llamada por segundo (en inglés CAPS - Calls Per Second)
  • l: Es el número máximo de llamadas concurrentes que vamos a establecer.
  • i: Establece la IP local para las cabeceras 'Contact:','Via:', y 'From:'. Por defecto es la dirección IP de nuestro cliente.
Opcionalmente podemos usar Sysstat (sar), MRTG, u OpenNMS para monitorear el impacto en los recursos del sistema.