module Signalwire::Relay::Calling::CallConvenienceMethods

Public Instance Methods

play_audio(url_p = nil, volume_p = nil, **args) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 3
def play_audio(url_p = nil, volume_p = nil, **args)
  url = args.delete(:url)
  volume = args.delete(:volume)
  set_parameters(binding, %i{url volume}, %i{url})

  play(play: audio_payload(url), volume: volume)
end
play_audio!(url_p = nil, volume_p = nil, **args) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 11
def play_audio!(url_p = nil, volume_p = nil, **args)
  url = args.delete(:url)
  volume = args.delete(:volume)
  set_parameters(binding, %i{url volume}, %i{url})

  play!(play: audio_payload(url), volume: volume)
end
play_ringtone(name:, duration: nil) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 38
def play_ringtone(name:, duration: nil)
  play ringtone_payload(name, duration)
end
play_ringtone!(name:, duration: nil) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 42
def play_ringtone!(name:, duration: nil)
  play ringtone_payload(name, duration)
end
play_silence(duration) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 19
def play_silence(duration)
  play silence_payload(duration)
end
play_silence!(duration) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 23
def play_silence!(duration)
  play! silence_payload(duration)
end
play_tts(text_p=nil, language_p=Relay::DEFAULT_LANGUAGE, gender_p=Relay::DEFAULT_GENDER, volume_p=nil, text: nil, language: Relay::DEFAULT_LANGUAGE, gender: Relay::DEFAULT_GENDER, volume: nil) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 27
def play_tts(text_p=nil, language_p=Relay::DEFAULT_LANGUAGE, gender_p=Relay::DEFAULT_GENDER, volume_p=nil, text: nil, language: Relay::DEFAULT_LANGUAGE, gender: Relay::DEFAULT_GENDER, volume: nil)
  set_parameters(binding, %i{text language gender volume}, %i{text})

  play play: tts_payload(text, language, gender), volume: volume
end
play_tts!(text_p=nil, language_p=Relay::DEFAULT_LANGUAGE, gender_p=Relay::DEFAULT_GENDER, text: nil, language: Relay::DEFAULT_LANGUAGE, gender: Relay::DEFAULT_GENDER, volume: nil) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 33
def play_tts!(text_p=nil, language_p=Relay::DEFAULT_LANGUAGE, gender_p=Relay::DEFAULT_GENDER, text: nil, language: Relay::DEFAULT_LANGUAGE, gender: Relay::DEFAULT_GENDER, volume: nil)
  set_parameters(binding, %i{text language gender volume}, %i{text})
  play! tts_payload(text, language, gender), volume: volume
end
prompt_audio(collect_p = nil, url_p = nil, volume_p=nil, **args) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 46
def prompt_audio(collect_p = nil, url_p = nil, volume_p=nil, **args)
  collect = args.delete(:collect)
  url = args.delete(:url)
  volume = args.delete(:volume)
  collect = compile_collect_arguments(args) if collect.nil? && collect_p.nil?
  set_parameters(binding, %i{collect url volume}, %i{collect url})

  prompt(collect: collect, play: audio_payload(url), volume: volume)
end
prompt_audio!(collect_p = nil, url_p = nil, volume_p=nil, **args) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 56
def prompt_audio!(collect_p = nil, url_p = nil, volume_p=nil, **args)
  collect = args.delete(:collect)
  url = args.delete(:url)
  volume = args.delete(:volume)
  collect = compile_collect_arguments(args) if collect.nil? && collect_p.nil?
  set_parameters(binding, %i{collect url volume}, %i{collect url})

  prompt!(collect: collect, play: audio_payload(url), volume: volume)
end
prompt_ringtone(collect: nil, name:, duration: nil, **args) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 109
def prompt_ringtone(collect: nil, name:, duration: nil, **args)
  collect = compile_collect_arguments(args) if collect.nil?
  prompt(collect: collect, play: ringtone_payload(name, duration))
end
prompt_ringtone!(collect: nil, name:, duration: nil, **args) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 114
def prompt_ringtone!(collect: nil, name:, duration: nil, **args)
  collect = compile_collect_arguments(args) if collect.nil?
  prompt!(collect: collect, play: ringtone_payload(name, duration))
end
prompt_silence(collect_p = nil, duration_p = nil, **args) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 66
def prompt_silence(collect_p = nil, duration_p = nil, **args)
  collect = args.delete(:collect)
  duration = args.delete(:duration)
  collect = compile_collect_arguments(args) if collect.nil? && collect_p.nil?
  set_parameters(binding, %i{collect duration}, %i{collect duration})

  prompt(collect: collect, play: silence_payload(duration))
end
prompt_silence!(collect_p = nil, duration_p = nil, **args) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 75
def prompt_silence!(collect_p = nil, duration_p = nil, **args)
  collect = args.delete(:collect)
  duration = args.delete(:duration)
  collect = compile_collect_arguments(args) if collect.nil? && collect_p.nil?
  set_parameters(binding, %i{collect duration}, %i{collect duration})

  prompt!(collect: collect, play: silence_payload(duration))
end
prompt_tts(collect_p = nil, text_p = nil, volume_p=nil, language_p=Relay::DEFAULT_LANGUAGE, gender_p=Relay::DEFAULT_GENDER, **args) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 84
def prompt_tts(collect_p = nil, text_p = nil, volume_p=nil, language_p=Relay::DEFAULT_LANGUAGE, gender_p=Relay::DEFAULT_GENDER, **args)
  collect = args.delete(:collect)
  text = args.delete(:text)
  volume = args.delete(:volume)
  language = args.delete(:language) || Relay::DEFAULT_LANGUAGE
  gender = args.delete(:gender) || Relay::DEFAULT_GENDER
  collect = compile_collect_arguments(args) if collect.nil? && collect_p.nil?

  set_parameters(binding, %i{collect text language gender volume}, %i{collect text})
  prompt(collect: collect, play: tts_payload(text, language, gender), volume: volume)
end
prompt_tts!(collect_p = nil, text_p = nil, volume_p=nil, language_p=Relay::DEFAULT_LANGUAGE, gender_p=Relay::DEFAULT_GENDER, **args) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 96
def prompt_tts!(collect_p = nil, text_p = nil, volume_p=nil, language_p=Relay::DEFAULT_LANGUAGE, gender_p=Relay::DEFAULT_GENDER, **args)
  collect = args.delete(:collect)
  text = args.delete(:text)
  volume = args.delete(:volume)
  language = args.delete(:language) || Relay::DEFAULT_LANGUAGE
  gender = args.delete(:gender) || Relay::DEFAULT_GENDER
  collect = compile_collect_arguments(args) if collect.nil? && collect_p.nil?

  set_parameters(binding, %i{collect text language gender volume}, %i{collect text})

  prompt!(collect: collect, play: tts_payload(text, language, gender), volume: volume)
end
wait_for_answered() click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 123
def wait_for_answered
  wait_for(Relay::CallState::ANSWERED)
end
wait_for_ended() click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 131
def wait_for_ended
  wait_for(Relay::CallState::ENDED)
end
wait_for_ending() click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 127
def wait_for_ending
  wait_for(Relay::CallState::ENDING)
end
wait_for_ringing() click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 119
def wait_for_ringing
  wait_for(Relay::CallState::RINGING)
end

Private Instance Methods

audio_payload(url) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 137
def audio_payload(url)
  [{ type: "audio", params: { url: url } }]
end
ringtone_payload(name, duration) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 149
def ringtone_payload(name, duration)
  params = { name: name } 
  params[:duration] = duration if duration && duration.to_i > 0
  [{ type: "ringtone", params: params }]
end
silence_payload(duration) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 141
def silence_payload(duration)
  [{ type: "silence", params: { duration: duration } }]
end
tts_payload(text, language=Relay::DEFAULT_LANGUAGE, gender=Relay::DEFAULT_GENDER) click to toggle source
# File lib/signalwire/relay/calling/call_convenience_methods.rb, line 145
def tts_payload(text, language=Relay::DEFAULT_LANGUAGE, gender=Relay::DEFAULT_GENDER)
  [{ "type": 'tts', "params": { "text": text, "language": language, "gender": gender } }]
end