Twilio出站呼叫被被叫方拒绝时自动拨号两次
我面临的一个问题是,每当我从软拨号程序(浏览器应用程序)拨打出站电话时,被呼叫者(移动电话)拒绝,twilio就会再次自动拨打同一被呼叫者。但是当被调用方拒绝twilio自动生成的第二个调用时,这种情况不会发生 与Javascript相关的IO代码:Twilio出站呼叫被被叫方拒绝时自动拨号两次,twilio,Twilio,我面临的一个问题是,每当我从软拨号程序(浏览器应用程序)拨打出站电话时,被呼叫者(移动电话)拒绝,twilio就会再次自动拨打同一被呼叫者。但是当被调用方拒绝twilio自动生成的第二个调用时,这种情况不会发生 与Javascript相关的IO代码: const makeOutboundCall = () => { let outboundCall = device.connect({ To: TO_NUMBER }); outboundCall.on("
const makeOutboundCall = () => {
let outboundCall = device.connect({
To: TO_NUMBER
});
outboundCall.on("ringing", (hasEarlyMedia) => {
console.log("The call has started and the other phone is ringing.");
});
outboundCall.on("accept", (connection) => {
console.log("The other person answered the phone!");
});
outboundCall.on("disconnect", () => {
console.log("The other person hung up.");
});
}
服务器端Java webhook如下所示:
public String callByBrowserToMobile(@RequestParam String ApplicationSid, @RequestParam String ApiVersion, @RequestParam String Called, @RequestParam String Caller, @RequestParam String CallStatus, @RequestParam String To, @RequestParam String From, @RequestParam String CallSid,@RequestParam String Direction, @RequestParam String AccountSid)
{
}
answerOnBridge(true)用于跟踪振铃并在UI端接受出站呼叫的状态。
这个问题也可以使用github.com/TwilioDevEd/client-quickstart-js进行复制。这可能最好通过打开。终止服务提供商可能返回不正确的响应代码,这导致Twilio尝试通过另一个提供商进行传送(因此第二次呼叫),因为响应代码表明运营商无法终止呼叫 : 如果返回以下任何SIP状态代码(“2xx”、“400”, “404”,“405”,“410”,“416”,“482”,“484”,“486”,“6xx”),Twilio将 不会故障转移到下一个原始SIP URI
这可能最好通过打开一个窗口来处理。终止服务提供商可能返回不正确的响应代码,这导致Twilio尝试通过另一个提供商进行传送(因此第二次呼叫),因为响应代码表明运营商无法终止呼叫 : 如果返回以下任何SIP状态代码(“2xx”、“400”, “404”,“405”,“410”,“416”,“482”,“484”,“486”,“6xx”),Twilio将 不会故障转移到下一个原始SIP URI
Number number = new Number.Builder(To).build();
Dial dial = new Dial.Builder().answerOnBridge(true).number(number).callerId(myTwilioNumber).build();
VoiceResponse response = new VoiceResponse.Builder().dial(dial).build();
logger.info(response.toXml());
return response.toXml();