מאמר זה מתאר כיצד להגדיר NPS משותף לשימוש ב- Proxy של אימות NPS, כך שניתן יהיה להשתמש בו גם כדי לדחוף הודעות שיחה ליישומי Webex. אם ה-NPS שלך אינו תומך באפליקציות אחרות, תוכל לבצע את ההליך הפשוט במדריך הפתרונות של Webex עבור BroadWorks.

סקירה כללית של פרוקסי NPS

לצורך תאימות עם Webex עבור BroadWorks, יש לתקן את ה-NPS שלך כדי לתמוך בתכונה 'פרוקסי' של NPS, Push Server for VoIP ב-UCaaS.

התכונה מיישמת עיצוב חדש ב-Notification Push Server כדי לפתור את פגיעות האבטחה של שיתוף מפתחות פרטיים של אישורי הודעת דחיפה עם ספקי שירות עבור לקוחות ניידים. במקום לשתף אישורי ודוח הודעות עם ספק השירות, ה-NPS משתמש בממשק API חדש כדי לקבל אסימון התראות דחיפה קצר מועד מה-backend של UCaaS, ומשתמש באסימון זה לאימות עם רשתות ה-APN של Apple ושירותי FCM של Google.

התכונה גם משפרת את היכולת של שרת דחיפת ההודעות לדחוף הודעות למכשירי אנדרואיד באמצעות ה-API החדש של Google Firebase Cloud Messaging (FCM) HTTPv1.

ה- XSP (או ADP של פלטפורמת אספקת היישומים) המארח את NPS חייב לעמוד בדרישות הבאות:

גרסאות מינימום והגבלות תושבות משותפת

  • NPS חייב להיות מופעל על XSP /ADP ייעודי ו- NPS חייב להיות היישום המתארח היחיד בשרת. זאת כדי למנוע הפרעה למסירת הודעות דחיפה.

  • צריכה להיות רק אפליקציית NPS אחת בפריסה. אם אתה משתמש ב- UC-One שיתוף פעולה / חיבור נייד או ב- UC-One SaaS, ואתה מיישם Webex עבור BroadWorks, עליך לשתף NPS יחיד זה עבור כל היישומים.

  • NPS חייב להיות בגרסה R22 או XSP מאוחר יותר, או ADP.

    R22/R23 XSP תואם למחסנית R21 אם ה-XSP מפעיל רק NPS וה-AS הוא R21. SP1. עיין במטריצת התאימות של BroadWorks לקבלת מידע נוסף.

  • מידע נוסף על שרת ADP ניתן למצוא בכתובת Cisco BroadWorks Application Delivery Platform.

NPS משותף

קרא הערות אלה לפני שתגדיר את ה- NPS המשותף שלך לשימוש ב- NPS Proxy:

  • אם ה-NPS שלך נמצא בשימוש עם אפליקציות אחרות (לא רק עם אפליקציית Webex): תחילה הגדר את ה- Proxy של NPS ולאחר מכן שנה את ה- NPS משימוש ב- API מדור קודם של FCM לשימוש ב- API של FCM HTTP v1.

  • לאחר שווידאת שההתראות פועלות כראוי עבור אפליקציות ישנות יותר באמצעות פרוקסי NPS, הסר את מפתח ה-API של FCM עבור אפליקציית Android ואת מפתח האימות של APNs עבור אפליקציית iOS.

APNs HTTP/2

  • אם פרסתם אפליקציות iOS שאינן מ- Cisco/BroadSoft, הגדר את האפליקציות הללו לשימוש ב- HTTP/2 פרוטוקול APNS לפני הגדרת NPS לשימוש ב-Proxy של NPS.

  • XSP/ADPs שכבר תומכים ביישום שיתוף פעולה או SaaS BroadWorks צריכים לעבור ל- HTTP/2. לקבלת מידע מפורט אודות קביעת התצורה של HTTP/2, ראה תמיכה ב- HTTP/2 ל- Notification Push Server עבור APNS (העברה של NPS לתמיכה ביישומי iOS אלה מסוכמת במאמר זה).

אנדרואיד FCMv1

  • אם פרסתם אפליקציות אנדרואיד שאינן מ- Cisco/BroadSoft, הגדר את האפליקציות הללו לשימוש במפתחות FCMv1 לפני שתגדיר את NPS לשימוש ב-proxy של NPS.

  • אִם XSP/ADP תומך כעת באפליקציית Connect או UC-One SaaS, לאחר מכן הפעל את מפתחות FCMv1 לאחר שתגדיר את פרוקסי NPS. אנו ממליצים להעביר את כל האפליקציות הנוספות למפתחות FCMv1, להפעיל ולבדוק אותן, ולאחר מכן להשבית אותן עד שתהיו מוכנים להשלים את הוראות ההתקנה (תהליך ההעברה מתועד במאמר זה).

סיכום חזותי של העברה ל- Proxy אימות NPS
טבלה 1. סיכום משימות שיש להעביר ל- NPS Proxy

רצף

כותרת משימה

מתי/מדוע נדרשת משימה?

1

העבר את NPS ל- HTTP/2 עבור יישומי iOS מסוג UC-One SaaS (או Connect).

אם NPS תומך באפליקציות אלה, והן עדיין לא הוגדרו עבור HTTP/2.

2

העבר את NPS ל- FCMv1 עבור יישומי UC-One SaaS (או התחבר) ל- Android.

אם NPS תומך באפליקציות אלה, והן עדיין לא מוגדרות עבור FCMv1.

3

הפעל את מצב FCMv1 ובדוק הודעות דחיפה.

אם ה-NPS תומך ב-UC-One Connect ו/או ביישומי Android אחרים (שאינם של Cisco).

4

הפעל מחדש מצב מדור קודם של FCM.

אם ה-NPS תומך ב-SaaS של UC-One. אם אתה משאיר את FCMv1 זמין, לפני שתגדיר את ה- Proxy של NPS, לחץ הודעות ל- UC-One SaaS יתחיל להיכשל.

5

התקן תיקוני פרוקסי של אימות NPS.

אם NPS נמצא ב-XSP R22 או ב-XSP R23.

6

קביעת התצורה של NPS לשימוש בפרוקסי האימות של NPS:

  • צרף תמיכה טכנית מ- NPS

  • בקש חשבון CI OAuth

  • יצירת חשבון CI ב- NPS וקביעת תצורה של פסק זמן של אסימון רענון

  • הוספת מזהי אפליקציה לאנדרואיד

  • הוספת מזהי אפליקציה ל-iOS

  • בדיקה/הגדרה של כתובות URL ופסקי זמן לחיבור

  • הוספת אפליקציות לרשימת ההיתרים של AS

  • (מחדש) הפעל את FCMv1

  • הפעל מחדש את XSP / ADP

  • בדיקת PNs עבור אפליקציות iOS ו-Android

תמיד נדרש.

7

הסר את מקשי המצב מדור קודם של FCM.

עבור אפליקציות הנתמכות בהצלחה על-ידי NPS ב- FCMv1.

משימה זו היא חובה עבור הודעות דחיפה לאפליקציות UC-One SaaS ו- Webex בפלטפורמות iOS.

לפני שתתחיל

אם ה- XSP שלך פועל R22, עליך להחיל ap354313 לפני שתוכל להגדיר את יישום NPS לשימוש ב- HTTP/2 עבור APNS.

1

הגדר את כתובת ה- URL והפרמטרים של החיבור לייצור ב- XSP_CLI/Applications/NotificationPushServer/APNS/Production>

set url https://api.push.apple.com/3/device

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

הערה: אל תגדיר את פסק הזמן של החיבור מתחת ל- 1000.

2

הוסף את מזהי היישומים להקשר של יישומי APNS, הקפד להשמיט את מקש Auth – הגדר אותו לריק.

עבור UC-One SaaS:XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.broadsoft.uc-one

עבור אפליקציית Webex: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

בדוק את מקשי האימות עם XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

אם מפתח האימות אינו ריק עבור com.broadsoft.uc-one, ניתן לנקות אותו באמצעות XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear the-authkey

5

אפשר HTTP/2:

XSP_CLI/Applications/NotificationPushServer/APNS/GeneralSettings> set HTTP2Enabled true

6

עבור יישומי SaaS של UC-One בלבד: היכנס לפורטל המשווקים ועבור אל תצורה > ברודוורקס > .

7

גלול מטה אל הקטע שרת דחיפת ההודעות ובחר את הגרסה שלך (למשל גרסה 22), לאחר מכן פעל לפי ההוראות המופיעות בפורטל.

  • משימה זו חלה על NPS ב- XSP. התעלם ממנו אם ה- NPS שלך נמצא ב- ADP.

  • באפשרותך להשתמש בהליך זה לצורך מעבר להודעות FCMv1 עבור יישומי UC-One Connect או UC-One SaaS לאנדרואיד.

  • עליך להשתמש ב- FCMv1 אם ברצונך להשתמש ב- Proxy של NPS כדי לאמת הודעות דחיפה ל- UC-One או ליישומי Webex Android.

  • משימה זו מכינה את ה- NPS עבור FCMv1 כך שתוכל להפעיל אותו כחלק מהתצורה של פרוקסי אימות NPS. אל תפעיל את FCMv1 עד שתהיה מוכן להגדיר את ה- Proxy של אימות NPS, או שהודעות ללקוחות SaaS ייכשלו.

1

קבל את מזהה הפרויקט ממסוף Firebase:

  1. היכנסו console.firebase.google.com.

  2. בחר את פרויקט היישום UC-One (התחבר או SaaS) ופתח את הגדרות הפרוייקט שלו.

  3. פתח את הכרטיסיה כללי והקליט את מזהה הפרוייקט.

2

קבל את המפתח הפרטי של חשבון השירות שלך מ- Firebase:

  1. נווט אל הכרטיסיה חשבונות שירות בהגדרות הפרוייקט.

  2. או ליצור חשבון שירות חדש ולקבל את המפתח הפרטי שלו.

  3. לחלופין, פתח חשבון שירות קיים וצור עבורו מפתח פרטי חדש.

    הערה: חשבון השירות חייב להיות בעל הרשאת firebaseadmin-sdk.

  4. הורד את המפתח למיקום מאובטח.

3

העתק את המפתח ל- XSP המארח את ה- NPS שלך.

4

הוסף את מזהה הפרוייקט ואת המפתח הפרטי המשויך להקשר של פרוייקטי FCM:

XSP_CLI/Applications/NotificationPushServer/FCM/Projects> add project-id path/to/keyfile

5

הוסף את היישום UC-One (חיבור או SaaS) ואת מזהה הפרויקט המשויך להקשר של יישומי FCM:

XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.connect projectId project-id

6

בדוק את התצורה עבור FCM מול התכונות והערכים המומלצים המוצגים כאן. השתמש בגרסת set של הפקודה כדי לשנות ערכים במידת הצורך:

הפעל XSP_CLI/Applications/NotificationPushServer/FCM> get

פרמטר

ערך מומלץ

authURL

https://www.googleapis.com/oauth2/v4/token

pushURL

https://fcm.googleapis.com/v1/projects/PROJECT-ID/messages:send

scope

https://www.googleapis.com/auth/firebase.messaging

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3000

connectionIdleTimeoutInSeconds

600

  • משימה זו חלה על NPS ב- ADP. התעלם ממנו אם ה-NPS שלך נמצא ב-XSP.

  • באפשרותך להשתמש בהליך זה לצורך מעבר להודעות FCMv1 עבור יישומי UC-One Connect או UC-One SaaS לאנדרואיד.

  • עליך להשתמש ב- FCMv1 אם ברצונך להשתמש ב- Proxy של NPS כדי לאמת הודעות דחיפה ל- UC-One או ליישומי Webex Android.

  • משימה זו מכינה את ה- NPS עבור FCMv1 כך שתוכל להפעיל אותו כחלק מהתצורה של פרוקסי אימות NPS. אל תפעיל את FCMv1 עד שתהיה מוכן להגדיר את ה- Proxy של אימות NPS, או שהודעות ללקוחות SaaS ייכשלו.

1

קבל את מזהה הפרויקט ממסוף Firebase:

  1. היכנסו console.firebase.google.com.

  2. בחר את פרויקט היישום UC-One (התחבר או SaaS) ופתח את הגדרות הפרוייקט שלו.

  3. פתח את הכרטיסיה כללי והקליט את מזהה הפרוייקט.

2

קבל את המפתח הפרטי של חשבון השירות שלך מ- Firebase:

  1. נווט אל הכרטיסיה חשבונות שירות בהגדרות הפרוייקט.

  2. או ליצור חשבון שירות חדש ולקבל את המפתח הפרטי שלו.

  3. לחלופין, פתח חשבון שירות קיים וצור עבורו מפתח פרטי חדש.

    הערה: חשבון השירות חייב להיות בעל הרשאת firebaseadmin-sdk.

  4. הורד את המפתח (קובץ .json) למיקום מאובטח.

3

ייבא את קובץ ה-.json לשרת ADP /bw/install.

4

התחבר ל- ADP CLI והוסף את מפתח הפרויקט וה- API להקשר הפרויקטים של FCM:

ADP_CLI/Applications/NotificationPushServer/FCM/Projects> add connect-ucaas /bw/install/filename.json

5

הוסף את מזהה היישום והפרוייקט להקשר יישומי FCM:

ADP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.ucaas.connect projectId project-id

6

אמת את התצורה שלך:

ADP_CLI/Applications/NotificationPushServer/FCM/Projects> get
Project ID Accountkey
========================
connect-ucaas ********
ADP_CLI/Applications/NotificationPushServer/FCM/Applications> get
Application ID Project ID
===================================
com.broadsoft.ucaas.connect connect-ucaas

עליך לעשות זאת (כחלק מההעברה) רק אם:

  • ה-NPS שלך משמש עבור אפליקציות UC-One SaaS או BroadWorks Connect Android.

  • כבר בדקת שהודעות דחיפת שיחות לאפליקציות אחרות פועלות עם ה-API של FCMv1.

אתה הופך את FCMv1 ללא זמין באופן זמני מכיוון שמפתחות FCMv1 עבור יישומים אלה חייבים להיות זמינים רק במהלך תהליך קביעת תצורת ה- Proxy של אימות NPS.

1

היכנס ל-XSP המארח את ה-NPS המשותף שלך.

2

נווט אל ההקשר של FCM והפוך את FCM v1 ללא זמין: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false כדי לחזור לשימוש במפתח ה-API מדור קודם של FCM.

1

צור בקשת שירות עם איש הקשר שלך לקליטה, או עם TAC, כדי להקצות את חשבון לקוח OAuth שלך (Webex Common Identity) . כותרת את תצורת NPS של בקשת השירות שלך עבור הגדרתפרוקסי Auth.

אנו נותנים לך מזהה לקוח OAuth, סוד לקוח ואסימון רענון תקף למשך 60 יום. אם תוקף האסימון יפוג לפני שתשתמש בו עם ה- NPS שלך, תוכל להעלות בקשה נוספת.
2

צור את חשבון הלקוח ב- NPS:

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> set clientId client-Id-From-Step1

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> set clientSecret
New Password: client-Secret-From-Step1

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> set RefreshToken
New Password: Refresh-Token-From-Step1

הפעל את הפקודה כדי לוודא שהערכים שהזנת תואמים לאלה שסופקו לך. XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

הזן את כתובת ה- URL של NPS Proxy והגדר את מרווח רענון האסימון (30 דקות מומלצות):

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url https://nps.uc-one.broadsoft.com/nps/

כדי לשפר את מהירות פתרון ה-DNS, במקום ה-FQDN הנוכחי nps.uc-one.broadsoft.com אנו ממליצים להשתמש ב-FQDN המתאים לאזור שלך.

כתובות FQDN מבוססות אזור:

מזרח ארה"ב:

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url https://broadworks-idp-proxy-a.wbx2.com/nps/

מערב ארה"ב:

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url https://broadworks-idp-proxy-r.wbx2.com/nps/

אירופה:

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url https://broadworks-idp-proxy-k.wbx2.com/nps/

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

אם הודעות הדחיפה מסתיימות עקב עיכוב בזיהוי DNS, יש להגדיל את ערך הזמן הקצוב ב "/etc/resolv.conf" קובץ בשרת BroadWorks.

4

(להודעות אנדרואיד) הוסף את מזהי היישום של Android להקשר יישומי FCM ב- NPS.

עבור אפליקציית Webex באנדרואיד: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.cisco.wx2.android

עבור אפליקציית UC-One באנדרואיד: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.broadsoft.connect

5

(להתראות Apple iOS) הוסף את מזהה היישום להקשר של יישומי APNS, הקפד להשמיט את מקש Auth - הגדר אותו לריק.

עבור אפליקציית Webex ב-iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

עבור אפליקציית UC-One ב-iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

קביעת התצורה של כתובות ה-URL הבאות של NPS:

הקשר של ממשק שורת פקודה (CLI) של XSP

פרמטר

ערך

XSP_CLI/Applications/NotificationPushServer/FCM>

authURL

https://www.googleapis.com/oauth2/v4/token

pushURL

https://fcm.googleapis.com/v1/projects//messages:send

scope

https://www.googleapis.com/auth/firebase.messaging

XSP_CLI/Applications/NotificationPushServer/APNS/Production>

url

https://api.push.apple.com/3/device

7

קביעת התצורה של הפרמטרים הבאים של חיבור NPS לערכים המומלצים המוצגים:

הקשר XSP CLI

פרמטר

ערך

XSP_CLI/Applications/NotificationPushServer/FCM>

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3000

connectionIdleTimeoutInSeconds

600

XSP_CLI/Applications/NotificationPushServer/APNS/Production>

connectionTimeout

3000

connectionPoolSize

2

connectionIdleTimeoutInSeconds

600

8

בדוק אם שרת היישומים סורק מזהי יישומים, מכיוון שייתכן שיהיה עליך להוסיף את יישומי Webex לרשימת ההיתרים:

  1. הפעל את AS_CLI/System/PushNotification> get ובדוק את הערך של enforceAllowedApplicationList. אם זה true, עליך להשלים את משימת המשנה הזו. אחרת, דלג על שאר משימת המשנה.

  2. AS_CLI/System/PushNotification/AllowedApplications> add com.cisco.wx2.android “Webex Android”

  3. AS_CLI/System/PushNotification/AllowedApplications> add com.cisco.squared “Webex iOS”

1

הפעל מחדש את ה-XSP:

bwrestart
2

בדוק התראות על שיחות לאנדרואיד על ידי ביצוע שיחות ממנוי BroadWorks ללקוח המתקשר באנדרואיד. ודא שהודעת השיחה מופיעה במכשיר Android.

הערה: אם הודעות דחיפה מתחילות להיכשל עבור יישום האנדרואיד UC-One, ייתכן שיש הגדרה שגויה. אם זה המצב שלך, אתה יכול לחזור ל- FCM מדור קודם באופן הבא:

  1. השבת את FCMv1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false

  2. הפעל מחדש את XSP: bwrestart

  3. בדוק את התצורה שלך.

  4. הפעל מחדש את FCMv1 והפעל מחדש את ה- XSP.

  5. חזור על הבדיקה.

3

בדוק את הודעות השיחה ל-iOS על-ידי ביצוע שיחות ממנוי BroadWorks ללקוח המתקשר ב-iOS. ודאו שהודעת השיחה מופיעה במכשיר ה-iOS.

הערה: אם הודעות דחיפה מתחילות להיכשל עבור יישום UC-One iOS, ייתכן שיש הגדרה שגויה. אם זה המצב שלך, תוכל לחזור לממשק הבינארי מדור קודם עם set HTTP2Enabled false