2021年3月31日之后,通知推送服务器(NPS)必须使用HTTP/2接口与Apple推送通知服务(APNS)通信。 HTTP/2接口可通过补丁ap354313和版本23.0在BroadWorks版本22.0上使用,仅支持HTTP/2。
如果运行BroadWorks版本22.0,则在应用ap354313后,可以使用以下说明配置HTTP/2。如果升级到23.0或更高版本,则需要执行以下步骤来为APNS配置HTTP/2。
要求
您必须在22.0+或23.0 XSP上。如果XSP仅运行NPS,而AS为21.sp1,则22.0/23.0 XSP与21.sp1堆栈并行运行是兼容的。有关详细信息,请参阅BroadWorks兼容性表。
您需要知道当前使用哪些客户端作为身份验证密钥ID,配置HTTP/2需要TeamID和身份验证密钥。在21.sp1上配置的应用可在以下位置找到:
XSP_CLI/Applications/NotificationPushServer/APNS/Production/Certificate> get
- 任何iOS应用非Cisco/BroadSoft应用必须配置为使用HTTP/2 APNS协议。
- 协作或SaaS BroadWorks应用需要迁移到HTTP/2。
- 向APN的通知推送服务器添加HTTP/2支持
- 对于SaaS客户端,请登录BAM门户→ Configuration → BroadWorks,向下滚动到以下部分: Notification Push Server(通知推送服务器),在下拉列表中选择正确的版本,然后按照说明操作。
- 对于Connect Eval Clients,请向TAC打开票证,以请求身份验证密钥、身份验证密钥ID和TeamID。请注意,下面列出的应用ID、身份验证密钥ID和团队ID适用于无品牌客户端,如果使用品牌客户端,则需要从Apple为您的客户端获取此信息。
可以从Apple Developer门户获取其他客户端所需的令牌,请参阅此处的Apple文档:
https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/..。
如果升级到或部署新的22.0、23.0或ADP,则需要必要的许可证。
另请参阅Xchange上提供的有关操作系统和升级要求的相关版本说明。
配置
确保Notification Push Server CLI中的URL对于HTTP/2(用于生产和开发)正确。
设置HTTP/2的URL
_CLI/Applications/NotificationPushServer/APNS/Production> get
url = https://api.push.apple.com/3/device
connectionPoolSize = 5
connectionTimeout = 1000
connectionIdleTimeoutInSeconds = 600
_CLI/Applications/NotificationPushServer/APNS/Development> get
url = https://api.development.push.apple.com/3/device
connectionPoolSize = 5
connectionTimeout = 1000
connectionIdleTimeoutInSeconds = 600
可能需要针对您的特定系统调整上述设置。以上示例和以下建议可能提供一个起点。
- “ConnectionPoolSize”是NPS可以与APNS服务器建立的并发连接数。这将帮助NPS的吞吐量,并且可能不直接帮助超时问题。ConnectionPoolSize应增加到2以上,请注意,如果没有ap377409,NPS可能无法正确注册2以上的值。
- 建议将connectionTimeout设置为大于1000的值。
配置A验证密钥
_CLI/Applications/NotificationPushServer/APNS/AuthKey> add UTHPSAD667 Y2V5KSH586 /export/home/bwadmin/EVAL_Team-Y2V5KSH586-APNsAuthKey_ID-UTHPSAD667.p8
...Done
_CLI/Applications/NotificationPushServer/APNS/AuthKey> get
Auth Key Id Team Id Auth Key
===================================
64D9E5NY4S D775LZJG9V ******** <- SaaS
L44B3C998K 698ZB8543V ******** <- Connect Dev
UTHPSAD667 Y2V5KSH586 ******** <- Connect Eval
3 entry found.
为Produ添加令牌操作和开发环境
_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.broadsoft.connect.eval authKeyId UTHPSAD667
...Done
_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get
App Id Auth Key Id
===================================================
com.broadsoft.uc-one 64D9E5NY4S <- SaaS
com.broadsoft.connect.eval UTHPSAD667 <- Connect Eval
2 entries found.
如果 使用XSP 22.0
XSP_CLI/Applications/NotificationPushServer/APNS/GeneralSettings> set HTTP2Enabled true
注意:如果在23.0或ADP上,则不需要此步骤,因为无法禁用HTTP/2。
重新启动BroadWorks
restartbw
故障排除
对HTTP/2 POST的响应由通知推送服务器处理。来自APN的响应代码“200”表示APN成功接收了通知,并将尝试将通知推送到设备。详细错误消息会在通知推送服务器日志中捕获。
如果Apple返回错误代码,则Apple错误代码可在Apple文档中找到:
https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotifi..。
如果使用ADP,则必须将AS设置为使用TLSv1.2。要设置此设置,请在AS上添加以下容器选项:
AS_CLI/Maintenance/ContainerOptions> add platform bw.apache.sslenabledprotocols "-ALL +TLSv1.2"
将AS设置为使用TLSv1.2后,停止BroadWorks,重新启动配置,然后在AS上再次启动BroadWorks。
stopbw
configdctl restart
startbw
参考
HTTP/2 BroadWorks文档:https://xchange.broadsoft.com/node/498995
Exchange上有关替换以前的二进制APNS接口的警报: https://xchange.broadsoft.com/node/1053230
UC-One解决方案指南:https://xchange.broadsoft.com/node/1049202
请参阅ap354313上22.0的补丁说明: https://xchange.broadsoft.com/node/496044
请注意,ap354313适用于平台以及AS、EMS、HZS、PS、NS、NFM、UMS和XSP,以便将Java更新为8.0_102b,这是22.0上的XSP与HTTP/2配合使用的要求,并不意味着UMS也必须在22.0上。
连接评估客户端
https://apps.apple.com/in/app/uc-one-connect-evaluation/id1114743230