下面的代码截获正在进行的呼叫,并将呼叫转移到新号码(此功能按预期工作)。问题是:
$call_sid = $_SESSION['CallSid'];
$sid = 'xxxxxxxxxxxxxxxxxxxxxxx';
$token = 'xxxxxxxxxxxxxxxxxxxxxxx';
$twilio = new \Twilio\Rest\Client($sid, $token);
$call = $twilio->calls($call_sid)->update(['twiml' => '<Response><Say>Redirecting to Buba</Say><Dial callerId="+18888880592">+14888068886</Dial></Response>']);
//TODO cancel this CALL SID. Status=completed??
print($call->to);
Twilio呼叫分支通过Twilio标记语言(TwiML)保持不变。如果您修改了一个正在执行的呼叫分支,如果该呼叫的一部分存在另一个呼叫分支(不涉及会议),则该呼叫分支将在最初连接两个呼叫分支的<Dial>
之后开始处理任何TwiML。派对。如果在<Dial>
之后没有TwiML,Twilio将挂断该呼叫分支,因此不需要您采取任何措施。
您应该能够在通话记录中看到此行为。