Я использую Программируемый голос Twilio в одном из проектов. Мое основное требование - разместить класс VoIP между мобильными устройствами (без вызовов PSTN). Я могу совершать вызовы с одного устройства на другое, но не могу указать соответствующее имя вызывающего абонента на экране входящего вызова.
Пожалуйста, расскажите мне, как отображать имя вызывающего абонента на принимающем устройстве. Значение «from» TVOCallInvite показывает номер мобильного телефона «+ 18xxxxxxxx», но мне нужно отобразить имя звонящего. . Мы создали PHP-файл TwiML, который содержит имя набранного клиента и идентификатор вызывающего абонента (мой саржевый номер). Мы назначили URL-адрес этого файла в URL-адресе запроса приложения TwiML (https://www.twilio.com/console/voice/twiml/apps/myappid).
Мы можем назначить имя вызывающего абонента в CallKit «localizedCallerName», но мы получаем номер телефона вместо идентификатора вызывающего абонента.
Подробности: руководство следует: 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 для журналов вызовов
callerId
на идентификатор клиента, напримерclient:yourClientIdentifier
. Вы также должны иметь возможность поймать этот идентификатор в уведомлении, заменить его более подходящим идентификатором и обновить отображение в уведомлении. Я сам еще не работал с CallKit, поэтому я не лучший человек, чтобы ответить, как вы это сделаете. - person philnash   schedule 20.06.2018callerId
идентификатором клиента, а не номером телефона? - person philnash   schedule 21.06.2018client:
, а затем с идентификатора клиента. Что вы увидели в приложении? - person philnash   schedule 21.06.2018$response->dial(array('callerId' => 'client:' . $clientName));
Значит, теперь вы видите имя при входящем звонке в приложение iOS? - person philnash   schedule 21.06.2018