Module: Punchblock::Translator::Asterisk::Component::StopByRedirect

Included in:
Output
Defined in:
lib/punchblock/translator/asterisk/component/stop_by_redirect.rb

Instance Method Summary collapse

Instance Method Details

#execute_command(command) ⇒ Object



10
11
12
13
14
# File 'lib/punchblock/translator/asterisk/component/stop_by_redirect.rb', line 10

def execute_command(command)
  return super unless command.is_a?(Punchblock::Component::Stop)
  stop_by_redirect Punchblock::Event::Complete::Stop.new
  command.response = true
end

#stop_by_redirect(complete_reason) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/punchblock/translator/asterisk/component/stop_by_redirect.rb', line 16

def stop_by_redirect(complete_reason)
  component_actor = current_actor
  call.register_handler :ami, lambda { |e| e['SubEvent'] == 'Start' }, :name => 'AsyncAGI' do |event|
    component_actor.send_complete_event! complete_reason
  end
  call.redirect_back!
end