Module: Matrioska::DialWithApps

Defined in:
lib/matrioska/dial_with_apps.rb

Instance Method Summary collapse

Instance Method Details

#dial_with_apps(to, options = {}) {|dial| ... } ⇒ Object

Yields:

  • (dial)


37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/matrioska/dial_with_apps.rb', line 37

def dial_with_apps(to, options = {}, &block)
  dial = Adhearsion::CallController::Dial::ParallelConfirmationDial.new to, options, call
  yield dial

  if @local_runner_block
    local_runner = Matrioska::AppRunner.new call
    @local_runner_block.call local_runner
    local_runner.start
  end

  dial.prep_calls do |new_call|
    new_call.on_joined call do
      if @remote_runner_block
        remote_runner = Matrioska::AppRunner.new new_call
        @remote_runner_block.call remote_runner
        remote_runner.start
      end
    end
  end

  dial.track_originating_call
  dial.place_calls
  dial.await_completion
  dial.cleanup_calls
  dial.status
end

#dial_with_local_apps(to, options = {}) {|runner, dial| ... } ⇒ Object

Yields:

  • (runner, dial)


3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/matrioska/dial_with_apps.rb', line 3

def dial_with_local_apps(to, options = {}, &block)
  dial = Adhearsion::CallController::Dial::ParallelConfirmationDial.new to, options, call

  runner = Matrioska::AppRunner.new call
  yield runner, dial
  runner.start

  dial.track_originating_call
  dial.prep_calls
  dial.place_calls
  dial.await_completion
  dial.cleanup_calls
  dial.status
end

#dial_with_remote_apps(to, options = {}, &block) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/matrioska/dial_with_apps.rb', line 18

def dial_with_remote_apps(to, options = {}, &block)
  dial = Adhearsion::CallController::Dial::ParallelConfirmationDial.new to, options, call

  dial.track_originating_call

  dial.prep_calls do |new_call|
    new_call.on_joined call do
      runner = Matrioska::AppRunner.new new_call
      yield runner, dial
      runner.start
    end
  end

  dial.place_calls
  dial.await_completion
  dial.cleanup_calls
  dial.status
end