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