我们有一个 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 将它们添加回来,但我看不到这样做的方法,或者以某种方式将它们暂停。
感激地收到任何帮助:)