使用twilio am制作会议室。我成功地在两个用户之间创建了会议。但我无法从twilio获得会议席卷。任何人都可以帮助我。
twiml1 = Twilio::TwiML::Response.new do |r|
r.Say "You have joined the conference."
r.Dial do |d|
d.Conference "#{conference_title}",
waitUrl: " ",
muted: "false",
startConferenceOnEnter: "true",
endConferenceOnExit: "true",
maxParticipants: 5,
end
end
这是在两个用户之间连接会议的方式。
答案 0 :(得分:0)
Twilio开发者传道者在这里。
此时您没有获得会议SID的参数,因为您可以通过返回此TwiML来创建会议。相反,还有其他几种方法可以获得SID。
使用statusCallback
attribute元素上的<Conference>
,您可以设置一个网址,以接收各种关于会议的webhook事件(使用statusCallbackEvent
attribute选择这些事件)。您可以侦听开始事件,并且您将在Webhook请求中收到会议SID作为参数。
否则,您可以对REST API Conference resource进行API调用。
您可以按照提供的名称搜索会议。例如,您可以search for the conference called "MyRoom"使用以下Ruby(如果安装了twilio-ruby gem):
@client = Twilio::REST::Client.new YOUR_ACCOUNT_SID, YOUR_AUTH_TOKEN
# Loop over conferences and print out the SID for each one
@client.account.conferences.list({
:status => "in-progress",
:friendly_name => "MyRoom"}).each do |conference|
puts conference.sid
end
让我知道这是否有帮助。
<强> [编辑] 强>
首先,我要调整您最初使用的TwiML:
twiml1 = Twilio::TwiML::Response.new do |r|
r.Say "You have joined the conference."
r.Dial do |d|
d.Conference "#{conference_title}",
waitUrl: " ",
muted: "false",
startConferenceOnEnter: "true",
endConferenceOnExit: "true",
maxParticipants: 5,
statusCallback: "/conferences/callback",
statusCallbackEvent: "start"
end
end
我已经在你的Rails应用程序中添加了statusCallback
属性以及一个动作的路径(你可以使用你想要的任何路径,我现在就做了这个)。我还添加了值为“start”的statusCallbackEvent
属性。有other events可用,但要获得SID,启动事件就可以。
现在我们需要一个动作来接收回调。
class ConferencesController < ApplicationController
def callback
# Do something with the conference SID.
Rails.logger.info(params["ConferenceSid"])
render :nothing => true
end
end
你也需要在该控制器操作上指向一个POST路由,但是我会把它留给你解决。