Twilio добавить входящий вызов в очередь и позвонить агенту - PullRequest
0 голосов
/ 11 июня 2018

Я столкнулся с ситуацией, когда я обрабатываю входящий вызов с использованием PHP / laravel, поэтому, когда клиент звонит на номер компании, ответом будет следующий метод:

 public function respondToUser()
{
    $response = new Twiml();

    $audio_file_path = trans('ivr_file_paths.welcome');
    $response->play($audio_file_path);
    $response->redirect('/ivr/call/enqueue', ['method' => 'POST']);

    return $response;
}

Но чего я хочу добиться?затем следует поместить входящий вызов в очередь, а затем запустить музыку в фоновом режиме, если оператор (только один оператор / агент) занят, если нет, то подключиться к нему.

вот как это выглядит сейчас

 public function enqueueCall(Request $request)
 {

  $please_wait_audio_file = trans('paths.please_wait');


  $please_wait_audio_file = trans('ivr_file_paths.please_wait');

  $response = new Twiml();

  $dial = $response->dial();

  $dial->number('+number');
  $response->enqueue('support', ['waitUrl' => $please_wait_audio_file]);

  Log::info($response);
  echo $response;
}

Я знаю, что сейчас нет очереди, но этот метод просто завершает вызов ..

Есть предложения?Большое спасибо!

1 Ответ

0 голосов
/ 12 июня 2018

Разработчик Twilio здесь.

Я рекомендую начать с просмотра <Enqueue> глагола TwiML , который ставит абонента в очередь, затем следует <Queue>которую вы можете использовать в <Dial>, чтобы вывести следующего пользователя из очереди и поговорить с ним.

Если вам нужно что-нибудь более сложное, чем это, тогда начните читать в TaskRouter .

изменить пример кода:

Поставить абонента в очередь и набрать вашего агента.

public function enqueueCall(Request $request)
  {
  // build up the TwiML
  $please_wait_audio_file = trans('ivr_file_paths.please_wait');
  $response = new Twiml();
  $response->enqueue('support', ['waitUrl' => $please_wait_audio_file]);

  // make the call to your agent
  $client = new Client($yourTwilioAccountSid, $yourTwilioAuthToken);
  $call = $client->calls->create(
      $yourAgentNumber,
      $yourTwilioNumber,
      array("url" => "http://example.com/ivr/call/queue")
  );

  Log::info($response);
  echo $response;
}

Когда агент подключится, наберите очередь:

public function dialQueue(Request $request)
  {
  $response = new Twiml();
  $dial = $response->dial();
  $dial->queue('support');

  echo $response;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...