Class: AsteriskManager::CallEventObserver

Inherits:
Object
  • Object
show all
Defined in:
lib/asterisk-manager/call_event_observer.rb

Instance Method Summary collapse

Instance Method Details

#bridge(event) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/asterisk-manager/call_event_observer.rb', line 16

def bridge(event)
  channel_1        = Channel.for_unique_id(event['Uniqueid1'])
  channel_2        = Channel.for_unique_id(event['Uniqueid2'])
  channel_1.sip_id = event['Channel1']
  channel_2.sip_id = event['Channel2']
  Call.for_channel_1_and_channel_2 channel_1, channel_2
end

#receive_event(event) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/asterisk-manager/call_event_observer.rb', line 7

def receive_event(event)
  case event.type
  when 'Bridge'
    bridge(event)
  when 'Unlink'
    unlink(event)
  end
end

#subscribe(event_listener) ⇒ Object



3
4
5
# File 'lib/asterisk-manager/call_event_observer.rb', line 3

def subscribe(event_listener)
  event_listener.subscribe self, 'Bridge', 'Unlink'
end


24
25
26
# File 'lib/asterisk-manager/call_event_observer.rb', line 24

def unlink(event)
  Call.calls.delete([ Channel.for_unique_id(event['Uniqueid1']), Channel.for_unique_id(event['Uniqueid2']) ])
end