【发布时间】:2021-08-18 10:12:30
【问题描述】:
我们有一个 Twilio 会议设置,主要用户(主持人)能够从会议菜单对会议进行一些管理。要访问它,他们按 *。
这是在首次创建会议时设置的,如下所示(在 Functions 中):
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
let twilio_call_id = event.twilio_call_id;
twiml.dial({
hangupOnStar: true,
action: "https://" + context.DOMAIN_NAME + "/clientConferenceMenu",
method: 'POST'
}).conference(twilio_call_id, {
startConferenceOnEnter: true,
endConferenceOnExit: false,
statusCallbackEvent: "join end leave hold",
statusCallback: "https://" + context.DOMAIN_NAME + "/callStatus",
record: "record_from_start",
participantLabel: "Client"
});
return callback(null, twiml);
});
一旦用户进入会议菜单,他们可以使用特定选项返回会议 - 在这种情况下按 3(或说返回)。
如果他们按选项 3,如果尝试将他们重新添加到会议中:
client.conferences(conference_id)
.fetch()
.then((conference) => {
console.log("Conference: ", conference);
twiml.dial({
hangupOnStar: true,
action: "https://" + context.DOMAIN_NAME + "/clientConferenceMenu",
method: 'POST'
}).conference(conference.friendlyName, {
startConferenceOnEnter: true,
endConferenceOnExit: false,
statusCallbackEvent: "join end leave hold",
statusCallback: "https://" + context.DOMAIN_NAME + "/callStatus",
record: "record_from_start",
participantLabel: "Client"
});
return callback(null, twiml);
});
但是...它实际上所做的是创建一个具有相同名称但实际房间不同的新会议。 我想我要么需要使用会议 SID 将它们添加回来,但我没有看到这样做的方法,或者以某种方式取消它们。
感谢您的帮助:)
【问题讨论】:
-
只要会议还在与其他参与者一起运行,使用会议名称就应该加入同一个房间。您是否正在与其他参与者一起测试这个?
-
我以为是这样...看起来需要另一张 Twilio 支持票:(
-
是的,这很奇怪而且出乎意料。我很想知道这里的结果是什么!
标签: twilio twilio-functions twilio-conference