Your SlideShare is downloading. ×

The Future of Adhearson

126

Published on

The Future of Adhearsion presented by Ben Klang and Ben Langfeld of Mojo Lingo, at AdhearsionConf 2011

The Future of Adhearsion presented by Ben Klang and Ben Langfeld of Mojo Lingo, at AdhearsionConf 2011

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
126
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. The future of Adhearsion Ben Klang, Project Leader Ben Langfeld, Core Team
  • 2. Goals for AdhearsionConf 2012
  • 3. Goals for AdhearsionConf 2012• Application portability across 3 distinct platforms
  • 4. Goals for AdhearsionConf 2012• Application portability across 3 distinct platforms• 100 attendees
  • 5. Goals for AdhearsionConf 2012• Application portability across 3 distinct platforms• 100 attendees• 50 plugins on ahnhub.com
  • 6. Goals for AdhearsionConf 2012• Application portability across 3 distinct platforms• 100 attendees• 50 plugins on ahnhub.com• 10 new core contributors
  • 7. Goals for AdhearsionConf 2012• Application portability across 3 distinct platforms• 100 attendees• 50 plugins on ahnhub.com• 10 new core contributors• 1 new major version
  • 8. Adhearsion 2.0
  • 9. Adhearsion 2.0• The next major evolution of Adhearsion
  • 10. Adhearsion 2.0• The next major evolution of Adhearsion• Many improvements including:
  • 11. Adhearsion 2.0• The next major evolution of Adhearsion• Many improvements including: • Core architecture overhaul
  • 12. Adhearsion 2.0• The next major evolution of Adhearsion• Many improvements including: • Core architecture overhaul • A reduction in internal complexity and line-count
  • 13. Adhearsion 2.0• The next major evolution of Adhearsion• Many improvements including: • Core architecture overhaul • A reduction in internal complexity and line-count • Scope reduction; non-core functionality will be extracted to gems
  • 14. Adhearsion 2.0• The next major evolution of Adhearsion• Many improvements including: • Core architecture overhaul • A reduction in internal complexity and line-count • Scope reduction; non-core functionality will be extracted to gems • Further deployment, monitoring, scaling support
  • 15. Adhearsion 2.0 continued
  • 16. Adhearsion 2.0 continued• Overhaul of the component system
  • 17. Adhearsion 2.0 continued• Overhaul of the component system • Renaming to ‘plugins’
  • 18. Adhearsion 2.0 continued• Overhaul of the component system • Renaming to ‘plugins’ • Railties-like modular hooks into the core system
  • 19. Adhearsion 2.0 continued• Overhaul of the component system • Renaming to ‘plugins’ • Railties-like modular hooks into the core system • Advanced initialisation routines
  • 20. Adhearsion 2.0 continued• Overhaul of the component system • Renaming to ‘plugins’ • Railties-like modular hooks into the core system • Advanced initialisation routines• Better support for unit testing of plugins
  • 21. Adhearsion 2.0 continued• Overhaul of the component system • Renaming to ‘plugins’ • Railties-like modular hooks into the core system • Advanced initialisation routines• Better support for unit testing of plugins• Scaffolding for advanced application layouts
  • 22. Adhearsion 2.0 continued• Overhaul of the component system • Renaming to ‘plugins’ • Railties-like modular hooks into the core system • Advanced initialisation routines• Better support for unit testing of plugins• Scaffolding for advanced application layouts• Modular application constructs (voicemail, queueing, etc) as plugins
  • 23. How do we get there?
  • 24. Punchblock
  • 25. Punchblock• Low level telephony platform abstraction library
  • 26. Punchblock• Low level telephony platform abstraction library • Asterisk (+ SCF in the future)
  • 27. Punchblock• Low level telephony platform abstraction library • Asterisk (+ SCF in the future) • Rayo (Voxeo Prism today; tomorrow the world)
  • 28. Punchblock• Low level telephony platform abstraction library • Asterisk (+ SCF in the future) • Rayo (Voxeo Prism today; tomorrow the world) • FreeSWITCH?
  • 29. Punchblock• Low level telephony platform abstraction library • Asterisk (+ SCF in the future) • Rayo (Voxeo Prism today; tomorrow the world) • FreeSWITCH?• Mirrors Rack for HTTP
  • 30. Punchblock• Low level telephony platform abstraction library • Asterisk (+ SCF in the future) • Rayo (Voxeo Prism today; tomorrow the world) • FreeSWITCH?• Mirrors Rack for HTTP• Designed to be the basis of higher level frameworks, not for end-use to build applications
  • 31. Adhearsion on Punchblock
  • 32. Adhearsion on Punchblock• Extraction of all Asterisk-specific code from Adhearsion into Punchblock
  • 33. Adhearsion on Punchblock• Extraction of all Asterisk-specific code from Adhearsion into Punchblock• A consistent call control API for Adhearsion applications
  • 34. Adhearsion on Punchblock• Extraction of all Asterisk-specific code from Adhearsion into Punchblock• A consistent call control API for Adhearsion applications• Application portability between backend platforms
  • 35. Adhearsion on Punchblock• Extraction of all Asterisk-specific code from Adhearsion into Punchblock• A consistent call control API for Adhearsion applications• Application portability between backend platforms • As long as you stay within the bounds of common functionality
  • 36. Adhearsion on Punchblock• Extraction of all Asterisk-specific code from Adhearsion into Punchblock• A consistent call control API for Adhearsion applications• Application portability between backend platforms • As long as you stay within the bounds of common functionality • Unification of events into something meaningful
  • 37. Adhearsion on Punchblock• Extraction of all Asterisk-specific code from Adhearsion into Punchblock• A consistent call control API for Adhearsion applications• Application portability between backend platforms • As long as you stay within the bounds of common functionality • Unification of events into something meaningful• Access to raw platform if you need it
  • 38. API Changes
  • 39. API Changes• The dialplan DSL will have some modifications, but will be mostly backward compatible
  • 40. API Changes• The dialplan DSL will have some modifications, but will be mostly backward compatible• #join -> #conference
  • 41. API Changes• The dialplan DSL will have some modifications, but will be mostly backward compatible• #join -> #conference• Parameters may change slightly
  • 42. API Changes• The dialplan DSL will have some modifications, but will be mostly backward compatible• #join -> #conference• Parameters may change slightly• On release of Adhearsion 2.0, a full changelog and migration guide will be provided
  • 43. Ruby version support
  • 44. Ruby version support• CRuby 1.9+ - yes
  • 45. Ruby version support• CRuby 1.9+ - yes• JRuby 1.6+ - yes
  • 46. Ruby version support• CRuby 1.9+ - yes• JRuby 1.6+ - yes• Rubinius 2.0 - yes
  • 47. Ruby version support• CRuby 1.9+ - yes• JRuby 1.6+ - yes• Rubinius 2.0 - yes• Ruby 1.8 - no
  • 48. Adhearsion really far out
  • 49. Adhearsion really far out• Adhearsion 1.x - Asterisk applications
  • 50. Adhearsion really far out• Adhearsion 1.x - Asterisk applications• Adhearsion 2.x - Voice applications
  • 51. Adhearsion really far out• Adhearsion 1.x - Asterisk applications• Adhearsion 2.x - Voice applications• Adhearsion 3.x - Real-time communications applications
  • 52. Questions for you
  • 53. Questions for you• How important is scaling Adhearsion across multiple back-ends (1 Adhearsion to every 5 Asterisk)?
  • 54. Questions for you• How important is scaling Adhearsion across multiple back-ends (1 Adhearsion to every 5 Asterisk)?• Would you be interested in using a single Adhearsion application on multiple platforms simultaneously?
  • 55. Questions for you• How important is scaling Adhearsion across multiple back-ends (1 Adhearsion to every 5 Asterisk)?• Would you be interested in using a single Adhearsion application on multiple platforms simultaneously?• What features do you need in Adhearsion?
  • 56. Questions for you• How important is scaling Adhearsion across multiple back-ends (1 Adhearsion to every 5 Asterisk)?• Would you be interested in using a single Adhearsion application on multiple platforms simultaneously?• What features do you need in Adhearsion?• What would you love to be able to do with Adhearsion that you can’t today?
  • 57. Questions?
  • 58. adhearsion.com @Adhearsion

×