2016-08-03 3 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 в

  • Say, что вызов был удержан
  • Перенаправление по умолчанию Twilio Удержание музыки на (или создать свой собственный файл)

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

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: Этот вызов был поставлен на удержание http://twimlets.com/holdmusic?Bucket=com.twilio.music.classical). ' – FutoRicky

+0

@FutoRicky Нет,' Значение атрибута HoldUrl' - это URL-адрес (который вы размещаете, например: 'http: // youdomain/onhold'), который возвращает Фрагмент 'Twiml', который я вам предоставил. –

+0

Yup, вот и все. Спасибо за вашу помощь! – FutoRicky

Смежные вопросы