Re: Asterisk and Google Voice Dial out
by linkqbox » Tue Jan 11, 2011 5:15 am
These are the instructions I followed and worked perfectly for me:
Just replace:
username
password
google voice number
http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
yum install gnutls-devel
cd iksemel-1.4
./configure
make
make check --> runs 8 tests
make install
ldconfig -p | grep semel --> should return nothing, because the library cache is not yet updated with the new libraries installed in non-standard locations.
echo "/usr/local/lib" > /etc/ld.so.conf.d/iksemel.conf --> add a new library location
ldconfig --> update the library cache
ldconfig -p | grep semel
libiksemel.so.3 (libc6,x86-64) => /usr/local/lib/libiksemel.so.3
libiksemel.so (libc6,x86-64) => /usr/local/lib/libiksemel.so
Now the libraries are found in cache file /etc/ld.so.cache as shown above.
Recompile Asterisk if needed
http://voipcomsolutions.com/wiki/index. ... tion_ready
# asterisk -rx "module show" | grep res_jabber
res_jabber.so AJI - Asterisk Jabber Interface 0
# asterisk -rx "module show" | grep chan_gtalk
chan_gtalk.so Gtalk Channel Driver 0
jabber.conf
[general]
debug=yes ; Enable debugging (disabled by default).
autoprune=yes ; Auto remove users from buddy list. Depending on your
; setup (ie, using your personal Gtalk account for a test)
; you might lose your contacts list. Default is 'no'.
autoregister=yes ; Auto register users from buddy list.
;collection_nodes=yes ; Enable support for XEP-0248 for use with
; distributed device state. Default is 'no'.
;pubsub_autocreate=yes ; Whether or not the PubSub server supports/is using
; auto-create for nodes. If it is, we have to
; explicitly pre-create nodes before publishing them.
; Default is 'no'.
;auth_policy=accept ; Auto accept users' subscription requests (default).
; Set to deny for auto denial.
[asterisk]
type=client ; Client or Component connection
serverhost=talk.google.com ; Route to server for example, talk.google.com
;pubsub_node=pubsub.astjab.org ; Node to use for publishing events via PubSub
username=@gmail.com/asterisk ; Username with optional resource.
secret= ; Password
;priority=1 ; Resource priority
port=5222 ; Port to use defaults to 5222
usetls=yes ; Use tls or not
usesasl=yes ; Use sasl or not
status=available ; One of: chat, available, away, xaway, or dnd
statusmessage="I am an Asterisk Server" ; Have custom status message for Asterisk
timeout=100
keepalive=yes ; Timeout (in seconds) on the message stack, defaults to 5.
; Messages stored longer than this value will be deleted by Asterisk.
; This option applies to incoming messages only, which are intended to
; be processed by the JABBER_RECEIVE dialplan function.
[root@maradona asterisk]# more gtalk.conf
[general]
context=googlein ; Context to dump call into
bindaddr=0.0.0.0 ; Address to bind to
;externip=asterisk.public.com ; Set your external ip if you are behind a NAT.
;stunaddr=mystunserver.com ; Get your external ip from a STUN server.
; Note, if the STUN query is successful, this will
; replace any value placed in externip;
allowguest=yes ; Allow calls from people not in list of peers
[guest] ; special account for options on guest account
disallow=all
allow=ulaw
context=googlein
connection=asterisk
extensions_custom.conf
[googlein]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,SendDTMF(1)
exten => s,n,Set(CALLERID(num)=${CUT(CALLERID(name),@,1)})
exten => s,n,Set(CALLERID(name)=${CUT(CALLERID(name),/,1)})
exten => s,n,Goto(from-trunk,,1)
exten => s,h,Hangup
For external calls I use a custom trunk in FreePBX and just added under: Custom Dial String
gtalk/asterisk/+$OUTNUM$@voice.google.com
Just replace:
username
password
google voice number
http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
yum install gnutls-devel
cd iksemel-1.4
./configure
make
make check --> runs 8 tests
make install
ldconfig -p | grep semel --> should return nothing, because the library cache is not yet updated with the new libraries installed in non-standard locations.
echo "/usr/local/lib" > /etc/ld.so.conf.d/iksemel.conf --> add a new library location
ldconfig --> update the library cache
ldconfig -p | grep semel
libiksemel.so.3 (libc6,x86-64) => /usr/local/lib/libiksemel.so.3
libiksemel.so (libc6,x86-64) => /usr/local/lib/libiksemel.so
Now the libraries are found in cache file /etc/ld.so.cache as shown above.
Recompile Asterisk if needed
http://voipcomsolutions.com/wiki/index. ... tion_ready
# asterisk -rx "module show" | grep res_jabber
res_jabber.so AJI - Asterisk Jabber Interface 0
# asterisk -rx "module show" | grep chan_gtalk
chan_gtalk.so Gtalk Channel Driver 0
jabber.conf
[general]
debug=yes ; Enable debugging (disabled by default).
autoprune=yes ; Auto remove users from buddy list. Depending on your
; setup (ie, using your personal Gtalk account for a test)
; you might lose your contacts list. Default is 'no'.
autoregister=yes ; Auto register users from buddy list.
;collection_nodes=yes ; Enable support for XEP-0248 for use with
; distributed device state. Default is 'no'.
;pubsub_autocreate=yes ; Whether or not the PubSub server supports/is using
; auto-create for nodes. If it is, we have to
; explicitly pre-create nodes before publishing them.
; Default is 'no'.
;auth_policy=accept ; Auto accept users' subscription requests (default).
; Set to deny for auto denial.
[asterisk]
type=client ; Client or Component connection
serverhost=talk.google.com ; Route to server for example, talk.google.com
;pubsub_node=pubsub.astjab.org ; Node to use for publishing events via PubSub
username=
secret=
;priority=1 ; Resource priority
port=5222 ; Port to use defaults to 5222
usetls=yes ; Use tls or not
usesasl=yes ; Use sasl or not
status=available ; One of: chat, available, away, xaway, or dnd
statusmessage="I am an Asterisk Server" ; Have custom status message for Asterisk
timeout=100
keepalive=yes ; Timeout (in seconds) on the message stack, defaults to 5.
; Messages stored longer than this value will be deleted by Asterisk.
; This option applies to incoming messages only, which are intended to
; be processed by the JABBER_RECEIVE dialplan function.
[root@maradona asterisk]# more gtalk.conf
[general]
context=googlein ; Context to dump call into
bindaddr=0.0.0.0 ; Address to bind to
;externip=asterisk.public.com ; Set your external ip if you are behind a NAT.
;stunaddr=mystunserver.com ; Get your external ip from a STUN server.
; Note, if the STUN query is successful, this will
; replace any value placed in externip;
allowguest=yes ; Allow calls from people not in list of peers
[guest] ; special account for options on guest account
disallow=all
allow=ulaw
context=googlein
connection=asterisk
extensions_custom.conf
[googlein]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,SendDTMF(1)
exten => s,n,Set(CALLERID(num)=${CUT(CALLERID(name),@,1)})
exten => s,n,Set(CALLERID(name)=${CUT(CALLERID(name),/,1)})
exten => s,n,Goto(from-trunk,
exten => s,h,Hangup
For external calls I use a custom trunk in FreePBX and just added under: Custom Dial String
gtalk/asterisk/+$OUTNUM$@voice.google.com
No comments:
Post a Comment