使用 RingCentral 拨打外线电话时,是否可以进行 Local Presence 或设置 Caller ID (CLID)?我有一组 1000 多个电话号码,其中包含我公司的各种区号,我希望能够在拨出时用于来电显示。我也有许多不同的座席拨打电话,所以我需要多个座席才能同时使用同一个呼叫者 ID。
我正在使用RingCentral WebRTC JavaScript SDK,但没有看到来电显示选项。我看到一个为 RingOut 设置呼叫者 ID 的选项,但没有本地存在选项。
使用 RingCentral 拨打外线电话时,是否可以进行 Local Presence 或设置 Caller ID (CLID)?我有一组 1000 多个电话号码,其中包含我公司的各种区号,我希望能够在拨出时用于来电显示。我也有许多不同的座席拨打电话,所以我需要多个座席才能同时使用同一个呼叫者 ID。
我正在使用RingCentral WebRTC JavaScript SDK,但没有看到来电显示选项。我看到一个为 RingOut 设置呼叫者 ID 的选项,但没有本地存在选项。
在询问和尝试之后,我想出了可以通过 WebRTC 或 RingOut 完成的以下方法。
要将多个 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
。
在您的应用程序中,一旦您有了要拨打的号码,就可以找到最接近的匹配区号。最好的办法是与您的区号完全匹配。之后,找到你拥有的那个在地理上最接近的。
为了确定要使用的最佳号码,可以使用带最近邻匹配的地区代码到纬度/经度映射。我无法找到经纬度映射的直接代码,但可以执行以下操作之一:
为了快速解决问题,我将区域代码映射到此处的UN LOCODE数据集:
一旦 UN LOCODE 可用,就可以使用 LOCODE 数据集中的纬度/经度并计算距离。值得注意的是,一些城市没有纬度/经度数据,最好将其提交给 UN LOCODE 项目。目前,每个区号只有一个主要城市,但可以增强为拥有多个城市。在理想情况下,美国和加拿大所有具有 UN LOCODES 的城市都将映射到区号(和邮政编码)。
使用 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
我将首先阅读这篇 KB 文章,该文章解释了如何使用 RingCentral 在线帐户门户(http://success.ringcentral.com/articles/RC_Knowledge_Article/Outbound-Caller-ID-Overview)进行设置:
与 RingOut 一起使用的 RingCentral 来电显示验证规则应适用于 WebRTC,并定义您在应用程序/集成中设置 CLID 的限制。
callerId 值与当前认证用户的分机号码相同
获取与邮箱关联的所有电话号码。Phone 是默认值,callerId 与此号码相同
获取用户所有转接电话号码的列表,callerId 与本地或免费电话号码之一相同
使用 API 获取所有分机电话号码的列表,并且任何指示可用于呼叫者 ID 的号码在分配为“fromNumber”时都是有效的。
最后一个 API 选项就是上面的 @grokify 示例。
在 RingCentral API Explorer 中获取分机电话号码: https ://developers.ringcentral.com/api-explorer/latest/index.html#/!/Extension/listExtensionPhoneNumbers