Ecco la configurazione per installare il modulo Jabber su Asterisk e fare in modo che quando arriva una chiamata venga inviato in tempo reale un messaggio immediato tramite Gtalk (Google chat) ad un utente Gmail.
Dato che parliamo di cose da esperti, non mi dilungo troppo sulle spiegazioni
Nota: la seguente configurazione e' valida per Ubuntu Server 10.04 e Asterisk 1.6.2.x.
1) Installare le dipendenze mancanti
sudo apt-get install libiksemel-dev libssl-dev libncurses5 g++ libxml2-dev
2) Entrare nella directory in cui abbiamo scompattato Asterisk nella prima installazione (come da mia guida precedente) e ricompiliamolo:
su - root
cd /...../asterisk-1.6.2.x
make distclean
./configure
make
make install
NOTA BENE: assolutamente NON diamo il comando "make samples" perche' sovrascriverebbe tutte le nostre configurazioni!
3) Modifichiamo il file "/etc/asterisk/modules.conf" e aggiungiamo alla fine la seguente riga:
load => res_jabber.so
4) Modifichiamo, o creiamo se non esiste, il file "/etc/asterisk/jabber.conf" come segue (sostituendo i parametri in rosso con quelli del vostro account GMAIL):
[general]
debug=no ;;Turn on debugging by default.
;autoprune=yes ;;Auto remove users from buddy list.
autoregister=yes ;;Auto register users from buddy list.
[asterisk] ;;label
type=client ;;Client or Component connection
serverhost=talk.google.com ;;Route to server for example,
username=mioutente@gmail.com ;;Username with optional roster.
secret=miapasswordGMAIL ;;Password
port=5222 ;;Port to use defaults to 5222
usetls=yes ;;Use tls or not
usesasl=yes ;;Use sasl or not
buddy=quello_che_riceve_il_messaggio@gmail.com ;;Manual addition of buddy to list.
statusmessage="sono il centralino Asterisk" ;;Have custom status message for Asterisk.
;timeout=100 ;;Timeout on the message stack.
5) Ecco l'extension (io ho scelto il numero 987) da inserire nel dialplan "/etc/asterisk/extensions_custom.conf" sotto [from-internal-custom]
; il numero 987 invia un messaggio XMPP Gtalk al mio contatto quello_che_riceve_il_messaggio@gmail.com
;
exten => 987,1,Answer
exten => 987,2,JabberStatus(asterisk,quello_che_riceve_il_messaggio@gmail.com,SOMEUSERSTATUS)
exten => 987,3,NoOp(Value of SOMEUSERSTATUS is ${SOMEUSERSTATUS})
exten => 987,4,Execif($[${SOMEUSERSTATUS} < 6],JabberSend,asterisk,quello_che_riceve_il_messaggio@gmail.com,Chiamata in arrivo da ${CALLERID(all)})
exten => 987,5,Hangup
Nota bene: la riga "exten => 987,4,Execif($[${SOMEUSERSTATUS} < 6],... ${CALLERID(all)})" e' un'unica riga, e' il forum che la spezza sopra
6) Riavviate il centralino e ora chiamando il numero 987 (da inserire ad esempio in un gruppo di squillo), parte il messaggio su Gtalk da mioutente@gmail.com per l'utente quello_che_riceve_il_messaggio@gmail.com con il caller id del chiamante.