【问题标题】:Twilio Say when putting conference on holdTwilio 暂停会议时说
【发布时间】:2016-08-03 12:16:58
【问题描述】:

我可以暂停电话会议,但我希望 Twilio 在音乐开始播放之前向所有参与者说“此电话已暂停”之类的话。

我一直在尝试做这样的事情,但它不起作用:

response = Twilio::TwiML::Response.new do |r|

  # Loop over participants and print out a property for each one
  @client.account.conferences.get(@conference_sid).participants.list.each do |participant|
    participant.update(:hold => false) if !params[:hold]
    if params[:hold]
      participant.update(:hold => true)
      r.Say 'This call has been put on hold.'
    end
  end
end

有人知道如何实现吗?谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby twilio


    【解决方案1】:

    我不是 Ruby 开发人员,但我是 专家。

    除了Hold 属性,您应该将HoldUrl 属性更新为

    • 通话处于保持状态
    • 重定向到默认的 Twilio Hold Music(或创建您自己的文件)

    HoldUrl twiml 将如下所示。

    <?xml version="1.0" encoding="UTF-8"?>
    <Response>
        <Say>This call has been put on hold</Say>
        <Redirect>http://twimlets.com/holdmusic?Bucket=com.twilio.music.classical</Redirect>
    </Response>
    

    参考:Twilio documentation

    “HoldUrl”属性可让您指定播放音乐的 URL 当一个参与者被举行。 URL 可以是 MP3、WAV 或 TwiML 使用 PlaySayRedirect 的文档。

    【讨论】:

    • 尝试一下并得到这个错误:Twilio::REST::RequestError (HoldUrl is not a valid URL: &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;Response&gt;&lt;Say&gt;This call has been put on hold.&lt;/Say&gt;&lt;Redirect&gt;http://twimlets.com/holdmusic?Bucket=com.twilio.music.classical&lt;/Redirect&gt;&lt;/Response&gt;):
    • @FutoRicky 不,HoldUrl 属性值是一个 URL(您托管,例如:http://youdomain/onhold),它返回我提供给您的Twiml sn-p。
    • 是的,就是这样。感谢您的帮助!
    猜你喜欢
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 2013-11-21
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多