Call control is being reinvented in several exciting new ways. In this talk, we explore existing models for building voice applications using the Asterisk Dialplan, Asterisk AGI/AMI, and how new in-cloud voice APIs are reinventing the way that build, host, and scale voice applications.
such as in-cloud dialplan API with Twilio. Taking a programmer's perspective, we highlight desirable dialplan properties such as simplicity, automatic scalability, integration with existing databases and servers, and separation of business logic from telephony logic. We also explore the tradeoffs that Twilio has made to simplify the experience of building voice applications, including the concept of encapsulating the state of a voice call in a URL. We conclude with thoughts about how Asterisk could be streamlined for in-cloud dialplan APIs and the services that support them.
5. Maintained by your Voice Guru
Asterisk
Native scripting language
Dialplan written by your Voice Guru
Application
Asterisk Dialplan
Language: Native Scripting Where: Local on call router
6. IP
Asterisk AGI/AMI
Java/C/Ruby...
Application
Asterisk AGI/AMI
Language: AGI/AMI API + Where: Remote via IP
Java/C/Ruby/Python/Etc
7. Maintained by your Voice Guru
IP
Asterisk AGI/AMI
Java/C/Ruby...
Application
Asterisk AGI/AMI
Language: AGI/AMI API + Where: Remote via IP
Java/C/Ruby/Python/Etc
8. Maintained by your Programmer
IP
Asterisk AGI/AMI
Java/C/Ruby...
Application
Asterisk AGI/AMI
Language: AGI/AMI API + Where: Remote via IP
Java/C/Ruby/Python/Etc
10. Better but...
IP
Asterisk
Large API with "lite" documentation. AGI/AMI
The distinction between AGI/AMI can
be confusing.
Tight integration between call router
and voice app: direct socket Java/C/Ruby...
connections Application
SCALING=HARD
Asterisk AGI/AMI
Language: AGI/AMI API + Where: Remote via IP
Java/C/Ruby/Python/Etc
31. Put the Voice Guru in the Cloud
1 Asterisk in the cloud
Adopt a standards-based web API
2 HTTP/XML/REST
Leverage existing web infrastructure
3 Apache/Tomcat/AWS/AppEngine/Azure/Heroku
Let the cloud handling scaling
4 1-10,000’s simultaneous calls
Don’t break request/response model
5 Build libraries for PHP/Python/Java/C#/Ruby etc.
32. ci
-
n
to
X
re
P B
Click-
fe
n y
n
a
o
p
R
C
IV m
Co
Voice Applications
The Cloud
Asterisk