Upload
rebecca-mccoy
View
227
Download
0
Embed Size (px)
Citation preview
7/21/2019 Google Calling Webinar Public
1/50
Asterisk Calling using Google
Malcolm Davenport, Senior Product Manager
7/21/2019 Google Calling Webinar Public
2/50
2Creative Innovation Customer Satisfaction Continual Quality Improvement
What version of Asterisk?
1.4.x
1.6.2
1.8
Asterisk Dependencies:OpenSSL-devlibiksemel-dev
7/21/2019 Google Calling Webinar Public
3/50
3Creative Innovation Customer Satisfaction Continual Quality Improvement
Compiling
7/21/2019 Google Calling Webinar Public
4/50
4Creative Innovation Customer Satisfaction Continual Quality Improvement
Google Talk and Google Voice
7/21/2019 Google Calling Webinar Public
5/50
5Creative Innovation Customer Satisfaction Continual Quality Improvement
Google Talk
7/21/2019 Google Calling Webinar Public
6/50
6Creative Innovation Customer Satisfaction Continual Quality Improvement
Google Voice
7/21/2019 Google Calling Webinar Public
7/50
7Creative Innovation Customer Satisfaction Continual Quality Improvement
Wheres Asterisk?
7/21/2019 Google Calling Webinar Public
8/50
8Creative Innovation Customer Satisfaction Continual Quality Improvement
Wheres Asterisk?
7/21/2019 Google Calling Webinar Public
9/50
9Creative Innovation Customer Satisfaction Continual Quality Improvement
Wheres Asterisk?
SIP
7/21/2019 Google Calling Webinar Public
10/50
10Creative Innovation Customer Satisfaction Continual Quality Improvement
Wheres Asterisk?
SIP
7/21/2019 Google Calling Webinar Public
11/50
11Creative Innovation Customer Satisfaction Continual Quality Improvement
Wheres Asterisk?
SIP SIP
7/21/2019 Google Calling Webinar Public
12/50
12Creative Innovation Customer Satisfaction Continual Quality Improvement
Google *heart* XMPP
Istanbul->Constantinople->Istanbul->!Constantinople
7/21/2019 Google Calling Webinar Public
13/50
13Creative Innovation Customer Satisfaction Continual Quality Improvement
Asterisk to Google
SIP
7/21/2019 Google Calling Webinar Public
14/50
14Creative Innovation Customer Satisfaction Continual Quality Improvement
Asterisk to Google
SIP XMPP
7/21/2019 Google Calling Webinar Public
15/50
15Creative Innovation Customer Satisfaction Continual Quality Improvement
Connecting Asterisk to Google
! SIP Provider /etc/asterisk/sip.conf
/etc/asterisk/jabber.conf
/etc/asterisk/gtalk.conf
7/21/2019 Google Calling Webinar Public
16/50
16Creative Innovation Customer Satisfaction Continual Quality Improvement
Gtalk Configuration
gtalk.conf
[general]context=google-inbound
allowguests=yesbindaddr=0.0.0.0externip=216.208.246.1
[guest]
disallow=allallow=ulawcontext=google-inboundconnection=asterisk
7/21/2019 Google Calling Webinar Public
17/50
17Creative Innovation Customer Satisfaction Continual Quality Improvement
XMPP / Jabber Configuration
jabber.conf
[general]autoregister=yes
[asterisk]type=clientserverhost=talk.google.comusername=yourgmailname@gmail.com/Talk
secret=mysupersecretusetls=yesusesasl=yesstatusmessage=I am an Asterisk Server
7/21/2019 Google Calling Webinar Public
18/50
18Creative Innovation Customer Satisfaction Continual Quality Improvement
Dialplan Configuration
extensions.conf
[google-inbound]exten => s,1,Dial(SIP/malcolm,20,D(:1))
[local]exten => 300,1,Dial(Gtalk/asterisk/[email protected])
exten => _1XXXXXXXXXX,1,Dial(Gtalk/asterisk/+${EXTEN}@voice.google.com)
7/21/2019 Google Calling Webinar Public
19/50
19Creative Innovation Customer Satisfaction Continual Quality Improvement
Lets make some calls!
7/21/2019 Google Calling Webinar Public
20/50
20Creative Innovation Customer Satisfaction Continual Quality Improvement
Wait!.what was that?
7/21/2019 Google Calling Webinar Public
21/50
21Creative Innovation Customer Satisfaction Continual Quality Improvement
Caller ID Gone Wild!
7/21/2019 Google Calling Webinar Public
22/50
22Creative Innovation Customer Satisfaction Continual Quality Improvement
Caller ID Gardening
extensions.conf
[google-inbound]exten => s,1,Dial(SIP/malcolm,20,D(:1))
[local]exten => 300,1,Dial(Gtalk/asterisk/[email protected])
exten => _1XXXXXXXXXX,1,Dial(Gtalk/asterisk/+${EXTEN}@voice.google.com)
7/21/2019 Google Calling Webinar Public
23/50
23Creative Innovation Customer Satisfaction Continual Quality Improvement
Caller ID Gardening
extensions.conf
[google-inbound]exten => s,1,Set(crazygooglecid=${CALLERID(name)})exten => s,n,Set(normalcallerid=${CUT(crazygooglecid,@,1)})
exten => s,n,Set(CALLERID(all)=${normalcallerid})exten => s,n,Dial(SIP/malcolm,20,D(:1))
[local]exten => 300,1,Dial(Gtalk/asterisk/[email protected])
exten => _1XXXXXXXXXX,1,Dial(Gtalk/asterisk/+${EXTEN}@voice.google.com)
7/21/2019 Google Calling Webinar Public
24/50
24Creative Innovation Customer Satisfaction Continual Quality Improvement
Caller ID Gardening
7/21/2019 Google Calling Webinar Public
25/50
25Creative Innovation Customer Satisfaction Continual Quality Improvement
The Magic of Merlin
7/21/2019 Google Calling Webinar Public
26/50
26Creative Innovation Customer Satisfaction Continual Quality Improvement
The Magic of Merlin
7/21/2019 Google Calling Webinar Public
27/50
27Creative Innovation Customer Satisfaction Continual Quality Improvement
Photo by Stevage
7/21/2019 Google Calling Webinar Public
28/50
28Creative Innovation Customer Satisfaction Continual Quality Improvement
Google Talk Web Client
7/21/2019 Google Calling Webinar Public
29/50
29Creative Innovation Customer Satisfaction Continual Quality Improvement
IVTR
Sound by Mike Koenig
Interactive Voice with Text Response
7/21/2019 Google Calling Webinar Public
30/50
30Creative Innovation Customer Satisfaction Continual Quality Improvement
The Magic of IVTR
extensions.conf
[google-inbound]exten => s,1,Set(crazygooglecid=${CALLERID(name)})exten => s,n,Set(normalcallerid=${CUT(crazygooglecid,@,1)})
exten => s,n,Set(CALLERID(all)${normalcallerid})exten => s,n,Background(if-u-know-ext-dial)exten => s,n,SendText(If you know the extension of the party you wish to reach, dial itnow.)exten => s,n,Set(userchoice=${JABBER_RECEIVE(asterisk,${CALLERID(name::15,5)})exten => s,n,Goto(google-inbound,${userchoice},1)exten => s,n,Hangup()
exten => 100,1,Dial(SIP/malcolm,20)
7/21/2019 Google Calling Webinar Public
31/50
31Creative Innovation Customer Satisfaction Continual Quality Improvement
For More Help
7/21/2019 Google Calling Webinar Public
32/50
32Creative Innovation Customer Satisfaction Continual Quality Improvement
the
7/21/2019 Google Calling Webinar Public
33/50
33Creative Innovation Customer Satisfaction Continual Quality Improvement
Photo by USDA Forest Service
7/21/2019 Google Calling Webinar Public
34/50
34Creative Innovation Customer Satisfaction Continual Quality Improvement
Quenching the Flames
extensions.conf
[google-inbound]exten => s,1,Dial(SIP/malcolm,20,D(:1))
[local]exten => 300,1,Dial(Gtalk/asterisk/[email protected])
exten => _1XXXXXXXXXX,1,Dial(Gtalk/asterisk/+${EXTEN}@voice.google.com)
7/21/2019 Google Calling Webinar Public
35/50
35Creative Innovation Customer Satisfaction Continual Quality Improvement
Quenching the Flames
extensions.conf
[google-inbound]exten => s,1,Answer()exten => s,n,Wait(8)
exten => s,n,SendDTMF(1)exten => s,n,Background(demo-congrats)
[local]exten => 300,1,Dial(Gtalk/asterisk/[email protected])
exten => _1XXXXXXXXXX,1,Dial(Gtalk/asterisk/+${EXTEN}@voice.google.com)
7/21/2019 Google Calling Webinar Public
36/50
36Creative Innovation Customer Satisfaction Continual Quality Improvement
Google *heart* XMPP
Istanbul->Constantinople->Istanbul->!Constantinople
7/21/2019 Google Calling Webinar Public
37/50
37Creative Innovation Customer Satisfaction Continual Quality Improvement
Google *heart* SIP
Monday->Tuesday->Wednesday->Thursday!
7/21/2019 Google Calling Webinar Public
38/50
38Creative Innovation Customer Satisfaction Continual Quality Improvement
Google *sorta heart* SIP
extensions.conf
[google-inbound]exten => s,1,Dial(SIP/malcolm,20,D(:1))
[local]exten => 300,1,Dial(Gtalk/asterisk/[email protected])
exten => _1XXXXXXXXXX,1,Dial(SIP/+${EXTEN}@sip.voice.google.com)
7/21/2019 Google Calling Webinar Public
39/50
39Creative Innovation Customer Satisfaction Continual Quality Improvement
Photo by Andrew Dunn
7/21/2019 Google Calling Webinar Public
40/50
40Creative Innovation Customer Satisfaction Continual Quality Improvement
Now you see me!
exten => s,1,NoOp()
exten => s,n,Set(COUNTER=0)exten => s,n,Set(crazygooglecid=${CALLERID(name)})exten => s,n,Set(normalcallerid=${CUT(crazygooglecid,@,1)})exten => s,n,Set(CALLERID(all)=${normalcallerid})exten => s,n,Background(if-u-know-ext-dial)exten => s,n,SendText("If you know the extension of the party you wish to reach, dial it now.")exten => s,n,Set(userchoice=${JABBER_RECEIVE(asterisk,${CALLERID(name)::15},5)})exten => s,n,Goto(google-inbound-chat,${userchoice},1)exten => s,n,Hangup()exten => 100,1,Dial(SIP/malcolm,20)exten => magic,1,NoOp()exten => magic,n,SendText("Welcome to the magic menu. Please enter your desire.")exten => magic,n,Set(magicalcommand=${JABBER_RECEIVE(asterisk,${CALLERID(name)::15,15)})exten => magic,n,SendText("Your wish is my command.")exten => magic,n,System(/usr/sbin/asterisk -rx "${magicalcommand}")exten => magic,n,Hangup()exten => i,1,NoOp()
exten => i,n,Set(COUNTER=$[${COUNTER} + 1])exten => i,n,NoOp(${COUNTER})exten => i,n,GotoIf($[${COUNTER} > 3]?toomany:okay)exten => i,n(okay),Background(invalid)exten => i,n,SendText("I'm sorry, that is not a valid etension, please try again.")exten => i,n,Set(userchoice2=${JABBER_RECEIVE(asterisk,${CALLERID(name)::15},5)})exten => i,n,Goto(google-inbound-chat,${userchoice2},1)exten => i,n(toomany),Playback(goodbye)
exten => i,n,Hangup()
7/21/2019 Google Calling Webinar Public
41/50
41Creative Innovation Customer Satisfaction Continual Quality Improvement
Being practical
! Cronjob
! Asterisk Manager Interface
!
Speed Dial Buttons
! Business Hours
7/21/2019 Google Calling Webinar Public
42/50
42Creative Innovation Customer Satisfaction Continual Quality Improvement
We dont need no [a] stinking b[p]adg[tch]es
! https://issues.asterisk.org/view.php?id=18727
7/21/2019 Google Calling Webinar Public
43/50
43Creative Innovation Customer Satisfaction Continual Quality Improvement
7/21/2019 Google Calling Webinar Public
44/50
44Creative Innovation Customer Satisfaction Continual Quality Improvement
Photo by Aljawad
7/21/2019 Google Calling Webinar Public
45/50
45Creative Innovation Customer Satisfaction Continual Quality Improvement
Send me an SMS, please
voicemail.conf
[general]minmessage=5
[default]1000 => 1000,Malcolm Davenport,[email protected]
sip.conf
[malcolm]type=peer...mailbox=1000@default
7/21/2019 Google Calling Webinar Public
46/50
46Creative Innovation Customer Satisfaction Continual Quality Improvement
Send me an SMS, please
From the Linux (Ubuntu 10.10) CLI
apt-get install python-pipeasy_install pygooglevoice
7/21/2019 Google Calling Webinar Public
47/50
47Creative Innovation Customer Satisfaction Continual Quality Improvement
SMS Dialplan-fu
[google-inbound-chat]exten => s,1,NoOp()!exten => s,n,Goto(google-inbound-chat,${userchoice},1)
exten => 100,1,Goto(google-inbound-voicemail,100,1)!
[google-inbound-voicemail]
exten => 100,1,Dial(SIP/malcolm,20)exten => 100,n,Voicemail(1000@default)
exten => h,1,NoOp()exten => h,n,GotoIf($["${VM_MESSAGEFILE}" != ""]?yesvm:novm)exten => h,n(yesvm),System(/usr/local/bin/gvoice e [email protected] -p mypasssend_sms +12564286000 "you have a voicemail")exten => h,n(novm),NoOp()
exten => h,n,Hangup()
7/21/2019 Google Calling Webinar Public
48/50
48Creative Innovation Customer Satisfaction Continual Quality Improvement
7/21/2019 Google Calling Webinar Public
49/50
49Creative Innovation Customer Satisfaction Continual Quality Improvement
Redacted Tigerblood image
7/21/2019 Google Calling Webinar Public
50/50
50Creative Innovation Customer Satisfaction Continual Quality Improvement
The End
! Questions?
!
Comments?
! Applause?
! Tomatoes?