Ecco le istruzioni per configurare Asterisk (versione 1.8.x) per effettuare e ricevere chiamate voce tramite Google Talk (tutti gli utenti Gmail e chiamate telefoniche se si ha credito) e Google Voice (numero telefonico USA e chiamate gratis in USA e Canada).

Installazione su Ubuntu Server 10.04.2 di Asterisk (nota: metto solo i comandi...):

su - root
wget http://downloads.asterisk.org/pub/te...1.8.6.0.tar.gz
apt-get install libiksemel-dev libssl-dev libncurses5 g++ libxml2-dev
tar -zxvf asterisk-1.8.6.0.tar.gz
cd asterisk-1.8.6.0
./configure
make
make install
make samples

NOTA: se l'installazione durante il ./configure, si interrompe e vi dice che mancano delle dipendenze, installatele come al solito con apt-get.

Configurazione files:
-------------------------------------------------------
editiamo gtalk:

nano /etc/asterisk/gtalk.conf

inserire alla fine del file le seguenti righe:

[general]
context=google
allowguests=yes
bindaddr=0.0.0.0
stunaddr=stun01.sipphone.com

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

salvare e chiudere con Ctrl+X
-------------------------------------------------------
editiamo jabber:

nano /etc/asterisk/jabber.conf

inserire alla fine del file le seguenti righe:

[general]
autoregister=yes

[asterisk]
type=client
serverhost=talk.google.com
username=mioutentegmail@gmail.com/Talk
secret=miapasswordgmail
port=5222
usetls=yes
usesasl=yes
statusmessage="sono un server Asterisk"
timeout=100

salvare e chiudere con Ctrl+X

NOTA: mioutentegmail e miapasswordgmail vanno ovviamente sostituiti con le nostre credenziali di accesso a gmail
-------------------------------------------------------+
editiamo sip.conf:

nano /etc/asterisk/sip.conf

subito sotto l'etichetta [general] inserire le seguenti righe:

context=default
allowguest=no
nat=yes
externhost=mioip.dyndns.org
externrefresh=120
localnet=192.168.1.0/255.255.255.0


e ancora in fondo al file inserire le seguenti righe per configurare almeno un telefono SIP (numero interno 200):

[200]
deny=0.0.0.0/0.0.0.0
secret=miapassword
dtmfmode=rfc2833
canreinvite=no
host=dynamic
type=friend
nat=yes
port=5060
qualify=yes
callgroup=
pickupgroup=
dial=SIP/200
mailbox=200@device
permit=0.0.0.0/0.0.0.0
callerid=device <200>
callcounter=yes
faxdetect=no

salvare e chiudere con Ctrl+X

NOTA: mioip.dyndns.org va sostituito con il nostro dominio di terzo livello registrato con dyndns.org e gestito con il router ADSL (se lo consente), oppure tramite il programma ddclient (apt-get install ddclient), cerca su google le istruzioni di configurazione.
Se invece abbiamo un IP pubblico statico, sostituiamo la riga "externhost=mioip.dyndns.org" con:
"externip=xxx.xxx.xxx.xxx" (mettere l'indirizzo IP statico), e se non c'e' il NAT sul router va cambiata la riga "nat=yes" con "nat=no".
Localnet invece va adeguata alla nostra rete LAN, es: "localnet=10.0.0.0/255.0.0.0" se abbiamo una rete in classe 10, se non c'e' il NAT questa riga sparisce.
-------------------------------------------------------
editiamo extensions.conf:

nano /etc/asterisk/extensions.conf

e subito dopo l'etichetta [default] inserire le seguenti righe:

include => google
include => gmail
include => googlevoice

e ancora in fondo al file inserire le seguenti righe:

[google]
;exten => s,1,Answer()
;exten => s,n,Wait(2)
;exten => s,n,SendDTMF(1)
;exten => s,n,Dial(SIP/200,20)
exten => s,1,Set(crazygooglecid=${CALLERID(name)})
exten => s,n,Set(stripcrazysuffix=${CUT(crazygooglecid,@,1) })
exten => s,n,Set(CALLERID(all)=${stripcrazysuffix})
exten => s,n,Dial(SIP/200,20,D(:1))

[gmail]
exten => 100,1,Dial(gtalk/asterisk/mioutentegmail@gmail.com)

[googlevoice]
exten => _1XXXXXXXXXX,1,Dial(gtalk/asterisk/+${EXTEN}@voice.google.com)

salvare e chiudere con Ctrl+X

Nota: mioutentegmail va ovviamente sostituito con la nostra ID di accesso a gmail
-------------------------------------------------------

Far partire asterisk con il comando:
asterisk start


Il client SIP (telefono o software) va configurato con la userid: 200 e la password che abbiamo messo in sip.conf (miapassword)