Node.js 如何在拨打twilio电话时获取会议Sid
我一直在使用twilio,使用Node.js,并在两个web端点之间拨打电话。一个是客户,另一个是代理。我用下面的代码拨号Node.js 如何在拨打twilio电话时获取会议Sid,node.js,twilio,twilio-api,Node.js,Twilio,Twilio Api,我一直在使用twilio,使用Node.js,并在两个web端点之间拨打电话。一个是客户,另一个是代理。我用下面的代码拨号 function dialCall(calledNumber, url) { client.calls.create({ to: `client:${calledNumber}`, from: twilioNumber, url: url }) .then(call => cal
function dialCall(calledNumber, url) {
client.calls.create({
to: `client:${calledNumber}`,
from: twilioNumber,
url: url
})
.then(call => call.sid));
}
我正在使用以下twiml建立呼叫
const generateTwiml = (conferenceName) => {
let twimlResponse = new VoiceResponse();
twimlResponse.say(`Welcome to unity dialer.`, {
voice: 'alice',
});
const dial = twimlResponse.dial({
timeLimit: '600',
});
dial.conference({
startConferenceOnEnter: true,
endConferenceOnExit: true
}, "Test Room");
return twimlResponse.toString();
};
我已经成功地呼叫了代理和客户端,并获得了两个呼叫的callSid。然而,我的问题是,在这个时候,我还想得到会议Sid,以及我拨电话作为会议。得到这个的方法是什么。根据文档,有一种使用会议名称和状态获取会议的方法。但是,如果我在某个时间使用该函数,由于竞争条件,该函数不会返回,并且我必须为相同的任意延迟实现设置超时函数。我已经得到了结果,但是有没有其他的解决方案 这里是Twilio开发者福音传道者 在返回TwiML以创建会议时,还没有会议资源,因此无法在该阶段获取会议SID 正如您所描述的,您可以使用会议资源,通过您给它起的名字来访问它。但是,您不能在返回TwiML时列出会议,因为那时还没有创建会议
我建议您使用
TwiML设置一个URL,以便在会议开始时回调,而不是设置一个可能不稳定的超时。在该回调的参数中,您将获得ConferenceSid
,感谢您的建议。