Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Tech campmemphis slides_post_session
1. TechCamp Memphis 2013
TWILIO VOICE / SMS API:
TEACH YOUR APPS TO SPEAK
Post-session with extra slides, notes and
annotations.
Stewart Whaley, Esq.
whaleysa@archildrens.org
stewart@logicurrent.com
@stewartwhaley => Twitter, LinkedIn
Arkansas Children‟s Hospital
LogiCurrent, LLC
2. NON-PROFITS
Missed appointments/court dates, etc. can have
VERY negative impact on these populations.
(> 1,000 outpatient clinic appointments / day.)
Mission:
Needs:
Improve children‟s health.
Decrease appointment “No Show” rate
Improve patient engagement
(drug compliance, other protocols, pre-MRI prep, etc.)
Mission:
Needs:
Access to justice
Decrease “No Show” rate
and improve/accelerate
document procurement
Clients at/below 125% federal poverty level!
3. http://www.youtube.com/watc
h?v=Fb8sKFTGNhY
Post session note:
• This is a humorous example for a developer session. It is NOT intended to
make light of the client/patient situations discussed.
• Most of us can relate to the PowToon and „recover‟ from a mistake due to
insurance, finances, etc.
• Missing appointments can be devastating for the population we are
discussing.
4. What the fox say?
Call:
501-xyz-abcd
Post session note:
The demo at this number didn‟t stick around, but slide 11 has
the Twimlbin URL‟s with code you can clone to replicate.
Place the URL‟s in your Twilio account‟s Voice Request and
Message Request URLs.
As discussed in the session, this solution doesn‟t actually
record the response text. You can easily add with a web
handler executing the same TWIml and logging POST params
to your db of choice. Ton of examples online.
6. ACH PHONE SYSTEM 2005
It‟s alive, but…
Post session: Initially a very good solution, however, degraded significantly over time
and became a support and scalability nightmare with no redundancy/replacement.
We did NOT want to deal with telephony internals or hardware again. Ever.
Seriously. Period.
7. FOUND TWILIO
Too good to be true? Where‟s the catch…?
<?php
require_once('/path/to/twiliophp/Services/Twilio.php');
$sid = "AC3094732a3c49700934481addd5ce1659";
$token = "{{ auth_token }}";
$client = new Services_Twilio($sid, $token);
$call = $client->account->calls>create("+14158675309", "+14155551212",
"http://demo/voice.xml", array());
echo $call->sid;
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>Hello TechCamp.</Say>
</Response>
8. TIME TO CONVINCE THE BRASS
<Response>
<Say>Not a problem.</Say>
</Response>
9. Post session slide
• No hardware! YES!
• No telecom knowledge!
• We already have a team of web and back-end developers
Twilio API perfect match for our skills.
• Fast to market!
• Massive ROI compared to vendor solutions!
• Same platform for adding planned SMS projects.
• Leverages most of the non-Twilio business rules, code,
architecture of phone system application. The issues with old
system were hardware, software compatiblity, 3rd party
libraries, etc.
• 3rd party solutions amazingly expensive.
• We could hire a full-time developer devoted to ONLY voice
and SMS for the cost of many 3rd party solutions pitched to
us. Of course, very little systems integration, flexiblity, etc.
if use vendor.
10. TWIML
https://www.twilio.com/docs/api/twiml
Say -
Read text to the caller
Play -
Play an audio file for the caller
Dial -
Add another party to the call
Record -
Record the caller's voice
Gather -
Collect digits the caller types on their
keypad
Sms -
DEPRECATED see Message
Send an SMS message during a phone
call
PS: You can‟t beat the Twilio.com docs/quickstarts and tutorials.
Easy to use, code in variety of languages, etc.
Development / testing tools are great: test API, logging, usage info, etc.
11. TWIML continued
Message – sends a message to a phone number.
Hangup -
Hang up the call
Queue -
Add the caller to a queue of callers.
Redirect - Redirect call flow to a different TwiML
document.
Pause -
Wait before executing more instructions
Reject Decline an incoming call without being
billed.
12. TWIMLETS +
TWIMBIN
501-xyz-abcd
Voice public link:
http://twimlbin.com/external/01e3526628c6bc7c
SMS public link:
http://twimlbin.com/external/1aa2aac5a65de8d5
Combine to create a free, hosted:
a. conference line
b. with call recording
c. two-level SMS send/receive plus bit.ly link to Twitter.
d. Google analytics (provided by Twimlbin – can be set at Private link)
Basic start on lead generation/conversion tracking …
13. ACH PHONE DIALER 2013
<Say>Thanks, Twilio!</Say>
Dramatic improvement.
• Virtually no support time;
• Scalability; redundancy.
• 2% decrease in “No Shows” first 3 months!
Internals:
• Architecture / rules / Gotchas /lessons learned
• 4CHAN rule – protect against hijacking, don‟t let it
become evil SPAM machine.
• Triggers in API for monitoring real-time.
• The “press 1” on voicemail incident.
• Static TWIml versus web handler.
• READ IT: https://www.twilio.com/docs/security
PS: With 1,000 visits/day a 2% decrease is a major increase in utilization, health outcomes and lost
revenue.
14. PS: Some interesting Twilio use-cases. The Parkinson‟s project is an excellent
example of thinking outside the “this is for phone or text reminders” box!
All three have “case studies” at Twilio.com and plenty of other pub online.
http://bumblephone.com
Protect kid‟s online / phone
http://www.wix.com/
CRM/Call center integration
http://parkinsonsvoice.org/ (Wow!)
Watch their TED video on homepage. Amazing.
http://bumblephone.com
http://www.wix.com/
http://parkinsonsvoice.org/
15. Twilio CookBook ($18 on Kindle, Amazon ~ $29)
• Examples are PHP + MySQL +PDO. Should be easy enough for non-PHP
devs to port.
• PHP code is elementary for experienced PHP‟ers, but check it out for Twilio
ideas. At least the table o‟ contents.
Pluralsight 2 hour .NET Twilio course.
Good stuff, even for non-.NET folks. Free-trial account can download the MVC
code (3 projects worth).
Twilio.com: Best source. Go to API docs, Quickstarts, How-To‟s
Google: “devin rader twilio for .NET developers” = 7 part series covering
libraries, Webforms, MVC, building an IVR…
http://offlineclassroom.com/welcome/
• Examples and simple apps that can be extended.
• Main page offers OpenVBX training for $20.
• Seems like a bargain if you need a kickstart.
• If you want to white-label OpenVBX this is a great place to start.
16. OpenVBX - openvbx.org
POST SESSION SLIDE
• Twilio started, open-source PHP using CodeIgniter.
• Mod it, create your own plugins, install community plugins, etc.
• Not supported by Twilio, recent development slowed down (GitHub) but
being used by a lot of devs as basis for white-labeled customer solutions
and you can find support/forum help if work at it.
• This is a great place to learn more: PHP, CodeIgniter, Twilio. Search
Freelancer.com, etc. you‟ll find requests for paid dev help with OpenVBX
and for requests to port the “work flow” features from OpenVBX to other
types of applications.
My OpenVBX running on Windows Azure Ubuntu VM
Make calls, SMS in the browser.
Set up IVRs, Conference lines, VOICE/SMS routing, etc.
Small business with “big boy” telecom features for customers,
employees, etc.
Remember offlineclassroom.com training offer.
17. OpenVBX continued:
POST SESSION SLIDE
Call flows like above can be voice/sms and include routing to individual users
or groups in OpenVBX. For example: (step 2) “Call Sales and connect” could ring
everyone in group and connect this call to first sales rep that answers.
18. Contact me here if:
• You build something (love to hear about it )
• Need help / have questions
• Want to hire
LinkedIn / Twitter
@stewartwhaley
Twitter
@LogiCurrent
stewart@logicurrent.com
whaleysa@archildrens.org
stewartwhaley@hotmail.com
https://www.twilio.com/doers/stewart-whaley