2021年3月31日之後,通知推送伺服器(NPS)必須使用HTTP/2介面與Apple推送通知服務(APNS)通訊。 BroadWorks版本22.0上可以通過補丁ap提供HTTP/2介面354313而23.0版僅支援HTTP/2。
如果運行BroadWorks 22.0版,則在應用ap354313後可以使用以下說明配置HTTP/2。如果升級到23.0或更高版本,則需要執行以下步驟來為APNS配置HTTP/2。
需求
您必須在22.0+或23.0 XSP上。如果22.0/23.0 XSP僅運行NPS,而AS為21.sp1,則22.0/23.0 XSP可相容並行21.sp1堆疊。有關詳細資訊,請參閱BroadWorks相容性清單。
您需要知道哪些客戶端當前正在用作身份驗證金鑰ID、TeamID和身份驗證金鑰是配置HTTP/2所必需的。此處可以找到在21.sp1上配置的應用:
XSP_CLI/Applications/NotificationPushServer/APNS/Production/Certificate> get
- 任何非Cisco/BroadSoft的iOS應用都必須配置為使用HTTP/2 APNS協定。
- 合作或SaaS BroadWorks應用需要遷移到HTTP/2。
- 為APN的通知推送伺服器新增HTTP/2支援
- 對於SaaS客戶端,請登入BAM門戶→Configuration → BroadWorks,向下滾動至section: Notification Push Server,在下拉選單中選擇正確的版本,然後按照說明操作。
- 對於「連線評估客戶端」,使用TAC開啟票證以請求身份驗證金鑰、身份驗證金鑰ID和TeamID。請注意,下面列出的應用ID、身份驗證金鑰ID和團隊ID用於無品牌客戶端,如果使用品牌客戶端,則需要從蘋果獲取您的客戶端的此資訊。
可從Apple Developer門戶獲取其他客戶端所需的令牌,請參閱以下位置的Apple文檔:
https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/..。
如果升級至或部署新的22.0、23.0或ADP,則需要必要的許可證。
另請參閱Xchange for OS和升級要求的相關發行說明。
組態
確保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以上,請注意,沒有ap377409NPS可能無法正確註冊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.
在以下情況下啟用HTTP/2 使用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後,在AS上停止BroadWorks,重新啟動已配置的BroadWorks,然後重新啟動BroadWorks。
stopbw
configdctl restart
startbw
參考
HTTP/2 BroadWorks文檔:https://xchange.broadsoft.com/node/498995
有關更換先前二進位制APNS介面的Xchange警報: https://xchange.broadsoft.com/node/1053230
UC-One解決方案指南:https://xchange.broadsoft.com/node/1049202
有關22.0的資訊,請參閱ap354313上的修補程式說明: https://xchange.broadsoft.com/node/496044
請注意,對於平台以及AS、EMS、HZS、PS、NS、NFM、UMS和XSP都存在ap354313,為了將Java更新到8.0_102b,這是22.0上的XSP與HTTP/2一起工作的要求,並不意味著該UMS也必須在22.0上。
連線評估客戶端
https://apps.apple.com/in/app/uc-one-connect-evaluation/id1114743230