Я пытаюсь настроить исходящие вызовы через маршрутизатор задач Twilio. Я создаю задачи через PHP со всеми необходимыми атрибутами (инструкция, to, from, post_work_activity_sid), но созданная задача не устанавливает звонок между клиентом twilio и внешним номером телефона. Я надеялся, что задачи, созданные программой, создадут конференц-связь между работником (браузером) и внешним клиентом. Я все время получаю сообщение об ошибке, показанное ниже. У меня есть php назначения на моем сервере приложений, который отменяет очередь вызовов моим рабочим (клиентам браузера). В настоящее время входящие вызовы с внешнего номера на клиентов браузера через маршрутизатор задач работают должным образом. Однако исходящие вызовы создают задачу, и назначается резервирование, но Twilio не может удалить вызов из очереди работнику. Есть ли способ создать задачу для голосового вызова, чтобы задача создавалась с помощью команды Twiml Enqueue? Или есть лучший способ обработки исходящих вызовов с помощью Twilio taskrouter, чтобы вызовы успешно назначались рабочим с помощью клиента браузера?
Согласно этой теме: Могут ли исходящие вызовы выполняться через Twilio TaskRouter, Я попытался использовать вызов инструкции. Я также просмотрел документацию и еще одно сообщение о переполнении стека о URL-адресе обратного вызова назначения, но оно не ясно и не уверен, что я потенциально могу делать неправильно.
Сообщение об ошибке: инструкция удаления из очереди может быть выполнена только для задачи, созданной с помощью команды TwiML.
<?php
require_once('TwilioVendor/autoload.php'); // Loads the library
use Twilio\Rest\Client;
$sid = "ACxxxxxxxxxxxxxxxxxxxxxxx";
$token = "xxxxxxxxxxxxxxxxxxxxxxxxxxx";
try{
$twilio = new Client($sid, $token);
$task = $twilio->taskrouter->v1-
>workspaces("WSxxxxxxxxxxxxxxxxxxxxxxxxxxxx")->tasks-
>create(array("attributes" => json_encode(array(
//"instruction"=>"accept",
//"instruction"=>"conference",
"instruction"=>"call",
"to"=> "client:Bob",
"from"=> "+61123456789",
"post_work_activity_sid"=> "WAxxxxxxxxxxxxxxxxxxxx"
)),
"workflowSid" => "WWxxxxxxxxxxxxxxxxxx"
)
);
}catch(Exception $e)
{
echo 'Caught exception: ', $e->getMessage(), "\n";
}
print($task->sid);
**Assignment Callback code**
<?php
$assignment_instruction = [
'instruction' => 'call','to'=> 'client:Bob',
'from' => '+61xxxxx','url'=>'CRM REST END POINT'
];
header('Content-Type: application/json');
echo json_encode($assignment_instruction);
**CRM REST END POINT TWIML**
<?php
require __DIR__ . '/vendor/autoload.php';
require_once 'TwilioVendor/autoload.php';
use Twilio\Twiml;
$reservationSid= $_REQUEST['rsid']
header('Content-Type: text/xml');
?>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say voice="woman">You will now be connected to the customer</Say>
<Dial>
<Queue reservationSid="<?$reservationSid?>"/>
</Dial>
</Response>