PrerequisitesAsterisk communicates with Google Voice and Google Talk using the chan_gtalk Channel Driver and the res_jabber Resource module. Before proceeding, please ensure that both are compiled and part of your installation. Compilation of res_jabber and chan_gtalk for use with Google Talk / Voice are dependant on the iksemel library files as well as the OpenSSL development libraries presence on your system. Calling using Google Voice or via the Google Talk web client requires the use of Asterisk 1.8.1.1 or greater. The 1.6.x versions of Asterisk only support calls made using the legacy GoogleTalk external client. For basic calling between Google Talk web clients, you need a Google Mail account. For calling to and from the PSTN, you will need a Google Voice account. In your Google account, you'll want to change the Chat setting from the default of "Automatically allow people that I communicate with often to chat with me and see when I'm online" to the second option of "Only allow people that I've explicitly approved to chat with me and see when I'm online." IPv6 is currently not supported. Use of IPv4 is required. Google Voice can now be used with Google Apps accounts. Gtalk configurationThe chan_gtalk Channel Driver is configured with the gtalk.conf configuration file, typically located in /etc/asterisk. What follows is the minimum required configuration for successful operation. Minimum Gtalk Configuration[general] context=local allowguests=yes bindaddr=0.0.0.0 externip=216.208.246.1 [guest] disallow=all allow=ulaw context=local connection=asterisk This general section of this configuration specifies several items.
The guest section of this configuration specifies several items.
Jabber ConfigurationThe res_jabber Resource is configured with the jabber.conf configuration file, typically located in /etc/asterisk. What follows is the minimum required configuration for successful operation. Minimum Jabber Configuration[general] autoregister=yes [asterisk] type=client serverhost=talk.google.com username=your_google_username@gmail.com/Talk secret=your_google_password port=5222 usetls=yes usesasl=yes statusmessage="I am an Asterisk Server" timeout=100 The general section of this configuration specifies several items.
The asterisk section of this configuration specifies several items.
Phone configurationNow, let's place a phone into the same context as the Google calls. The configuration of a SIP device for this purpose would, in sip.conf, typically located in /etc/asterisk, look something like: [malcolm] type=peer secret=my_secure_password host=dynamic context=local Dialplan configurationIncoming callsNext, let's configure our dialplan to receive an incoming call from Google and route it to the SIP phone we created. To do this, our dialplan, extensions.conf, typically located in /etc/asterisk, would look like: exten => s,1,Answer() exten => s,n,Wait(2) exten => s,n,SendDTMF(1) exten => s,n,Dial(SIP/malcolm,20)
This example uses the "s" unmatched extension, because Google does not forward any DID when it sends the call to Asterisk. In this example, we're Answering the call, Waiting 2 seconds, sending the DTMF "1" back to Google, and then dialing the call.
Outgoing callsOutgoing calls to Google Talk users take the form of: exten => 100,1,Dial(gtalk/asterisk/mybuddy@gmail.com) Where the technology is "gtalk," the dialing peer is "asterisk" as defined in jabber.conf, and the dial string is the Google account name. Outgoing calls made to Google Voice take the form of: exten => _1XXXXXXXXXX,1,Dial(gtalk/asterisk/+${EXTEN}@voice.google.com)
Where the technology is "gtalk," the dialing peer is "asterisk" as defined in jabber.conf, and the dial string is a full E.164 number (plus character followed by country code, followed by the rest of the digits). Interactive Voice with Text Response (IVTR)Because the Google Talk web client provides both audio and text interface, you can use it to provide a text-based way of traversing Interactive Voice Response (IVR) menus. This is necessary since the client does not have any DTMF inputs. In the following dialplan example, we will answer the call, wait a bit, send some text that will show up in the caller's Google Talk client, play back a prompt, capture the caller's text-based response, and then dial the appropriate SIP device.
Note that with the JABBER_RECEIVE function, we're receiving the text from asterisk which we defined earlier in this page as our connection to Google. We're also specifying with ${CALLERID(name)::15} that we want to strip off the last 15 characters from the CallerID name string - which is the number of characters that Google is appending, as of this writing, to represent an internal call ID number, and that we want to wait 5 seconds for a response. WebinarA Webinar was conducted on Tuesday, March 24, 2011 detailing Asterisk configuration for calling using Google as well as several usage cases. A copy of the slides, in PDF format, is available here - Google Calling Webinar - Public.pdf Nov 04, 2010Paul Belanger We should update the minimum jabber.conf, most are already default settings. And debugging should be disabled by default for an user jabber.conf
.............................................. Feb 12, 2011Terry Wilson I've found that the SIPDroid android client chokes on the horribly long CallerID name that shows up. One can work around this issue with
Before dialing out with a SIP client. I'm not sure why it chokes, but it sends a 100 Trying and then never responds. The CallerID name ends up looking something like "+15555551212@voice.google.com/srvres-MTAuMjE4LjIuMTk3Ojk4MzM=" so, perhaps it is the weird characters that SIPDroid has trouble with, or that they have Google Talk support with PBXes.org and try to do something different with the call. I don't know if we want to put a "workarounds" section up or for things like this or not, or just relegate the information to somewhere on the mailing list.
............................................... Sep 02, 2011Bruce Lampson Excellent tutorial! I am using asterisk
1.8.6.0 Everything works fine but cant get the crazy caller id to cut
what is left after the @ . i have tried to different ways but no dice
.................................................................... Sep 22, 2011Shyju Kanaprath Nice tutorial. Incoming calls are working fine.I'm facing problem with outbound calls. The outbound calls only works when I add gmail id which is already in my buddy list to jabber.conf & gtalk.conf. Find my configurations files below. Now the outbound calls work only on those 2 buddys. How can I dial anyone/any pstn number without adding it to gtalk/jabber config. In Gmail my chat setting is "Only allow people that I've explicitly approved to chat with me and see when I'm online." Any insight would be appreciated. Version: Asterisk 10.0.0-beta1 /etc/asterisk/jabber.conf [general] [asterisk] /etc/asterisk/gtalk.conf [general] [shyju] [971] /etc/asterisk/extensions.conf exten => _XXXXXXXXXX.,1,Dial(gtalk/asterisk/+${EXTEN}@voice.google.com) Asterisk CLI
|
手机版|小黑屋|BC Morning Website ( Best Deal Inc. 001 )
GMT-8, 2025-12-13 16:15 , Processed in 0.013790 second(s), 17 queries .
Supported by Best Deal Online X3.5
© 2001-2025 Discuz! Team.