When developing an Asterisk telephony application most developers that interact with Asterisk do so by using AGI alone. When AMI is used, it is usually just for spooling up outgoing calls. But when used together, AMI and AGI deliver powerful and flexible control over every call in the system. In this session, we will look at real life examples of applications that blend the use of AGI and AMI to do things you probably did not know you could do with Asterisk. Using the Adhearsion framework, we will demonstrate how you can build your own powerful telephony applications.
Presented by Ben Klang, Mojo Lingo at AstriCon 2011 in Denver, CO.
4. What is Adhearsion?
•Adhesion you can hear – glueing the voice layer to
the rest of the world.
•Voice Application Development Framework
5. What is Adhearsion?
•Adhesion you can hear – glueing the voice layer to
the rest of the world.
•Voice Application Development Framework
•Open Source
6. What is Adhearsion?
•Adhesion you can hear – glueing the voice layer to
the rest of the world.
•Voice Application Development Framework
•Open Source
•Ruby – integrates easily with Rails, but not
dependent
7. What is Adhearsion?
•Adhesion you can hear – glueing the voice layer to
the rest of the world.
•Voice Application Development Framework
•Open Source
•Ruby – integrates easily with Rails, but not
dependent
•Platform agnostic – runs anywhere Ruby or Java
(JRuby) does
8. What is Adhearsion?
•Adhesion you can hear – glueing the voice layer to
the rest of the world.
•Voice Application Development Framework
•Open Source
•Ruby – integrates easily with Rails, but not
dependent
•Platform agnostic – runs anywhere Ruby or Java
(JRuby) does
•Runs small, scales large
21. Adhearsion Applied (continued)
•Epic scale public art projects
•Video games on billboards
•Flying helicopters
•Biometric identity verification (Green Zone, Baghdad)
22. Adhearsion Applied (continued)
•Epic scale public art projects
•Video games on billboards
•Flying helicopters
•Biometric identity verification (Green Zone, Baghdad)
•Wardialing*
23. Adhearsion Applied (continued)
•Epic scale public art projects
•Video games on billboards
•Flying helicopters
•Biometric identity verification (Green Zone, Baghdad)
•Wardialing*
•* This may be illegal. Don’t do it.
33. Call Control Power Tools
•Using AMI to interrupt blocking operations (such as
Dial)
•Dynamically changing Asterisk configuration
•Adhearsion Console
37. Interrupting Blocking Operations
•Your caller wants to place a call through your system
•The way to do that is the Dial() application
•The caller wants to be able to enter “##” to end the
call
38. Interrupting Blocking Operations
•Your caller wants to place a call through your system
•The way to do that is the Dial() application
•The caller wants to be able to enter “##” to end the
call
•The caller needs to do something else after the call
completes
42. Runtime Asterisk Configuration
Changes
•You want to allow your callers to specify a MeetMe
room
•The first caller should create the conference
•The first caller should specify a PIN
43. Runtime Asterisk Configuration
Changes
•You want to allow your callers to specify a MeetMe
room
•The first caller should create the conference
•The first caller should specify a PIN
•The room should persist, even after everyone leaves
44. Runtime Asterisk Configuration
Changes
•You want to allow your callers to specify a MeetMe
room
•The first caller should create the conference
•The first caller should specify a PIN
•The room should persist, even after everyone leaves
•Web UI is not an option here
46. Questions...
http://
mojolingo.com
adhearsion.com @bklang
@Adhearsion bklang@mojolingo.co
m
http://spkr8.com/t/8816
Editor's Notes
\n
Predictable progress and safer deployments thanks to Ruby best practices like TDD, Capistrano, Agile; eminently readable code\nTell stories about our successes with startups and MVP\n
Predictable progress and safer deployments thanks to Ruby best practices like TDD, Capistrano, Agile; eminently readable code\nTell stories about our successes with startups and MVP\n
Predictable progress and safer deployments thanks to Ruby best practices like TDD, Capistrano, Agile; eminently readable code\nTell stories about our successes with startups and MVP\n
Predictable progress and safer deployments thanks to Ruby best practices like TDD, Capistrano, Agile; eminently readable code\nTell stories about our successes with startups and MVP\n
Predictable progress and safer deployments thanks to Ruby best practices like TDD, Capistrano, Agile; eminently readable code\nTell stories about our successes with startups and MVP\n
Predictable progress and safer deployments thanks to Ruby best practices like TDD, Capistrano, Agile; eminently readable code\nTell stories about our successes with startups and MVP\n
Predictable progress and safer deployments thanks to Ruby best practices like TDD, Capistrano, Agile; eminently readable code\nTell stories about our successes with startups and MVP\n