Имя вызывающего абонента Twilio при получении программируемого голосового вызова в приложении ios

Я использую Программируемый Голос Twilio в одном из проектов. Моим основным требованием является размещение класса VoIP между мобильными устройствами (без вызовов PSTN). Я могу совершать вызовы с одного устройства на другое, но не могу установить соответствующее имя вызывающего абонента на экране входящего вызова.

Пожалуйста, сообщите мне, как отобразить имя звонящего на приемном устройстве. Значение "from" TVOCallInvite показывает номер мобильного телефона "+18xxxxxxxx", но мне нужно отобразить имя звонящего., Мы создали файл TwiML PHP, который содержит набранное имя клиента и callerID (мой номер твилла). Мы присвоили URL этого файла в URL-адресе запроса приложения TwiML ( https://www.twilio.com/console/voice/twiml/apps/myappid).

Мы можем назначить имя звонящего в "localizedCallerName" CallKit, но мы получаем номер телефона, а не личность звонящего.

Подробности: Учебник последовал: https://github.com/twilio/voice-quickstart-swift TwilioVoice -> 2.0.0 Версия для iOS: 10.1 Устройство: iPhone 7 и iPhone 5S

Пожалуйста, найдите прикрепленный скриншот.

Обратите внимание, что я искал в Google, но не смог найти ответ.

Благодарю.

Ниже мой файл voice.php

<?php

require __DIR__ . '/TwilioSdk/Twilio/autoload.php';
include('config.php');
use Twilio\Twiml;
$response = new Twiml;

if (isset($_REQUEST['To']) && strlen($_REQUEST['To']) > 0) 
{
  $number = htmlspecialchars($_REQUEST['To']);
  $dial = $response->dial(array('callerId' => $callerid)); // callerid is +18XXXXXXXXX
  if (preg_match("/^[\d\+\-\(\) ]+$/", $number)) 
  {
    $dial->number($number);
  } 
  else 
  {
    $dial->client($number);
  }
} 
else 
{
   $response->say("Thanks for calling!");
}
header('Content-Type: text/xml');
echo $response;

?>

Консоль Twilio для журналов вызовов

1 ответ

Решение

Twilio разработчик евангелист здесь.

Чтобы имя появилось на экране вызова iOS в CallKit, вам нужно передать идентификатор клиента в качестве callerId а не номер телефона.

Идентификаторы клиента должны иметь префикс client:, Таким образом, в приведенном выше коде важной частью является создание TwiML, который должен выглядеть следующим образом:

$response->dial(array('callerId' => 'client:' . $clientName));

Обратите внимание, что вы должны использовать номер в качестве идентификатора вызывающего абонента, если вы набираете номер телефона. Если вы набираете номер другого клиента, вы можете использовать номер телефона или идентификатор клиента. Если вы хотите, чтобы имя появилось в приложении, я рекомендую идентификатор клиента, как указано выше.

Другие вопросы по тегам