如何使用 RingCentral 设置带有区号匹配的来电显示?
How to set Caller ID with area code matching using RingCentral?
使用RingCentral拨打电话时,是否可以进行Local Presence或设置Caller ID (CLID)?我有一组 1000+ phone 个号码,其中包含我公司的各种区号,我希望在拨出时能够将其用于来电显示。我还有许多不同的座席在打电话,所以我需要多个座席才能同时使用同一个来电显示。
我正在使用 RingCentral WebRTC JavaScript SDK,但没有看到来电显示选项。我看到为 RingOut 设置来电显示的选项,但没有本地状态选项。
在询问和尝试之后,我想出了以下可以通过 WebRTC 或 RingOut 完成的方法。
(1) 分配来电显示 (CLID) Phone 号码
要将多个 CLID phone 号码加载到 RingCentral 帐户中,请将它们添加为公司号码,这可以在 Online Account Portal 下为管理员帐户完成:
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
在您的应用程序中,获得要拨打的号码后,找到最接近的匹配区号。最好是与您的区号完全匹配。之后,找到地理位置上最近的那个。
要确定要使用的最佳号码,可以使用区号到 lat/lon 的最近邻匹配映射。我无法找到 lat/lon 映射的直接代码,但可以执行以下操作之一:
- areacode 到 lat/lon:您可以使用直接 areacode 到 lat/lon 数据库,例如这里的那个:https://github.com/grokify/gotilla/blob/master/strconv/phonenumber/us-area-code-geo.csv
- 区号到 lat/lon 的邮政编码:您可以使用区号和 lat/lon 数据的邮政编码数据集,如 Benjamin Dean 所述。邮政编码很有用,因为更密集的地区有更多的邮政编码,确保人口稠密的地区代表更多。
- areacode to LOCODE with lat/lon: UN LOCODES也有lat/lon信息,可以使用。理想情况下,每个 LOCODE 都将映射到人口以进行加权。
为了快速解决问题,我获取了区号并将每个区号映射到此处的 UN LOCODE 数据集:
一旦 UN LOCODE 可用,就可以使用 LOCODE 数据集中的 lat/lon 并计算距离。值得注意的是,一些城市没有 lat/lon 数据,最好将其提交给 UN LOCODE 项目。现在每个区号只有一个主要城市,但可以增强为拥有多个城市。在理想情况下,美国和加拿大所有具有联合国地址的城市都将映射到区号(和邮政编码)。
(3) 使用CLID进行呼叫
使用 RingCentral,可以将您的来电显示设置为授权号码,包括用户自己的号码和公司号码。这可以通过下面描述的 WebRTC 和 RingOut 来完成。
(3.1) WebRTC调用CLID
用户应该使用自己的分机登录,这样用户调用就不会相互冲突。然后应用程序可以使用 fromNumber
参数使用 RingCentral WebRTC SDK 设置首选 CLID,如下所示:
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
我会先阅读这篇知识库文章,其中解释了如何使用 RingCentral 在线帐户门户 (http://success.ringcentral.com/articles/RC_Knowledge_Article/Outbound-Caller-ID-Overview) 进行设置:
- 公司来电显示(显示的姓名)
- 按功能显示的默认来电显示号码
与 RingOut 一起使用的 RingCentral 来电显示验证规则应适用于 WebRTC,并定义您在 application/integration.
中设置 CLID 的限制
RingCentral 来电显示验证规则(至少其中一项必须适用):
callerId值与当前认证用户的分机号码相同
获取与邮箱关联的所有 phone 个号码。 Phone 为默认值,callerId 与此号码相同
获取用户所有转发phone号码的列表,callerId与本地或免费号码之一相同
使用 API 获取所有分机 Phone 号码的列表,并且任何指示为可用于来电显示的号码在分配时均有效作为 "fromNumber".
最后一个 API 选项就是上面的 @grokify 示例。
GET Extension Phone RingCentral 中的号码 API Explorer: https://developers.ringcentral.com/api-explorer/latest/index.html#/!/Extension/listExtensionPhoneNumbers
使用RingCentral拨打电话时,是否可以进行Local Presence或设置Caller ID (CLID)?我有一组 1000+ phone 个号码,其中包含我公司的各种区号,我希望在拨出时能够将其用于来电显示。我还有许多不同的座席在打电话,所以我需要多个座席才能同时使用同一个来电显示。
我正在使用 RingCentral WebRTC JavaScript SDK,但没有看到来电显示选项。我看到为 RingOut 设置来电显示的选项,但没有本地状态选项。
在询问和尝试之后,我想出了以下可以通过 WebRTC 或 RingOut 完成的方法。
(1) 分配来电显示 (CLID) Phone 号码
要将多个 CLID phone 号码加载到 RingCentral 帐户中,请将它们添加为公司号码,这可以在 Online Account Portal 下为管理员帐户完成:
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
在您的应用程序中,获得要拨打的号码后,找到最接近的匹配区号。最好是与您的区号完全匹配。之后,找到地理位置上最近的那个。
要确定要使用的最佳号码,可以使用区号到 lat/lon 的最近邻匹配映射。我无法找到 lat/lon 映射的直接代码,但可以执行以下操作之一:
- areacode 到 lat/lon:您可以使用直接 areacode 到 lat/lon 数据库,例如这里的那个:https://github.com/grokify/gotilla/blob/master/strconv/phonenumber/us-area-code-geo.csv
- 区号到 lat/lon 的邮政编码:您可以使用区号和 lat/lon 数据的邮政编码数据集,如 Benjamin Dean 所述。邮政编码很有用,因为更密集的地区有更多的邮政编码,确保人口稠密的地区代表更多。
- areacode to LOCODE with lat/lon: UN LOCODES也有lat/lon信息,可以使用。理想情况下,每个 LOCODE 都将映射到人口以进行加权。
为了快速解决问题,我获取了区号并将每个区号映射到此处的 UN LOCODE 数据集:
一旦 UN LOCODE 可用,就可以使用 LOCODE 数据集中的 lat/lon 并计算距离。值得注意的是,一些城市没有 lat/lon 数据,最好将其提交给 UN LOCODE 项目。现在每个区号只有一个主要城市,但可以增强为拥有多个城市。在理想情况下,美国和加拿大所有具有联合国地址的城市都将映射到区号(和邮政编码)。
(3) 使用CLID进行呼叫
使用 RingCentral,可以将您的来电显示设置为授权号码,包括用户自己的号码和公司号码。这可以通过下面描述的 WebRTC 和 RingOut 来完成。
(3.1) WebRTC调用CLID
用户应该使用自己的分机登录,这样用户调用就不会相互冲突。然后应用程序可以使用 fromNumber
参数使用 RingCentral WebRTC SDK 设置首选 CLID,如下所示:
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
我会先阅读这篇知识库文章,其中解释了如何使用 RingCentral 在线帐户门户 (http://success.ringcentral.com/articles/RC_Knowledge_Article/Outbound-Caller-ID-Overview) 进行设置:
- 公司来电显示(显示的姓名)
- 按功能显示的默认来电显示号码
与 RingOut 一起使用的 RingCentral 来电显示验证规则应适用于 WebRTC,并定义您在 application/integration.
中设置 CLID 的限制RingCentral 来电显示验证规则(至少其中一项必须适用):
callerId值与当前认证用户的分机号码相同
获取与邮箱关联的所有 phone 个号码。 Phone 为默认值,callerId 与此号码相同
获取用户所有转发phone号码的列表,callerId与本地或免费号码之一相同
使用 API 获取所有分机 Phone 号码的列表,并且任何指示为可用于来电显示的号码在分配时均有效作为 "fromNumber".
最后一个 API 选项就是上面的 @grokify 示例。
GET Extension Phone RingCentral 中的号码 API Explorer: https://developers.ringcentral.com/api-explorer/latest/index.html#/!/Extension/listExtensionPhoneNumbers