Configuracion de Asterisk 1.6.X con GoogleTalk

Actualizado 04 septiembre 2009

Si nuestra instalacion de Asterisk ha incluido todas las dependencias necesarias para que funcione como cliente de GoogleTalk ya podremos, con unos pequeños retoques a la configuracion, recibir y efectuar llamadas asterisk -> gtalk y gtalk -> asterisk.

Primero averiguamos si efectivamente el modulo res_jabber esté funcionando en nuestra centralita.

Si el servidor asterisk està corriendo abrimos la consola:

asterisk -rvvvvvvvvvvv

desde la consola digitamos el comando:

*CLI> help jabber

debe aparecer como respuesta una lista de comandos que podemos utilizar con este modulo:

     jabber reload Reload Jabber configuration
     jabber set debug {on|off} Enable/Disable Jabber debug
     jabber show buddies Show buddy lists of our clients
     jabber show connected Show state of clients and components
     jabber test Shows roster, but is generally used for mog's debugging.

Si asi no es no hemos compilado bien Asterisk o el modulo no viene cargado cuando Asterisk arranca.

Intentamos cargar el modulo:

*CLI> module load res_jabber

si no recibimos ningun error significa que la operacion ha tenido exito. Salimos de la consola:

*CLI> quit

Ahora podemos empezar con la configuracion de GTalk. Personalmente he creato una cuenta de google para cada servidor que tengo instalado de modo que puedo usar mi verdadera cuenta para hacer pruebas.

Primero modificamos el archivo jabber.conf

nano /etc/asterisk/jabber.conf

[general]
debug=yes                              
autoprune=yes    ;
remueve automaticamente los usuarios de la lista de amigos                      
autoregister=yes ;
Autoregistra los usuarios en la lista de amigos

[gtalk]
type=client
serverhost=talk.google.com ;
dominio server GoogleTalk
username=voztovoicenet@gmail.com ;
usuario que vamos a registrar en GoogleTalk
secret=XXXXXX ;
contraseña
port=5222 ;
puerto para la conexión a GoogleTalk
usetls=yes ;
activamos el protocolo TLS
usesasl=yes ;
tambien sasl
buddy=example@gmail.com ;
aqui podemos empezar a alistar nuestra lista de amigos
statusmessage=Asterisk Server ;
mensaje de estado que se visualizará junto al nombre de usuario
timeout=100

El servidor de gtalk requiere una conexion con el protocolo TSL usetls=yes Si queremos configurar más de un usuario podemos hacerlo cambiando solamente las lineas correspondientes.

Ahora pasamos al archivo gtalk.conf

nano /etc/asterisk/gtalk.conf

[general]

 

context=google-in

 

allowguest=yes

 

bindaddr=mioIP ; direccion IP del servidor Asterisk

 


[guest]
disallow=all
allow=ulaw
context=google-in

[fulano]
username=fulano@gmail.com
disallow=all
allow=ulaw
connection=gtalk
context=google-in
 

La parte que empieza con la etiqueta [fulano] es la configuracion de uno de los amigos que tenemos en la lista de gtalk. Si queremos configurar más tenemos que repetir todo el bloque de las lineas cambiando la [etiqueta] y el correo electronico. Fijense que en context (la ultima linea del bloque de la etiqueta [fulano] hemos puesto google-in

Bien ahora tenemos que configurar el archivo extensions.conf para decirle a Asterisk como comportarse cuando lleguen llamadas de algun usuario de google.

nano /etc/asterisk/extensions.conf

Añadimos, para las llamadas entrantes, estas lineas:

[google-in]
exten => s,1,NoOp( Call from Gtalk )
exten => s,n,Set(CALLERID(name)="From Google Talk")
exten => s,n,Dial(SIP/1000,30)
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => s,n(unavail),Voicemail(1000@default,u)
exten => s,n,Hangup()
exten => s,n(busy),VoiceMail(1000@default,b)
exten => s,n,Hangup()

Todas las llamadas que entren desde gtalk la giramos a la extension 1000. Si dentro de treinta segundos no contestamos, lo harà el contestador. Notese que la etiqueta [google-in] es la misma que configuramos en el archivo gtalk.conf en el parametro context

Para las llamadas salientes en extensions.conf ponemos:

exten => 10000,1,Dial(gtalk/gtalk/example@gmail.com)
exten => 10000,n,Congestion(3)
exten => 10000,n,Hangup

Analizamos las tres lineas:

  1. le decimos a asterisk de llamar atraves de gtalk bajo la configuracion que en jabber.conf llamamos gtalk (vease etiqueta [gtalk]) a fulano@gmail.com
  2. si la llamada no tiene exito o el servidor está congestionado recibiremos una señal de ocupado por 3 segundos
  3. cuelgamos la llamada/canal

Ahora tenemos que actualizar la configuracion de asterisk. Podemos usar el comando

/etc/init.d/asterisk reload

Ahora podemos desde nuestra extension 1000 hacer y recibir llamadas con Gtalk. Hagan sus pruebas.

Aqui les dejo una imagen de como aparece mi Gtalk

Hasta luego

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo
Suscribirse a Comentarios de "Configuracion de Asterisk 1.6.X con GoogleTalk" Suscribirse a VozToVoice - Todos los comentarios