Sha256: cf71758082fcd500b6cdb97d70cc8d7e5f44136b47d4e72c2c67ad53c5a2208e

Contents?: true

Size: 836 Bytes

Versions: 3

Compression:

Stored size: 836 Bytes

Contents

# encoding: utf-8

require 'adhearsion/translator/asterisk/component/input_component'

module Adhearsion
  module Translator
    class Asterisk
      module Component
        class Input < Component

          include InputComponent

          def execute
            @call.send_progress
            super
            @dtmf_handler_id = register_dtmf_event_handler
          end

          private

          def register_dtmf_event_handler
            call.register_handler :ami, [{:name => 'DTMF', [:[], 'End'] => 'Yes'}, {:name => 'DTMFEnd'}] do |event|
              process_dtmf event['Digit']
            end
          end

          def unregister_dtmf_event_handler
            call.unregister_handler :ami, @dtmf_handler_id if instance_variable_defined?(:@dtmf_handler_id)
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
adhearsion-3.0.0.rc1 lib/adhearsion/translator/asterisk/component/input.rb
adhearsion-3.0.0.beta2 lib/adhearsion/translator/asterisk/component/input.rb
adhearsion-3.0.0.beta1 lib/adhearsion/translator/asterisk/component/input.rb