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

Я использую Программируемый голос 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

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

enter image description here

Обратите внимание, что я искал в 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 для журналов вызовов

enter image description here

1 Ответ

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

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

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

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

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

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

...