0

使用 RingCentral 拨打外线电话时,是否可以进行 Local Presence 或设置 Caller ID (CLID)?我有一组 1000 多个电话号码,其中包含我公司的各种区号,我希望能够在拨出时用于来电显示。我也有许多不同的座席拨打电话,所以我需要多个座席才能同时使用同一个呼叫者 ID。

我正在使用RingCentral WebRTC JavaScript SDK,但没有看到来电显示选项。我看到一个为 RingOut 设置呼叫者 ID 的选项,但没有本地存在选项。

4

2 回答 2

2

在询问和尝试之后,我想出了可以通过 WebRTC 或 RingOut 完成的以下方法。

(1) 分配来电显示 (CLID) 电话号码

要将多个 CLID 电话号码加载到 RingCentral 帐户,请将它们添加为公司编号,这可以在管理员帐户的在线帐户门户中完成:

Home> Phone System> Company Numbers and Info>Add Number

我将所有这些分配给Auto-Receptionist.

一旦这些号码被加载为公司号码,它们应该可供用户用作 CLID。要验证这一点,请在用户授权应用程序后通过调用以下 REST API 端点来检索用户可用的 CLID 号码列表:

/restapi/v1.0/account/~/extension/~/phone-number

返回的可用于来电显示的数字将CallerId作为属性中的元素之一features

(2) 根据目的号码选择合适的CLID

在您的应用程序中,一旦您有了要拨打的号码,就可以找到最接近的匹配区号。最好的办法是与您的区号完全匹配。之后,找到你拥有的那个在地理上最接近的。

为了确定要使用的最佳号码,可以使用带最近邻匹配的地区代码到纬度/经度映射。我无法找到经纬度映射的直接代码,但可以执行以下操作之一:

  1. areacode to lat/lon:您可以使用直接区域码到 lat/lon 数据库,例如这里的一个:https ://github.com/grokify/gotilla/blob/master/strconv/phonenumber/us-area-code-geo .csv
  2. areacode to zipcode with lat/lon:您可以使用Benjamin Dean提到的带有 areacode 和 lat/lon 数据的邮政编码数据集。邮政编码很有用,因为更密集的地区有更多的邮政编码,确保人口密集的地区得到更多的代表。
  3. areacode to LOCODE with lat/lon: UN LOCODES 也有 lat/lon 信息,可以使用。理想情况下,每个 LOCODE 都将映射到一个总体以进行加权。

为了快速解决问题,我将区域代码映射到此处的UN LOCODE数据集:

一旦 UN LOCODE 可用,就可以使用 LOCODE 数据集中的纬度/经度并计算距离。值得注意的是,一些城市没有纬度/经度数据,最好将其提交给 UN LOCODE 项目。目前,每个区号只有一个主要城市,但可以增强为拥有多个城市。在理想情况下,美国和加拿大所有具有 UN LOCODES 的城市都将映射到区号(和邮政编码)。

(3) 使用 CLID 拨打电话

使用 RingCentral,可以将您的来电显示设置为授权号码,包括用户自己的号码和公司号码。这可以通过下面描述的 WebRTC 和 RingOut 来完成。

(3.1) 通过 WebRTC 使用 CLID 进行调用

用户应使用自己的分机登录,这样用户呼叫不会相互冲突。然后应用程序可以使用RingCentral WebRTC SDK使用参数设置首选 CLID fromNumber,如下所示:

var session = webPhone.userAgent.invite('PHONE_NUMBER', {
    media: {
        render: {
            remote: document.getElementById('remoteVideo'),
            local: document.getElementById('localVideo')
        }
    },
    fromNumber: 'CALLERID_NUMBER', // Optional, Company Number will be used as default
    homeCountryId: '1' // Optional, the value of
 }).then(...);

(3.2) 使用 CLID 通过 RingOut 拨打电话

为了完整起见,也可以使用以下方法通过 RingOut 设置来电显示:

POST /restapi/v1.0/account/~/extension/~/ring-out

{
    "from": {"phoneNumber": "+12125550101"},
    "to": {"phoneNumber": "+16175550101"},
    "callerId": {"phoneNumber": "+16505550101"},
    "playPrompt": true
}

https://developer.ringcentral.com/api-reference#RingOut-makeRingOutCall

于 2016-08-07T06:25:57.890 回答
1

我将首先阅读这篇 KB 文章,该文章解释了如何使用 RingCentral 在线帐户门户(http://success.ringcentral.com/articles/RC_Knowledge_Article/Outbound-Caller-ID-Overview)进行设置:

  • 公司来电显示(显示的姓名)
  • 默认来电显示号码(按功能)

与 RingOut 一起使用的 RingCentral 来电显示验证规则应适用于 WebRTC,并定义您在应用程序/集成中设置 CLID 的限制。

RingCentral 来电显示验证规则(必须至少应用其中一项):

  • callerId 值与当前认证用户的分机号码相同

  • 获取与邮箱关联的所有电话号码。Phone 是默认值,callerId 与此号码相同

  • 获取用户所有转接电话号码的列表,callerId 与本地或免费电话号码之一相同

  • 使用 API 获取所有分机电话号码的列表,并且任何指示可用于呼叫者 ID 的号码在分配为“fromNumber”时都是有效的。

最后一个 API 选项就是上面的 @grokify 示例。

在 RingCentral API Explorer 中获取分机电话号码: https ://developers.ringcentral.com/api-explorer/latest/index.html#/!/Extension/listExtensionPhoneNumbers

于 2016-08-09T15:53:05.117 回答