我需要修改当前正在进行的通话。 如果A调用B,它们已连接并进行通话,我需要将B重定向到某个Twiml URL,并断开A与呼叫的连接(我可以通过JavaScript SDK .diconnect()函数执行此操作,因为我是&#34 ; A"来电者)。我使用的是Twilio docs(php SDK v4.x)中的一个例子:
$call = $client->account->calls->get($callsid);
$call->update(array(
"Url" => "http://path-to-twiml.php",
"Method" => "POST"
));
但没有任何反应。如果不使用Conference Twilio选项,有可能以某种方式做我需要的吗?
PS:添加"状态" => "完整"更新选项的参数会导致呼叫双方断开连接,因为我只需断开1(发起呼叫的那个)并离开其他(重定向到特定的twiml url)
答案 0 :(得分:1)
Twilio传道者在这里。
根据您发布的代码,我猜测您正在修改的callsid
实际上是来电者A,而不是来电者B.在您的方案中,A和B各自都有自己的分离callsid,其中来电者A是"父母"和来电者B是孩子"。
要获取子sid,您可以在<Dial>
动词的statusCallback
参数中包含一个网址,当来电者B接听时,该网址会被请求。此请求的callsid
参数是来电者B的sid。您还将收到名为parentCallSid
的参数,该参数是来电者A的sid,可让您将子行程(来电者B)与父母行程(来电者A)相关联。
一旦你有了孩子sid,你可以使用PHP库修改它。
希望有所帮助。