Build Status

Matrioska

Matrioska is an Adhearsion plugin for running in-call apps at the press of a DTMF.

By mapping controllers or blocks to the desired applications, a listener object waits for DTMF and reacts by executing the specified payload.

Usage Example

# inside your controller
runner = Matrioska::AppRunner.new call
runner.map_app 3 do
  logger.info "hi there!"
end
runner.map_app 5, AppController

runner.start

Using local and remote apps with at the same time with a parallel dial

# inside your controller
dial_with_apps ['user/userb'] do |dial|
  local do |runner|
    runner.map_app '1' do
      say 'Gosh you sound stunning today leg a'
    end
  end

  remote do |runner|
    runner.map_app '2' do
      say 'Gosh you sound stunning today leg b'
    end
  end
end

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with Rakefile, version, or history.
    • If you want to have your own version, that is fine but bump version in a commit by itself so I can ignore when I pull
  • Send me a pull request. Bonus points for topic branches.

Credits

Original author: Luca Pradovera

Developed by Mojo Lingo in partnership with RingPlus.

Thanks to RingPlus for ongoing sponsorship of Matrioska.

Copyright (c) 2013 Adhearsion Foundation Inc. MIT license (see LICENSE for details).