Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Twilio呼叫转接自in call_Twilio - Fatal编程技术网

Twilio呼叫转接自in call

Twilio呼叫转接自in call,twilio,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在这里
您能解释一下为什么该代码可以帮助未来的读者吗?