Post on 09-May-2015
Ben LangfeldAdhearsion Core Team
Mojo Lingo
@benlangfeldblangfeld@adhearsion.com
Talking to Rails
Saturday, 15 October 2011
Why voice?
Saturday, 15 October 2011
Why voice?
•Many more people have access to a telephone than have access to the internet
Saturday, 15 October 2011
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
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
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
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
Code Sample (comfort zone)
Saturday, 15 October 2011
Code Sample (comfort zone)
Saturday, 15 October 2011
Code Sample (comfort zone)
Saturday, 15 October 2011
Saturday, 15 October 2011
A voice application development framework
Saturday, 15 October 2011
A voice application development framework
Independent from, but compatiblewith, Rails
Saturday, 15 October 2011
A voice application development framework
Independent from, but compatiblewith, Rails
Voice applications the Ruby Way
Saturday, 15 October 2011
Saturday, 15 October 2011
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
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
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
Features•Easy-to-use DSL•Idiomatic Ruby code•Powerful Eventing System
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
Features•Easy-to-use DSL•Idiomatic Ruby code•Powerful Eventing System•Plugins to solve common problems
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
Features•Easy-to-use DSL•Idiomatic Ruby code•Powerful Eventing System•Plugins to solve common problems•A very helpful community
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
Features•Easy-to-use DSL•Idiomatic Ruby code•Powerful Eventing System•Plugins to solve common problems•A very helpful community•Sponsorship from and
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
Advanced Voice Features
Saturday, 15 October 2011
Advanced Voice Features
High-level constructs (Menus, Queues, Conferences)
Saturday, 15 October 2011
Advanced Voice Features
High-level constructs (Menus, Queues, Conferences)
DTMF gathering & voice recognition
Saturday, 15 October 2011
Advanced Voice Features
High-level constructs (Menus, Queues, Conferences)
Text-to-Speech
DTMF gathering & voice recognition
Saturday, 15 October 2011
Advanced Voice Features
High-level constructs (Menus, Queues, Conferences)
Text-to-Speech
DTMF gathering & voice recognition
Answering Machine Detection
Saturday, 15 October 2011
Advanced Voice Features
High-level constructs (Menus, Queues, Conferences)
Text-to-Speech
DTMF gathering & voice recognition
Call Progress
Answering Machine Detection
Saturday, 15 October 2011
Adhearsion Applied
Saturday, 15 October 2011
Adhearsion AppliedCall centre workflow
optimisation and integration
Saturday, 15 October 2011
Adhearsion AppliedCall centre workflow
optimisation and integration
Sales force automation
Saturday, 15 October 2011
Adhearsion AppliedCall centre workflow
optimisation and integration
Sales force automation
Conferencing applications
Saturday, 15 October 2011
Adhearsion AppliedCall centre workflow
optimisation and integration
Sales force automation
Conferencing applications
Translation services
Saturday, 15 October 2011
Adhearsion AppliedCall centre workflow
optimisation and integration
Sales force automation
Conferencing applications
Translation services
Robo-calling
Saturday, 15 October 2011
Adhearsion AppliedCall centre workflow
optimisation and integration
Sales force automation
Conferencing applications
Translation services
Polling
Robo-calling
Saturday, 15 October 2011
Adhearsion AppliedCall centre workflow
optimisation and integration
Sales force automation
Conferencing applications
Translation servicesIVR
Polling
Robo-calling
Saturday, 15 October 2011
2008
2010
2011
Adhearsion Platforms
Saturday, 15 October 2011
2008
2010
2011
Adhearsion Platforms
Saturday, 15 October 2011
2008
2010
2011
Adhearsion Platforms
Saturday, 15 October 2011
2008
2010
2011
Adhearsion Platforms
Saturday, 15 October 2011
Adhearsion Architecture
Asterisk Pros:* Run on your server* Widely Deployed* Eventing System
Cons:* Tricky to set up/Requires hardware* No TTS/ASR
Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International
Cons:* No manager events* No built-in recordings
Note: AGItate first written 1 year ago
Saturday, 15 October 2011
Adhearsion Architecture
Asterisk Pros:* Run on your server* Widely Deployed* Eventing System
Cons:* Tricky to set up/Requires hardware* No TTS/ASR
Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International
Cons:* No manager events* No built-in recordings
Note: AGItate first written 1 year ago
Saturday, 15 October 2011
Adhearsion Architecture
Asterisk Pros:* Run on your server* Widely Deployed* Eventing System
Cons:* Tricky to set up/Requires hardware* No TTS/ASR
Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International
Cons:* No manager events* No built-in recordings
Note: AGItate first written 1 year ago
Saturday, 15 October 2011
Adhearsion Architecture
Asterisk Pros:* Run on your server* Widely Deployed* Eventing System
Cons:* Tricky to set up/Requires hardware* No TTS/ASR
Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International
Cons:* No manager events* No built-in recordings
Note: AGItate first written 1 year ago
Saturday, 15 October 2011
Adhearsion Architecture
Asterisk Pros:* Run on your server* Widely Deployed* Eventing System
Cons:* Tricky to set up/Requires hardware* No TTS/ASR
Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International
Cons:* No manager events* No built-in recordings
Note: AGItate first written 1 year ago
Saturday, 15 October 2011
Adhearsion Architecture
SQL
Asterisk Pros:* Run on your server* Widely Deployed* Eventing System
Cons:* Tricky to set up/Requires hardware* No TTS/ASR
Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International
Cons:* No manager events* No built-in recordings
Note: AGItate first written 1 year ago
Saturday, 15 October 2011
Adhearsion Architecture
SQL LDAP
Asterisk Pros:* Run on your server* Widely Deployed* Eventing System
Cons:* Tricky to set up/Requires hardware* No TTS/ASR
Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International
Cons:* No manager events* No built-in recordings
Note: AGItate first written 1 year ago
Saturday, 15 October 2011
Adhearsion Architecture
XMPP/JabberSQL LDAP
Asterisk Pros:* Run on your server* Widely Deployed* Eventing System
Cons:* Tricky to set up/Requires hardware* No TTS/ASR
Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International
Cons:* No manager events* No built-in recordings
Note: AGItate first written 1 year ago
Saturday, 15 October 2011
Adhearsion Architecture
WebREST/JSON/XML
XMPP/JabberSQL LDAP
Asterisk Pros:* Run on your server* Widely Deployed* Eventing System
Cons:* Tricky to set up/Requires hardware* No TTS/ASR
Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International
Cons:* No manager events* No built-in recordings
Note: AGItate first written 1 year ago
Saturday, 15 October 2011
Why Adhearsion?
Saturday, 15 October 2011
Why Adhearsion?
•Easy code reuse
Saturday, 15 October 2011
Why Adhearsion?
•Easy code reuse•A natural DSL which is easy to write to
Saturday, 15 October 2011
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
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
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
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
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
A (contrived) example problem
Saturday, 15 October 2011
A (contrived) example problem
•Everyone loves a spontaneous conference call
Saturday, 15 October 2011
A (contrived) example problem
•Everyone loves a spontaneous conference call
•Getting people in is tricky
Saturday, 15 October 2011
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
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
A solution
Saturday, 15 October 2011
A solution
•Simple rails app for managing contacts
Saturday, 15 October 2011
A solution
•Simple rails app for managing contacts
•Select contacts to call
Saturday, 15 October 2011
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
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
Code Demo
Saturday, 15 October 2011
Saturday, 15 October 2011
Saturday, 15 October 2011
Saturday, 15 October 2011
Adhearsion 2.0
Saturday, 15 October 2011
Adhearsion 2.0• The next major evolution of Adhearsion
Saturday, 15 October 2011
Adhearsion 2.0• The next major evolution of Adhearsion
• Many improvements including:
Saturday, 15 October 2011
Adhearsion 2.0• The next major evolution of Adhearsion
• Many improvements including:
• Truly cross-platform (Asterisk, Tropo & Rayo)
Saturday, 15 October 2011
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
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
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
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
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
Adhearsion really far out
Saturday, 15 October 2011
Adhearsion really far out
•Adhearsion 1.x - Asterisk applications
Saturday, 15 October 2011
Adhearsion really far out
•Adhearsion 1.x - Asterisk applications
•Adhearsion 2.x - Voice applications
Saturday, 15 October 2011
Adhearsion really far out
•Adhearsion 1.x - Asterisk applications
•Adhearsion 2.x - Voice applications
•Adhearsion 3.x - Real-time communications
Saturday, 15 October 2011
adhearsion.com@Adhearsion
http://spkr8.com/t/8602
Questions?
Saturday, 15 October 2011