Class: AsteriskManager::ChannelEventObserver
- Inherits:
-
Object
- Object
- AsteriskManager::ChannelEventObserver
- Defined in:
- lib/asterisk-manager/channel_event_observer.rb
Instance Method Summary collapse
- #hangup(event) ⇒ Object
- #new_channel(event) ⇒ Object
- #new_state(event) ⇒ Object
- #receive_event(event) ⇒ Object
- #subscribe(event_listener) ⇒ Object
Instance Method Details
#hangup(event) ⇒ Object
33 34 35 |
# File 'lib/asterisk-manager/channel_event_observer.rb', line 33 def hangup(event) Channel.channels.delete event['Uniqueid'] end |
#new_channel(event) ⇒ Object
18 19 20 21 22 23 24 |
# 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) ⇒ Object
26 27 28 29 30 31 |
# 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) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# 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) ⇒ Object
3 4 5 |
# File 'lib/asterisk-manager/channel_event_observer.rb', line 3 def subscribe(event_listener) event_listener.subscribe self, 'Newchannel', 'Newstate', 'Hangup' end |