Se durante l'installazione di Asterisk abbiamo incluso le librerie necessarie per farlo funzionare come cliente di GoogleTalk, con alcune modifiche nella configurazione, potremo effettuare chiamare Asterisk -> Gtalk e Gtalk -> Asterisk.
Prima di tutto verifichiamo che effettivamente il modulo res_jabber stia funzionando.
Apriamo la console di asterisk:
asterisk -rvvvvvvvvvvvvvvvv
e nella console scriviamo il comando:
CLI> help jabber
dovrebbe apparire qualcosa del genere:
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.
Se così non fosse, proviamo a caricare il modulo:
CLI> module load res_jabber
se non riceviamo errori significa che il modulo è stato caricato correttamente.
Usciamo dalla console di Asterisk:
CLI> quit
Adesso possiamo iniziare con la configurazione di Gtalk in Asterisk. Prima di tutto modifichiamo il file jabber.conf:
nano /etc/asterisk/jabber.conf
[general]
debug=yes
autoprune=yes
autoregister=yes
[gtalk]
type=client
serverhost=talk.google.com
username=mioutente@gmail.com/gmail
secret=XXXXXX
port=5222
usetls=yes
usesasl=yes
buddy=amico@gmail.com
statusmessage=Asterisk Server
Adesso passiamo al file gtalk.conf:
nano /etc/asterisk/gtalk.conf
[general]
context=google-in
bindaddr=0.0.0.0
allowguest=yes
[guest]
disallow=all
allow=ulaw
context=google-in
[amico]
username=amico@gmail.com
disallow=all
allow=ulaw
connection=gtalk
context=google-in
La parte che inizia con [amico] è la configurazione tipica di un utente che abbiamo nella nostra lista di amici di Gtalk. Per ogni amico dobbiamo ripetere l'intero blocco cambiando i relativi campi necessari. Teniamo in mente che nell'ultima linea del blocco [amico] abbiamo indicato in context il nome google-in
Adesso dobbiamo modificar il dialplan per dire a Asterisk come deve comportarsi quando entrano chiamate da utenti gtalk.
Tutta la gestione delle chiamate, è configurata nel file extensions.conf. Andiamo a modificarlo:
nano /etc/asterisk/extensions.conf
Aggiungiamo le segueti linee:
[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,r)
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()
Tutte le chiamate entranti da Gtalk le giriamo all'interno 1000 (vedremo come configurare gli interni in Asterisk in un prossimo articolo). Notate che la etichetta [google-in] è la stessa che abbiamo configurato nel file gtalk.conf come context.
Per le chiamate Asterisk -> Gtalk dobbiamo aggiungere allo stesso file le seguenti linee:
exten => 10000,1,Dial(gtalk/gtalk/esempio@gmail.com)
exten => 10000,n,Congestion(3)
exten => 10000,n,Hangup
Analizziamo le tre linee:
Adesso dire a Asterisk che si attualizzi con la nuova configurazione:
/etc/init.d/asterisk reload
Adesso possiamo dal nostro interno 1000 effettuare e ricevere chiamate da utenti Gtalk.
Commenti
Ciao, se io provo a dare il
Ciao, se io provo a dare il comando "module load res_jabber" la CLI mi restituisce
WARNING[7970]: loader.c:359 load_dynamic_module: Error loading module 'res_jabber': /usr/lib/asterisk/modules/res_jabber.so: cannot open shared object file: No such file or directory
Come faccio a montare il modulo jabber?
Ho Asterisk 1.4.24....
grazie.
Re: modulo jabber
Per avere attivo il modulo jabber devi avere installati i paccehtti gnutls e gnutls-devel (distribuzione centos) e poi scaricare e compilare iksemel : http://iksemel.googlecode.com/files/iksemel-1.3.tar.gz
Se hai la distribuzione centos vedi qui: http://www.asterisk-it.org/node/6
Per ubuntu desktop qui: http://www.asterisk-it.org/node/5
Una volta compilato iksemel devi ricompilare asterisk y al momento di usare:
make menuselect
controllare che il modulo res_jabber è attivato (un asterisk al lato del modulo)
Se continui ad avere problemi fammi sapere.
ricevo queti errori ...
Seguendo le tue istruzioni, ottengo questo errore se smisto le chiamate entranti sull'interno 3500
-- Executing [s@google-in:2] Dial("Gtalk/Nic.Fr-228b", "SIP/3500") in new stack
== Using SIP RTP CoS mark 5
[Jun 22 15:48:27] WARNING[17137]: app_dial.c:1518 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
== Everyone is busy/congested at this time (1:0/0/1)
-- Auto fallthrough, channel 'Gtalk/Nic.Fr-228b' status is 'CHANUNAVAIL'
[Jun 22 15:48:27] NOTICE[17137]: chan_gtalk.c:1457 gtalk_indicate: Don't know how to indicate condition '8'
Hai qualche idea ??
PS: Asterisk ha 3 connessioni SIP VOIP entranti che funzionano perfettamente chiamando il relativo numero VOIP
Problema con l'interno 3500
Da quello che vedo nel log della tua console, la chiamata da googletalk entra più che bene al contesto google-in. Il problema è che non trova l'interno 3500 disponibile. Sembrerebbe che questo interno non sia connesso a asterisk nel momento in cui arriva la chiamata.
Controlla bene che l'interno 3500 sia connesso a asterisk con un "sip show peers" e se tutto è ok riprova a fare la chiamata.
Se hai copiato tutta la parte del contesto google-in presente nella guida, la chiamata dovrebbe entrare alla segreteria telefonica dell'interno 3500. Se così fosse il problema è sicuramente quello che ti ho descritto.
Fammi sapere.
Ciao, che versione di
Ciao,
che versione di asterisk hai usato? non ho mai fatto l'integrazione con gtalk xche su i forum dicevano che la parte voce non funzionava bene.. a te l'audio funziona? la qualità e come quella del client gtalk?
Grazie
Gtalk
Attualmente uso la versione 1.6.0.9 però mi ricordo che a suo tempo usai la versione 1.4.X
Ho fatto prove con nimbuzz dal mio cellulare symbian e l'audio funziona ed è più che decente. C'é un ritardo peró credo dipenda dal mio router wi-fi.
Facendo prove con il cliente googletalk installato sul mio computer portatile non ho audio però credo che dipenda dal sistema operativo (windows vista) perché con windows xp funzionava bene.
Asterisk è installato su un server remoto.
Ciao
Versione
Grazie x la risposta
secondo te se uso la 1.4.18 funziona? uso questa versione antica xche è l'unica che funziona bene con la Path Pivelli,
la quale mi permette di far funzionare il voip di telecom sul mio centralino.
Re: Versione
Secondo me non ci dovrebbero essere problemi. Magari fai una prova e poi ci fai sapere.
Ciao