3. Why voice?
•Many more people have access to a telephone than
have access to the internet
4. Why voice?
•Many more people have access to a telephone than
have access to the internet
•Many people still prefer voice-based interactions
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
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
7. But wait...
telephony is HARD right??
Photo by Joseph A. Carr from http://en.wikipedia.org/wiki/File:JT_Switchboard_770x540.jpg
13. A voice application development
framework
Independent from, but compatible
with, Rails
14. A voice application development
framework
Independent from, but compatible
with, Rails
Voice applications the Ruby Way
15.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
53. Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
•Rich inter-call operation within the process
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
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
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
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
60. A (contrived) example problem
•Everyone loves a spontaneous conference call
•Getting people in is tricky
61. A (contrived) example problem
•Everyone loves a spontaneous conference call
•Getting people in is tricky
•Not everyone likes the phone ringing
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
66. A solution
•Simple rails app for managing contacts
•Select contacts to call
•System asks contacts via Jabber if they are available
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
74. Adhearsion 2.0
• The next major evolution of Adhearsion
• Many improvements including:
75. Adhearsion 2.0
• The next major evolution of Adhearsion
• Many improvements including:
• Truly cross-platform (Asterisk, Tropo & Rayo)
76. Adhearsion 2.0
• The next major evolution of Adhearsion
• Many improvements including:
• Truly cross-platform (Asterisk, Tropo & Rayo)
• Core architecture overhaul
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
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
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
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