Probando Asterisk con SIPp, Que no hacer!!!

Bien pues como no puedo estar quieto, tras haber hecho algunas pruebas en servidores grandes como no podía ser menos me puse a probar la instalación casera. Sipp es muy sencillo de usar, nos lo bajamos de sourceforge y lo compilamos con make.

Creamos un contexto (p.e. pruebas) en Asterisk y le decimos lo que vamos a hacer:

[pruebas]
Answer();
## Lo que queramos hacer, música en espera
## envío a una cola, ....
Hangup();

Yo, por pereza (aquí está el gran error) decido que lo mejor sería aprovechar uno de los contextos creados y probar que pasaría si fueran llamadas entrantes!!!! Innocent

Luego creamos una entrada en sip.conf:

[sipp]
type=friend
context=pruebas ## Si, sí aquí yo puse el de las llamadas entrantes :(
host=ip_del_host_desde donde haremos las pruebas
user=sipp
canreinvite=no
disallow=all
allow=alaw

Pues nada a darle, aquí le decimos que llame a Asterisk que deje una pausa de 1000000 ms antes de colgar con un límite de 250 llamadas simultáneas:

sipp -sn uac 192.168.108.2 -s 1 -d 100000 -l 250

Obviamente si hacemos esto con un contexto de pruebas en que Asterisk debe realizar una serie de procesos y luego finalizar la llamada pues lo vamos a estresar un poco pero de ahí no pasa. Por otro lado, si lanzamos sipp para que se vaya al contexto de llamadas entrantes, vamos a acabar estresando a los usuarios si es un servidor en producción.

No es que el Asterisk casero sea un sistema crítico, pero el teléfono no ha parado de sonar en un buen rato (incluso después de matar el proceso), y todas las llamadas que no han sido atendidas fueron al voicemail, en nuestra configuración cuando esto pasa llega un aviso SMS al móvil. Bueno, pues imaginarios como ha quedado el buzón de mensajes tanto del correo como el del móvil que no dábamos abasto a borrar SMS mientras íban llegando. Embarassed