twilio 如何使用 PHP 和 JavaScript 从队列中选择呼叫
twilio how pick a call from queue with PHP and JavaScript
我正在使用 twiml 创建一个呼叫排队系统,一切正常,就像我可以接听电话和排队呼叫一样,但我无法从队列中接听电话,我写了这段代码,但它不起作用
这是我来电时的twiml:
我接到了第一个电话,其他后续电话都在排队,但现在在第一个电话结束后,我无法接听排队的电话。当我挂断电话时,它会将第一个来电者排入队列。
header("Content-type: text/xml");
$name = $_POST['name'];
$email = $_POST['email'];
$message = '<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>Please wait and one of our agents will be with you shortly.</Say>
<Dial>
<Client>joey</Client>
<Parameter name="name" value="'.$name.'" />
<Parameter name="email" value="'.$email.'" />
</Dial>
<Say>Our agents are still busy please hold.</Say>
<Enqueue waitUrl="waiting.php">Support</Enqueue>
</Response>';
echo $message;
为了从队列中接听电话,我找到了这个 Twilio PHP 代码:
use Twilio\TwiML\VoiceResponse;
$support = $_REQUEST['To'];
$response = new VoiceResponse();
$response->say("You will now be connected to the first caller in the queue.");
$dial = $response->dial('');
$dial->queue($support, ['url' => 'about_to_connect.php']);
echo $response;
用这个JavaSCript代码
queueButton.click(function() {
Twilio.Device.connect({
To: 'Support'
});
});
这里我想关注这个答案
但是当我点击一个按钮接听电话时没有任何反应反而我得到这个 js 错误
twilio.js:7100 Received an error from the gateway: {code: 31002, connection: Connection, message: "Connection Declined", twilioError: Error
code: 31005
description: "Connection error"
explanation: "A connection error occurred during the call"
总而言之,我只需要一个关于如何将代理连接到队列的解决方案,
比如查看队列中有多少呼叫并能够从队列中选择它们
请帮忙
提前致谢
我想通了。
所以要呼叫队列,我需要第二个号码,我可以用它呼叫队列,但我没有第二个号码,所以因为我有 input.php twiml Gather 文件,我做了一个 if 语句来检查呼叫的用户是代理人还是只是客户,如果是代理人,我会拨一个队列
if($_POST['user_type'] == 'agent'){
<Response>
<Dial>
<Queue url="about_to_connect.xml">my_queue_name</Queue>
</Dial>
</Response>
}else{
//My Gather here
}
为了能够检查用户是代理还是客户,当我调用队列时,我传递了一个名为 user_type:
的自定义变量
let connection = Twilio.Device.connect({
"user_type": "agent"
});
所以我可以呼叫我的队列。
那时我才意识到 twiml 很棒,它的工作是控制呼叫。
我建议您购买第二个号码,以免拖慢您的通话速度。
谢谢
我正在使用 twiml 创建一个呼叫排队系统,一切正常,就像我可以接听电话和排队呼叫一样,但我无法从队列中接听电话,我写了这段代码,但它不起作用
这是我来电时的twiml:
我接到了第一个电话,其他后续电话都在排队,但现在在第一个电话结束后,我无法接听排队的电话。当我挂断电话时,它会将第一个来电者排入队列。
header("Content-type: text/xml");
$name = $_POST['name'];
$email = $_POST['email'];
$message = '<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>Please wait and one of our agents will be with you shortly.</Say>
<Dial>
<Client>joey</Client>
<Parameter name="name" value="'.$name.'" />
<Parameter name="email" value="'.$email.'" />
</Dial>
<Say>Our agents are still busy please hold.</Say>
<Enqueue waitUrl="waiting.php">Support</Enqueue>
</Response>';
echo $message;
为了从队列中接听电话,我找到了这个 Twilio PHP 代码:
use Twilio\TwiML\VoiceResponse;
$support = $_REQUEST['To'];
$response = new VoiceResponse();
$response->say("You will now be connected to the first caller in the queue.");
$dial = $response->dial('');
$dial->queue($support, ['url' => 'about_to_connect.php']);
echo $response;
用这个JavaSCript代码
queueButton.click(function() {
Twilio.Device.connect({
To: 'Support'
});
});
这里我想关注这个答案
但是当我点击一个按钮接听电话时没有任何反应反而我得到这个 js 错误
twilio.js:7100 Received an error from the gateway: {code: 31002, connection: Connection, message: "Connection Declined", twilioError: Error
code: 31005
description: "Connection error"
explanation: "A connection error occurred during the call"
总而言之,我只需要一个关于如何将代理连接到队列的解决方案, 比如查看队列中有多少呼叫并能够从队列中选择它们
请帮忙
提前致谢
我想通了。
所以要呼叫队列,我需要第二个号码,我可以用它呼叫队列,但我没有第二个号码,所以因为我有 input.php twiml Gather 文件,我做了一个 if 语句来检查呼叫的用户是代理人还是只是客户,如果是代理人,我会拨一个队列
if($_POST['user_type'] == 'agent'){
<Response>
<Dial>
<Queue url="about_to_connect.xml">my_queue_name</Queue>
</Dial>
</Response>
}else{
//My Gather here
}
为了能够检查用户是代理还是客户,当我调用队列时,我传递了一个名为 user_type:
的自定义变量let connection = Twilio.Device.connect({
"user_type": "agent"
});
所以我可以呼叫我的队列。 那时我才意识到 twiml 很棒,它的工作是控制呼叫。
我建议您购买第二个号码,以免拖慢您的通话速度。
谢谢