class Signalwire::Relay::Calling::ControlComponent

Public Instance Methods

control_id() click to toggle source
# File lib/signalwire/relay/calling/control_component.rb, line 7
def control_id
  @control_id ||= SecureRandom.uuid
end
execute_subcommand(suffix, result_klass, extra_params = {}) click to toggle source
# File lib/signalwire/relay/calling/control_component.rb, line 30
def execute_subcommand(suffix, result_klass, extra_params = {})
  @call.relay_execute execute_params('.stop', extra_params) do |event, outcome|
    succeeded = outcome == :success
    terminate(event) unless succeeded

    return result_klass.new(succeeded)
  end
end
inner_params() click to toggle source
# File lib/signalwire/relay/calling/control_component.rb, line 11
def inner_params
  {
    nodeid: @call.node_id,
    callid: @call.id,
    control_id: control_id,
    params: payload
  }
end
setup_handlers() click to toggle source
# File lib/signalwire/relay/calling/control_component.rb, line 20
def setup_handlers
  @call.on :event, event_type: event_type, control_id: control_id do |evt|
    notification_handler(evt)
  end
end
stop() click to toggle source
# File lib/signalwire/relay/calling/control_component.rb, line 26
def stop
  execute_subcommand '.stop', Signalwire::Relay::Calling::StopResult
end