Twilio呼叫转接自in call
我没有从Twilio医生那里找到一个明确的答案。我正在尝试建立一个电话系统,它可以在通话时让对方保持通话,并且只能通过电话。有两名特工在现场和我一起工作。我在手机上(远离电脑)接到一个电话,发现另一个代理需要与我的通话对象通话。我希望能够在手机中按一些东西,直接将另一个人传送给代理,或者将他们排在队列中。然后我可以打电话给另一个代理,他可以从队列中找到那个人。所有这些都需要在我们的手机上实现 我找到了一些关于这方面的文档,但似乎所有这些都要求我在电脑前,这是不可能的Twilio呼叫转接自in call,twilio,Twilio,我没有从Twilio医生那里找到一个明确的答案。我正在尝试建立一个电话系统,它可以在通话时让对方保持通话,并且只能通过电话。有两名特工在现场和我一起工作。我在手机上(远离电脑)接到一个电话,发现另一个代理需要与我的通话对象通话。我希望能够在手机中按一些东西,直接将另一个人传送给代理,或者将他们排在队列中。然后我可以打电话给另一个代理,他可以从队列中找到那个人。所有这些都需要在我们的手机上实现 我找到了一些关于这方面的文档,但似乎所有这些都要求我在电脑前,这是不可能的 这对Twilio来说可能吗?
这对Twilio来说可能吗?这里的Twilio福音传道者 这听起来可能是个好地方 让我们定义场景中的参与者:Agent1、Agent2、Field 假设该字段调用Agent1。您可以将
字段连接到
(让我们调用ConferenceA),然后使用REST API启动对Agent1的出站调用,而不是直接使用
将两者连接起来。当他们回答
时,他们会将答案转换为相同的
。系统需要获取Agent1和Field的CallSid,以及
的Sid,将它们保存在某种类型的存储中以供以后使用
在这种情况下,使用
可以让您更灵活地独立于其他调用操作调用的每个分支,而不是使用
连接字段和Agent1
现在Agent2调用字段。Agent2将经历相同的过程,只是相反。Agent2将被拨入一个
(我们称之为ConferenceB),您的系统将使用RESTAPI调用字段。当现场回答时,他们会被
带到与代理2相同的会议中。同样,系统需要获取Agent2和Field的CallSid,以及
的Sid,将它们保存在某种类型的存储中以供以后使用
现在,Field需要一种方法来告诉系统连接Agent2和Agent1。要做到这一点,您可以利用TwiML中的
s hangupOnStar属性,当您将字段拨入ConferenceB时,您可以将TwiML交给Twilio。
动词看起来像:
<Dial hangupOnStar="true" action="[process_hangup_url]">
<Conference>ConferenceB</Conference>
</Dial>
会议B
hangupOnStar告诉Twilio断开调用者(字段)与他们
ed的任何人(会议)的连接,但仍然向
动词操作属性中定义的URL发出请求。这一点很重要,因为当Field需要告诉系统将Agent2重定向到带有Agent1的ConferenceA中,并且对s action属性中的URL的请求使系统有机会提示Field查看他是否希望这样做。因此,您可能需要Twilio执行如下TwiML:
<Response>
<Gather action=[gather_handler]>
<Say>Press 1 to connect this caller to another<Say>
</Gather>
</Response>
按1将此呼叫者连接到另一个呼叫者
如果Field按一,系统(谁知道这里涉及的所有各方的所有CallSID,以及会议SID)可以使用REST API将Agent2从ConferenceB重定向到ConferenceA
它使系统更复杂一些,但它应该适合您
希望这有助于将来电重定向到新的url:
Redirect an incoming call to new url:
<?php
// Get the PHP helper library from twilio.com/docs/php/install
require_once '/path/to/vendor/autoload.php'; // Loads the library
use Twilio\Rest\Client;
// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$token = "your_auth_token";
$client = new Client($sid, $token);
// Get an object from its sid. If you do not have a sid,
$call = $client
->calls("CAe1644a7eed5088b159577c5802d8be38")
->update(
array(
"url" => "your_url/test.xml",
"method" => "POST"
)
);
echo $call->to;
XML Code:
---------
<Response>
<Redirect method="POST">url goes here</Redirect>
</Response>
“职位”
)
);
echo$call->to;
XML代码:
---------
url在这里
您能解释一下为什么该代码可以帮助未来的读者吗?