
Muchos son los proyectos que intentan la convergencia entre los diferentes IM y algunos servicios de llamadas a través de internet.
Vamos a configurar nuestro asterisk para poderlo comunicar con una cuenta de googleTalk.
Para ello aprovechamos algunos ficheros de configuración que trae la última versión de asterisk(1.4), destinados exclusivamente a este fin.
Primeramente debemos modificar nuestras extensiones definidas anteriormente y añadir un usuario al de gTalk con el que deseamos establecer la conexión. No es necesario modificar el archivo sip.conf
Al fichero de configuración extensions.conf le debemos añadir:
[google-in]
exten => s,1,NoOp( Call from Gtalk )
exten => s,n,Set(CALLERID(name)=”From Google Talk”)
exten => s,n,Dial(SIP/test1)
[google-out]
exten => 200,1,Dial(gtalk/gtalk_account/username@gmail.com)
En esta versión de Asterisk existe además dos ficheros de configuración que vamos a modificar: jabber.conf y gtalk.conf.
El contenido de jabber.conf será de la siguiente manera:
[general]
debug=yes
autoprune=no
autoregister=no
[gtalk_account]
type=client
serverhost=talk.google.com
username=username@gmail.com/Talk
secret=********
port=5222
usetls=yes
usesasl=yes
buddy=buddy@gmail.com
statusmessage=”This is an Asterisk server”
timeout=100
Y el contenido de gtalk.conf será de la siguiente manera:
[general]
context=google-in
allowguest=yes
;
[guest]
disallow=all
allow=ulaw
context=google-in
[buddy]
username=username@gmail.com
disallow=all
allow=ulaw
context=google-in
connection=gtalk_account
Una vez configurado esto ya lo tenemos, configuramos un cliente(softphone) con la numeración a la que podemos llamar según el dialplan que hemos definido.
Una vez que nos metemos en la consola por primera vez aparecerán cosas de la siguiente manera:
JABBER: gtalk_account INCOMING:
Mi usuario de gtalk se tiene agregado a si mismo por eso ese log.
También aparecerán logs de la siguiente manera.
JABBER: gtalk_account INCOMING:
Y alguno de la siguiente manera:
JABBER: gtalk_account OUTGOING:
Una vez visto que efectivamente asterisk está interactuando con la cuenta de gtalk que hemos configurado pasamos a la ejecución del ejemplo:
Primero intentamos desde la consola de asterisk:
*CLI> dial
The 'dial' command is deprecated and will be removed in a future release. Please use 'console dial' instead.
Y de repente como era esperable nuestro cliente comienza a sonar. Y en la pantalla aparece el número de Google Talk.
Finalmente llamamos a la extensión 200, (cuenta de gtalk.) y obtenemos el siguiente log en la consola de asterisk
*CLI>
[Dec 30 15:20:47] ERROR[14176]: chan_gtalk.c:858 gtalk_alloc: no gtalk capable clients to talk to.
[Dec 30 15:20:47] WARNING[14176]: app_dial.c:1125 dial_exec_full: Unable to create channel of type 'gtalk' (cause 0 - Unknown)
Es un comienzo de cómo asterisk se puede comunicar con gtalk! seguiremos investigando.