2016-08-03 80 views
0

我可以暫停電話會議,但我希望Twilio在音樂開始播放之前向所有與會者說'這個電話已暫停'。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 

任何人知道如何實現這一目標?謝謝。

回答

2

我不是Ruby開發者,但我是專家。

除了Hold屬性,你應該更新HoldUrl屬性

  • 呼叫被擱置
  • 重定向到默認Twilio保留音樂(或創建自己的文件)

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

The 'HoldUrl' attribute lets you specify a URL for music that plays when a participant is held. The URL may be an MP3, a WAV or a TwiML document that uses Play, Say or Redirect.

+0

嘗試了這一點,並正在此錯誤:'Twilio :: REST :: RequestError(HoldUrl是不是一個有效的URL:<?XML版本= 「1.0」 編碼= ? 「UTF-8」>此呼叫已被擱置 http://twimlets.com/holdmusic?Bucket=com.twilio.music.classical):' – FutoRicky

+0

@FutoRicky沒有,' HoldUrl屬性值是一個URL(你主持,例如:http:// youdomain/onhold),它返回我提供給你的Twiml片段。對, –

+0

是的,就是這樣。謝謝你的幫助! – FutoRicky