This document discusses Adhearsion, an open source framework for building voice applications using Ruby. It provides an overview of Adhearsion's features such as its easy-to-use DSL, powerful eventing system, and plugins. The document also covers Adhearsion's applications in areas like call centers, sales automation, and conferencing. It compares Adhearsion to alternatives like Asterisk and Tropo, and outlines Adhearsion's architecture including its integration with technologies like SQL, LDAP, XMPP, and web services. Finally, it presents a sample problem of organizing a spontaneous conference call and proposes a solution using Adhearsion and other technologies.
3. Why voice?
•Many more people have access to a telephone than
have access to the internet
Saturday, 15 October 2011
4. Why voice?
•Many more people have access to a telephone than
have access to the internet
•Many people still prefer voice-based interactions
Saturday, 15 October 2011
5. Why voice?
•Many more people have access to a telephone than
have access to the internet
•Many people still prefer voice-based interactions
•Voice enables a multitude of interesting use-cases
which text and images cannot
Saturday, 15 October 2011
6. Why voice?
•Many more people have access to a telephone than
have access to the internet
•Many people still prefer voice-based interactions
•Voice enables a multitude of interesting use-cases
which text and images cannot
•Because having a computer make a phone ring is
still cool
Saturday, 15 October 2011
7. But wait...
telephony is HARD right??
Photo by Joseph A. Carr from http://en.wikipedia.org/wiki/File:JT_Switchboard_770x540.jpg
Saturday, 15 October 2011
16. Features
Not just compiled down to some kind of crazy configuration, but we have full access
to both the ruby environment and the call at all times
Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc
Third largest mobile carrier in the world
Saturday, 15 October 2011
17. Features
•Easy-to-use DSL
Not just compiled down to some kind of crazy configuration, but we have full access
to both the ruby environment and the call at all times
Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc
Third largest mobile carrier in the world
Saturday, 15 October 2011
18. Features
•Easy-to-use DSL
•Idiomatic Ruby code
Not just compiled down to some kind of crazy configuration, but we have full access
to both the ruby environment and the call at all times
Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc
Third largest mobile carrier in the world
Saturday, 15 October 2011
19. Features
•Easy-to-use DSL
•Idiomatic Ruby code
Not just compiled down to some kind of crazy configuration, but we have full access
to both the ruby environment and the call at all times
•Powerful Eventing System Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc
Third largest mobile carrier in the world
Saturday, 15 October 2011
20. Features
•Easy-to-use DSL
•Idiomatic Ruby code
Not just compiled down to some kind of crazy configuration, but we have full access
to both the ruby environment and the call at all times
•Powerful Eventing System Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc
•Plugins to solve common problems
Third largest mobile carrier in the world
Saturday, 15 October 2011
21. Features
•Easy-to-use DSL
•Idiomatic Ruby code
Not just compiled down to some kind of crazy configuration, but we have full access
to both the ruby environment and the call at all times
•Powerful Eventing System Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc
•Plugins to solve common problems
•A very helpful community
Third largest mobile carrier in the world
Saturday, 15 October 2011
22. Features
•Easy-to-use DSL
•Idiomatic Ruby code
Not just compiled down to some kind of crazy configuration, but we have full access
to both the ruby environment and the call at all times
•Powerful Eventing System Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc
•Plugins to solve common problems
•A very helpful community
•Sponsorship from and
Third largest mobile carrier in the world
Saturday, 15 October 2011
30. Adhearsion Applied
Call centre workflow
optimisation and
integration
Saturday, 15 October 2011
31. Adhearsion Applied
Call centre workflow
optimisation and Sales force automation
integration
Saturday, 15 October 2011
32. Adhearsion Applied
Call centre workflow
optimisation and Sales force automation
integration
Conferencing
applications
Saturday, 15 October 2011
33. Adhearsion Applied
Call centre workflow
optimisation and Sales force automation
integration
Translation
services
Conferencing
applications
Saturday, 15 October 2011
34. Adhearsion Applied
Call centre workflow
optimisation and Sales force automation
integration
Translation
services
Conferencing
applications Robo-calling
Saturday, 15 October 2011
35. Adhearsion Applied
Call centre workflow
optimisation and Sales force automation
integration
Polling Translation
services
Conferencing
applications Robo-calling
Saturday, 15 October 2011
36. Adhearsion Applied
Call centre workflow
optimisation and Sales force automation
integration
Polling Translation
IVR services
Conferencing
applications Robo-calling
Saturday, 15 October 2011
41. Adhearsion Architecture Tropo Pros:
* Easy to set up
* Awesome TTS/ASR
* SMS & International
Cons:
Asterisk Pros: * No manager events
* Run on your server * No built-in recordings
* Widely Deployed
* Eventing System Note: AGItate first written 1
year ago
Cons:
* Tricky to set up/
Requires hardware
* No TTS/ASR
Saturday, 15 October 2011
42. Adhearsion Architecture Tropo Pros:
* Easy to set up
* Awesome TTS/ASR
* SMS & International
Cons:
Asterisk Pros: * No manager events
* Run on your server * No built-in recordings
* Widely Deployed
* Eventing System Note: AGItate first written 1
year ago
Cons:
* Tricky to set up/
Requires hardware
* No TTS/ASR
Saturday, 15 October 2011
43. Adhearsion Architecture Tropo Pros:
* Easy to set up
* Awesome TTS/ASR
* SMS & International
Cons:
Asterisk Pros: * No manager events
* Run on your server * No built-in recordings
* Widely Deployed
* Eventing System Note: AGItate first written 1
year ago
Cons:
* Tricky to set up/
Requires hardware
* No TTS/ASR
Saturday, 15 October 2011
44. Adhearsion Architecture Tropo Pros:
* Easy to set up
* Awesome TTS/ASR
* SMS & International
Cons:
Asterisk Pros: * No manager events
* Run on your server * No built-in recordings
* Widely Deployed
* Eventing System Note: AGItate first written 1
year ago
Cons:
* Tricky to set up/
Requires hardware
* No TTS/ASR
Saturday, 15 October 2011
45. Adhearsion Architecture Tropo Pros:
* Easy to set up
* Awesome TTS/ASR
* SMS & International
Cons:
Asterisk Pros: * No manager events
* Run on your server * No built-in recordings
* Widely Deployed
* Eventing System Note: AGItate first written 1
year ago
Cons:
* Tricky to set up/
Requires hardware
* No TTS/ASR
Saturday, 15 October 2011
46. Adhearsion Architecture Tropo Pros:
* Easy to set up
* Awesome TTS/ASR
* SMS & International
Cons:
Asterisk Pros: * No manager events
* Run on your server * No built-in recordings
* Widely Deployed
* Eventing System Note: AGItate first written 1
year ago
Cons:
* Tricky to set up/
Requires hardware
* No TTS/ASR
SQL
Saturday, 15 October 2011
47. Adhearsion Architecture Tropo Pros:
* Easy to set up
* Awesome TTS/ASR
* SMS & International
Cons:
Asterisk Pros: * No manager events
* Run on your server * No built-in recordings
* Widely Deployed
* Eventing System Note: AGItate first written 1
year ago
Cons:
* Tricky to set up/
Requires hardware
* No TTS/ASR
SQL LDAP
Saturday, 15 October 2011
48. Adhearsion Architecture Tropo Pros:
* Easy to set up
* Awesome TTS/ASR
* SMS & International
Cons:
Asterisk Pros: * No manager events
* Run on your server * No built-in recordings
* Widely Deployed
* Eventing System Note: AGItate first written 1
year ago
Cons:
* Tricky to set up/
Requires hardware
* No TTS/ASR
SQL LDAP XMPP/Jabber
Saturday, 15 October 2011
49. Adhearsion Architecture Tropo Pros:
* Easy to set up
* Awesome TTS/ASR
* SMS & International
Cons:
Asterisk Pros: * No manager events
* Run on your server * No built-in recordings
* Widely Deployed
* Eventing System Note: AGItate first written 1
year ago
Cons:
* Tricky to set up/
Requires hardware
* No TTS/ASR
XMPP/Jabber Web
SQL LDAP REST/JSON/XML
Saturday, 15 October 2011
52. Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
Saturday, 15 October 2011
53. Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
•Rich inter-call operation within the process
Saturday, 15 October 2011
54. Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
•Rich inter-call operation within the process
•Brings modern development practices to telephony
Saturday, 15 October 2011
55. Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
•Rich inter-call operation within the process
•Brings modern development practices to telephony
•No need for complex state-machines and constant
load on your Rails app from an HTTP-based API
Saturday, 15 October 2011
56. Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
•Rich inter-call operation within the process
•Brings modern development practices to telephony
•No need for complex state-machines and constant
load on your Rails app from an HTTP-based API
•Runs on Asterisk, so can integrate with an existing
PBX
Saturday, 15 October 2011
57. Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
•Rich inter-call operation within the process
•Brings modern development practices to telephony
•No need for complex state-machines and constant
load on your Rails app from an HTTP-based API
•Runs on Asterisk, so can integrate with an existing
PBX
•Adhearsion democratises telephony development
Saturday, 15 October 2011
59. A (contrived) example problem
•Everyone loves a spontaneous conference call
Saturday, 15 October 2011
60. A (contrived) example problem
•Everyone loves a spontaneous conference call
•Getting people in is tricky
Saturday, 15 October 2011
61. A (contrived) example problem
•Everyone loves a spontaneous conference call
•Getting people in is tricky
•Not everyone likes the phone ringing
Saturday, 15 October 2011
62. A (contrived) example problem
•Everyone loves a spontaneous conference call
•Getting people in is tricky
•Not everyone likes the phone ringing
•Not everyone is available
Saturday, 15 October 2011
64. A solution
•Simple rails app for managing contacts
Saturday, 15 October 2011
65. A solution
•Simple rails app for managing contacts
•Select contacts to call
Saturday, 15 October 2011
66. A solution
•Simple rails app for managing contacts
•Select contacts to call
•System asks contacts via Jabber if they are available
Saturday, 15 October 2011
67. A solution
•Simple rails app for managing contacts
•Select contacts to call
•System asks contacts via Jabber if they are available
•Will read apologies via Jabber into the conference
Saturday, 15 October 2011
73. Adhearsion 2.0
• The next major evolution of Adhearsion
Saturday, 15 October 2011
74. Adhearsion 2.0
• The next major evolution of Adhearsion
• Many improvements including:
Saturday, 15 October 2011
75. Adhearsion 2.0
• The next major evolution of Adhearsion
• Many improvements including:
• Truly cross-platform (Asterisk, Tropo & Rayo)
Saturday, 15 October 2011
76. Adhearsion 2.0
• The next major evolution of Adhearsion
• Many improvements including:
• Truly cross-platform (Asterisk, Tropo & Rayo)
• Core architecture overhaul
Saturday, 15 October 2011
77. Adhearsion 2.0
• The next major evolution of Adhearsion
• Many improvements including:
• Truly cross-platform (Asterisk, Tropo & Rayo)
• Core architecture overhaul
• A reduction in internal complexity and line-count
Saturday, 15 October 2011
78. Adhearsion 2.0
• The next major evolution of Adhearsion
• Many improvements including:
• Truly cross-platform (Asterisk, Tropo & Rayo)
• Core architecture overhaul
• A reduction in internal complexity and line-count
• Scope reduction
Saturday, 15 October 2011
79. Adhearsion 2.0
• The next major evolution of Adhearsion
• Many improvements including:
• Truly cross-platform (Asterisk, Tropo & Rayo)
• Core architecture overhaul
• A reduction in internal complexity and line-count
• Scope reduction
• Overhaul of the plugin system
Saturday, 15 October 2011
80. Adhearsion 2.0
• The next major evolution of Adhearsion
• Many improvements including:
• Truly cross-platform (Asterisk, Tropo & Rayo)
• Core architecture overhaul
• A reduction in internal complexity and line-count
• Scope reduction
• Overhaul of the plugin system
• Modular application constructs (voicemail, queueing, etc) as plugins
Saturday, 15 October 2011