Aviso de llamada en Asterisk con la aplicacion Jabbersend

A veces puede pasar que por algún motivo no podemos contestar una llamada que esté llegando a nuestra extensión. Si quien llama no deja ningún mensaje en nuestro contestador como podemos enterarnos de la llamada?.  Si el teléfono IP o el softphone IP estaban conectados al servidor asterisk, en la pantalla veremos el aviso de la llamada perdida. Pero si estaban desconectados?

Para tener un historial de todas las llamadas (con fecha, hora y el numero de quien nos esta llamando) podemos utilizar la aplicación Jabbersend. Tenemos que asociar a cada extensión un usuario jabber y utilizar un teléfono IP o Softphone que permita registrarse a un servidor jabber (por ejemplo Openwengo). Además, para que esto funcione, debemos tener nuestra centralita conectada a un servidor Jabber (véase este articulo) y configurarlo para que todos los mensajes enviados cuando no estemos en línea se guarden y se envíen una vez que nos conectamos al servidor Jabber.

Estas son las líneas que hay que añadir al archivo de configuración extension.conf

 

exten => 1000,1,NoOp( Call In )
exten => 1000,n,Set(FECHA=${STRFTIME(${EPOCH},GMT-5,%d/%m/%y-%H:%M)})
exten => 1000,n,Set(ID=${CALLERID(num)})
exten => 1000,n,Jabbersend(vozcom,fulano@voztovoice.net,Llamada de ${ID} el ${FECHA})
exten => 1000,n,Dial (SIP/1000,30,r)

etc....

Con la segunda línea guardamos la fecha y la hora en la variable FECHA

Con la tercera el numero de quien llama en la variable ID

en la cuarta enviamos un mensaje de texto desde nuestro usuario jabber asociado al servidor asterisk (vozcom) al usuario fulano@voztovoice.net (voztovoice.net es el dominio del servidor Jabber) indicando el identificativo de quien llamó, la fecha y la hora de la llamada. La aplicación Jabbersend necesita tres parámetros obligatorios.

JabberSend(jabber,screenname,message)

jabber = la etiqueta que identifica la configuración de asterisk como cliente jabber en jabber.conf

screenname = el destinatario del mensaje de texto

message = el mensaje de texto que queremos enviar (como visto puede contener variables)

La función STRFTIME acepta tres parámetros. Esta es la sinopsis.

  -= Info about function 'STRFTIME' =-

[Syntax]
STRFTIME([<epoch>][,[timezone][,format]])

[Synopsis]
Returns the current date/time in a specified format.

[Description]
STRFTIME sports all of the same formats as the underlying C function
strftime(3) - see the man page for details.  It also supports the
following format:
%[n]q - fractions of a second, with leading zeroes.  For example, %3q will
         give milliseconds and %1q will give tenths of a second.  The default
         is to output milliseconds (n=3).  The common case is to use it in
         combination with %S, as in "%S.%3q".

 

Para que todo funcione el usuario fulano@voztovoice.net tiene que estar en la lista de amigos de nuestro usuario jabber asterisk.

Claramente esta es solo una de las aplicaciones practicas de Jabbersend. Podemos pensar en muchas más, por ejemplo monitorizar todas las llamadas de un determinado usuario que lleguen a la extensión XXXX. En otros artículos profundizaremos el tema.

Preguntas?

Etiquetas: 

Suscribirse a Comentarios de "Aviso de llamada en Asterisk con la aplicacion Jabbersend" Suscribirse a VozToVoice - Todos los comentarios