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

Links

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

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