2015-06-07 2 views
0

Вот сценарий:Как автоматически вызывать клиента (браузера) из конференц-звонка Twilio?

Предположим, у нас есть клиент с возможностью разрешения входящих вызовов с именем «Роджер».

Джеймс называет наш Twilio номер

conferenceName = "conftest" 
    caller_id = "+15555555555" 
    response = Twilio::TwiML::Response.new do |r| 
    r.Dial :callerId => caller_id do |d| 
     d.Client 'Roger' 
    end 
    end 

Теперь мы хотим, чтобы Роджер получить входящий вызов на своем браузере, но мы хотим, чтобы вызов конференц-вызов, а не вызов с телефона на браузер (не уверен, есть ли для этого техническое название). Как я могу связать Джеймса с Роджером в телефонной конференции?

ответ

1

Twilio разработчик евангелист здесь.

К сожалению, это не так просто, как один ответ TwiML. Что вам нужно сделать, так это отбросить Джеймса на конференцию и в то же время инициировать звонок к клиенту Роджера, который, отвечая, также бросит его в конференц-связь.

С кодом (в псевдо-Синатра формате), который будет выглядеть следующим образом:

conference_name = "conftest" 
caller_id = "+15555555555" 

# Set the Twilio number endpoint URL to /dial, this will drop James into 
# the conference and initiate the call to Roger. 
post '/dial' do 
    response = Twilio::TwiML::Response.new do |r| 
    r.Dial do |d| 
     d.Conference conference_name 
    end 
    end 
    # create a REST API client with your Account SID and Auth token 
    client = Twilio::REST::Client.new "AC123...", "XYZ456..." 
    client.calls.create from: caller_id, to: "Roger", url: "/client_dial" 
    response.to_xml 
end 

# This endpoint is the one that Twilio will hit when Roger answers the 
# client incoming call. All we need to do is drop him into the same 
# conference call. 
post "/client_dial" do 
    response = Twilio::TwiML::Response.new do |r| 
    r.Dial do |d| 
     d.Conference conference_name 
    end 
    end 
    response.to_xml 
end 

Позвольте мне знать, если это помогает!

+0

yep! что я видел это раньше. Проводил ночь с идентичным решением: P –

+0

Ha! Извините, мне потребовалось некоторое время, чтобы ответить! Рад, что вы все отсортированы. – philnash

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