菜鸟教程小白 发表于 2022-12-11 20:14:35

ios - 在 ios 应用程序中接收可编程语音调用的 Twilio 来电者姓名


                                            <p><p>我在其中一个项目中使用了 Twilio 的可编程语音。我的主要要求是在移动设备之间放置 VoIP 类(没有 PSTN 调用)。我可以从一台设备向另一台设备调用电话,但无法在来电屏幕上设置适当的来电者姓名。</p>

<p>请指导我如何在接收设备上显示来电者姓名。 TVOCallInvite 的“from”值显示手机号码“+18xxxxxxxx”,但我需要显示来电者姓名。
.
我们创建了 TwiML PHP 文件,其中包含调用的客户端名称和 callerID(我的斜纹布号码)。我们已在 TwiML 应用的请求 URL (<a href="https://www.twilio.com/console/voice/twiml/apps/myappid" rel="noreferrer noopener nofollow">https://www.twilio.com/console/voice/twiml/apps/myappid</a>) 中分配了此文件的 url。</p>

<p>我们可以在 CallKit 的“localizedCallerName”中指定来电者的姓名,但我们收到的是电话号码而不是来电者的身份。</p>

<p>详情:
跟随教程:<a href="https://github.com/twilio/voice-quickstart-swift" rel="noreferrer noopener nofollow">https://github.com/twilio/voice-quickstart-swift</a>
TwilioVoice -> 2.0.0
iOS版本:10.1
设备:iPhone 7 & iPhone 5S </p>

<p>请查看随附的屏幕截图。</p>

<p> <a href="/image/sTUW4.png" rel="noreferrer noopener nofollow"><img src="/image/sTUW4.png" alt="enter image description here"/></a> </p>

<p>请注意,我已经搜索了谷歌,但我找不到答案。</p>

<p>谢谢。</p>

<p>下面是我的voice.php文件</p>

<pre><code>&lt;?php

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

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

?&gt;
</code></pre>

<p>用于通话记录的 Twilio 控制台</p>

<p> <a href="/image/6ECic.png" rel="noreferrer noopener nofollow"><img src="/image/6ECic.png" alt="enter image description here"/></a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这里是 Twilio 开发者宣传员。</p>

<p>为了在 CallKit 的 iOS 调用屏幕上显示名称,您需要将客户端标识符作为 <code>callerId</code> 而不是电话号码传递。</p>

<p>客户端标识符应以 <code>client:</code> 为前缀。所以在上面的代码中,重要的部分是生成 TwiML,它应该是这样的:</p>

<pre><code>$response-&gt;dial(array(&#39;callerId&#39; =&gt; &#39;client:&#39; . $clientName));
</code></pre>

<p>请注意,如果您调用电话号码,则必须使用号码作为来电显示。如果您正在调用另一个客户端,那么您可以使用电话号码或客户端标识符。如果您希望名称出现在应用程序中,那么我建议使用上述客户端标识符。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 ios 应用程序中接收可编程语音调用的 Twilio 来电者姓名,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/50817296/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/50817296/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 ios 应用程序中接收可编程语音调用的 Twilio 来电者姓名