The Future of Adhearson

242 views
178 views

Published on

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
242
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

The Future of Adhearson

  1. 1. The future of Adhearsion Ben Klang, Project Leader Ben Langfeld, Core Team
  2. 2. Goals for AdhearsionConf 2012
  3. 3. Goals for AdhearsionConf 2012• Application portability across 3 distinct platforms
  4. 4. Goals for AdhearsionConf 2012• Application portability across 3 distinct platforms• 100 attendees
  5. 5. Goals for AdhearsionConf 2012• Application portability across 3 distinct platforms• 100 attendees• 50 plugins on ahnhub.com
  6. 6. Goals for AdhearsionConf 2012• Application portability across 3 distinct platforms• 100 attendees• 50 plugins on ahnhub.com• 10 new core contributors
  7. 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. 8. Adhearsion 2.0
  9. 9. Adhearsion 2.0• The next major evolution of Adhearsion
  10. 10. Adhearsion 2.0• The next major evolution of Adhearsion• Many improvements including:
  11. 11. Adhearsion 2.0• The next major evolution of Adhearsion• Many improvements including: • Core architecture overhaul
  12. 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. 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. 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. 15. Adhearsion 2.0 continued
  16. 16. Adhearsion 2.0 continued• Overhaul of the component system
  17. 17. Adhearsion 2.0 continued• Overhaul of the component system • Renaming to ‘plugins’
  18. 18. Adhearsion 2.0 continued• Overhaul of the component system • Renaming to ‘plugins’ • Railties-like modular hooks into the core system
  19. 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. 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. 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. 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. 23. How do we get there?
  24. 24. Punchblock
  25. 25. Punchblock• Low level telephony platform abstraction library
  26. 26. Punchblock• Low level telephony platform abstraction library • Asterisk (+ SCF in the future)
  27. 27. Punchblock• Low level telephony platform abstraction library • Asterisk (+ SCF in the future) • Rayo (Voxeo Prism today; tomorrow the world)
  28. 28. Punchblock• Low level telephony platform abstraction library • Asterisk (+ SCF in the future) • Rayo (Voxeo Prism today; tomorrow the world) • FreeSWITCH?
  29. 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. 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. 31. Adhearsion on Punchblock
  32. 32. Adhearsion on Punchblock• Extraction of all Asterisk-specific code from Adhearsion into Punchblock
  33. 33. Adhearsion on Punchblock• Extraction of all Asterisk-specific code from Adhearsion into Punchblock• A consistent call control API for Adhearsion applications
  34. 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. 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. 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. 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. 38. API Changes
  39. 39. API Changes• The dialplan DSL will have some modifications, but will be mostly backward compatible
  40. 40. API Changes• The dialplan DSL will have some modifications, but will be mostly backward compatible• #join -> #conference
  41. 41. API Changes• The dialplan DSL will have some modifications, but will be mostly backward compatible• #join -> #conference• Parameters may change slightly
  42. 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. 43. Ruby version support
  44. 44. Ruby version support• CRuby 1.9+ - yes
  45. 45. Ruby version support• CRuby 1.9+ - yes• JRuby 1.6+ - yes
  46. 46. Ruby version support• CRuby 1.9+ - yes• JRuby 1.6+ - yes• Rubinius 2.0 - yes
  47. 47. Ruby version support• CRuby 1.9+ - yes• JRuby 1.6+ - yes• Rubinius 2.0 - yes• Ruby 1.8 - no
  48. 48. Adhearsion really far out
  49. 49. Adhearsion really far out• Adhearsion 1.x - Asterisk applications
  50. 50. Adhearsion really far out• Adhearsion 1.x - Asterisk applications• Adhearsion 2.x - Voice applications
  51. 51. Adhearsion really far out• Adhearsion 1.x - Asterisk applications• Adhearsion 2.x - Voice applications• Adhearsion 3.x - Real-time communications applications
  52. 52. Questions for you
  53. 53. Questions for you• How important is scaling Adhearsion across multiple back-ends (1 Adhearsion to every 5 Asterisk)?
  54. 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. 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. 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. 57. Questions?
  58. 58. adhearsion.com @Adhearsion

×