如何为 Twilio 客户端 (VoIP) 拨出电话设置 From 标识符?

Posted

技术标签:

【中文标题】如何为 Twilio 客户端 (VoIP) 拨出电话设置 From 标识符?【英文标题】:How to set the From identifier for Twilio Client (VoIP) outgoing calls? 【发布时间】:2015-02-26 23:39:13 【问题描述】:

我们的应用程序通过 twilio.js 客户端接受电话或 VoIP 连接到我们的 twilio 端点。电话呼叫由呼叫者 ID 记录,但 VoIP 连接在 twilio 呼叫日志中均显示为匿名,例如:

Date    Direction   From        To  Type    Status      Recording   Duration
XXYY    Incoming    Anonymous   --- Client  Completed   ---         17 min 7 sec
YYZZ    Incoming    Anonymous   --- Client  Completed   ---         17 min 23 sec

有没有办法为传出 (client->twilio) 调用设置 From 字段?查看了 Twilio.Device.connect 以及功能令牌文档,找不到任何提示。

【问题讨论】:

【参考方案1】:

这一切都与能力令牌步骤相关,以一种完全没有记录的方式(而且显然 Twilio 自己也不知道)。

为了让 twilio 日志识别呼入会议的 VoIP 端点,我们必须将客户端 ID 绑定到 allow_client_incoming 功能,并确保 ID 是直接的字母数字(例如,字符串中的破折号阻止了来自通过的ID)。

在我们的服务器端 (ruby) 令牌生成步骤中,它看起来像这样:

    capability.allow_client_incoming sanitized_client_id

【讨论】:

【参考方案2】:

Twilio 布道者在这里。

当客户端连接到您的 TwiML 应用端点时,传递给语音请求 URL 的 From 参数应该是客户端的名称。

如果该语音请求 URL 包含 <Dial> 动词,告诉 Twilio 进行出站电话呼叫并将其与客户端呼叫桥接,您可以设置 callerId 参数:

<Dial callerId="+15555555555" />

希望对您有所帮助。

【讨论】:

试过了,但仍然显示匿名。这是我们现在发回的 TwiML:&lt;Response&gt; &lt;Dial callerId="+14155551212"&gt; &lt;Conference waitUrl="http://example.com/welcome.mp3" waitMethod="GET"&gt;conferenceId&lt;/Conference&gt; &lt;/Dial&gt; &lt;/Response&gt; 当您创建能力令牌“匿名”时,您给客户端实例的名称是? 我们使用 twilio-ruby gem 来生成能力令牌(使用capability.allow_client_outgoing)。创建令牌时有没有办法命名客户端?我们当然不会自己将其命名为 Anonymous,尽管我认为 gem 可能会在后台这样做。 所以我认为在您的场景中,在 Dial 动词上设置 callerID 属性将无济于事,因为您正在拨打会议。如果您拨出一个号码,设置 CallerID 将告诉 Twilio 将该号码用作出站支路的呼叫者 ID。但是,我不确定为什么来自 Client 的来电显示 Anonymous 作为 From 值。 AFAIK,它应该显示对 Twilio 进行入站调用的客户端实例的名称。我正在尝试了解更多详细信息。 @DevinRader,您对此有任何更新吗?我还希望能够在拨入会议时指定客户端。【参考方案3】:

对我有用的是在OutgoingClientScope 功能中设置clientName 参数。

这是一个js中的代码示例:

capability.addScope(
  new ClientCapability.OutgoingClientScope(
    clientName: 'mike',
    applicationSid: 'AP...'
  )
);

其他答案都不适合我。

【讨论】:

以上是关于如何为 Twilio 客户端 (VoIP) 拨出电话设置 From 标识符?的主要内容,如果未能解决你的问题,请参考以下文章

使用 CallKit 显示用于拨出 VoIP 呼叫的 iOS 本机呼叫 UI

如何为 Twilio 视频会议创建访问令牌

在 Twilio 客户端快速入门中接收真正的来电

SNS:如何为 APNS voip 创建平台应用程序?

使用 Twilio 无法通过麦克风听到声音

在iOS中获取最后一个拨出电话状态[关闭]