class AsteriskManager::ChannelEventObserver
Public Instance Methods
hangup(event)
click to toggle source
# File lib/asterisk-manager/channel_event_observer.rb, line 33 def hangup(event) Channel.channels.delete event['Uniqueid'] end
new_channel(event)
click to toggle source
# File lib/asterisk-manager/channel_event_observer.rb, line 18 def new_channel(event) channel = Channel.for_unique_id(event['Uniqueid']) channel.sip_id = event['Channel'] channel.state = event['ChannelStateDesc'] channel.caller_id_number = event['CallerIDNum'] channel.caller_id_name = event['CallerIDName'] end
new_state(event)
click to toggle source
# File lib/asterisk-manager/channel_event_observer.rb, line 26 def new_state(event) channel = Channel.for_unique_id(event['Uniqueid']) channel.state = event['ChannelStateDesc'] channel.caller_id_number = event['CallerIDNum'] channel.caller_id_name = event['CallerIDName'] end
receive_event(event)
click to toggle source
# File lib/asterisk-manager/channel_event_observer.rb, line 7 def receive_event(event) case event.type when 'Newchannel' new_channel(event) when 'Newstate' new_state(event) when 'Hangup' hangup(event) end end
subscribe(event_listener)
click to toggle source
# File lib/asterisk-manager/channel_event_observer.rb, line 3 def subscribe(event_listener) event_listener.subscribe self, 'Newchannel', 'Newstate', 'Hangup' end