我正在尝试将一个正在进行的电话转接给另一个工人,但在我能够转接呼叫者之前。首先,我需要按住呼叫者,如果他/她有空的话,我需要给他/她打电话。问题是,当我调用所需的工作人员时,调用者会自动挂起。
public function transferToAgent(){
$client = $this->init_client();
$call = $client->account->calls->get($_POST["CallSid"]);
$call->update(array(
"Url" => HTTP_BASE_URL."agent/call_controls/forward_agent?data=".$_POST['agentname'],
"Method" => "POST"
));
}
public function forward_agent(){
$agentname = $_GET['data'];
$this->gabbyvilletwilio->AgentTransfer($agentname);
}这是我的代码,我打电话给另一个探员
function AgentTransfer($agentname){
$response = new Services_Twilio_Twiml;
$response->say(
'Your call is now being transferred to your desired agent.',
['voice' => 'alice', 'language' => 'en-GB']
);
$dial = $response->dial();
$dial->client($agentname);
print $response;
}发布于 2017-03-06 15:58:13
两位开发人员在这里传道。
您面临的问题是,当您重定向调用的一个分支时,调用的另一个分支将断开连接,并且没有其他操作可以从他们的TwiML中执行,因此,当调用完成时,就会挂断。
有很多方法可以绕过这个问题。由于您正在尝试从一个代理到另一个代理的热传输,那么我建议您在PHP中的温传输上阅读本教程。这是为Laravel写的,但我相信你可以翻译成Codeigniter。
不过,简单地说,本教程使用的是,而不是将调用者与连接起来,这样连接就不会中断。然后,与重定向呼叫相反,您可以暂停调用方并邀请另一个代理参加会议,当两个代理都准备好时,取消呼叫方并转移呼叫方。
如果这有帮助的话请告诉我。
https://stackoverflow.com/questions/42482514
复制相似问题