מאמר זה מתאר כיצד להגדיר NPS משותף לשימוש ב- proxy של אימות NPS, כך שניתן יהיה להשתמש בו גם כדי לדחוף הודעות שיחה לאפליקציות Webex. אם NPS שלך אינו תומך ביישומים אחרים, באפשרותך לבצע את ההליך הפשוט ב- Webex for BroadWorks Solution Guide https://help.webex.com/z9gt5j.

סקירה כללית של NPS Proxy

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

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

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

XSP (או Application Delivery Platform ADP) המארח NPS חייב לעמוד בדרישות הבאות:

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

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

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

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

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

  • מידע נוסף על שרת ADP ניתן למצוא בכתובת https://xchange.broadsoft.com/node/1051580.

NPS משותף

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

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

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

APNs HTTP/2

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

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

אנדרואיד FCMv1

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

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

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

רצף

כותרת המשימה

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

1

העבר NPS ל- HTTP/2 עבור אפליקציות UC-One SaaS (או Connect) iOS.

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

2

העבר NPS ל- FCMv1 עבור אפליקציות UC-One SaaS (או Connect) Android.

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

3

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

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

4

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

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

5

התקן תיקוני proxy של אימות NPS.

אם NPS פועל על XSP R22 או XSP R23.

6

קבע את תצורת NPS לשימוש ב- proxy של אימות NPS:

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

  • בקש חשבון CI OAuth

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

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

  • הוספת מזהי אפליקציות 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

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

7

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

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

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

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

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

1

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

  1. היכנס אל console.firebase.google.com.

  2. בחר את פרוייקט האפליקציה UC-One (Connect או 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 (Connect או 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 Android.

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

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

1

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

  1. היכנס אל console.firebase.google.com.

  2. בחר את פרוייקט האפליקציה UC-One (Connect או 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.

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

אתה הופך את 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). תן כותרת לבקשת השירות שלך תצורת NPS עבור הגדרתProxy של Auth.

Cisco מספקת לך מזהה לקוח 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/

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

4

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

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

עבור אפליקציית UC-One ב- Android: 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:

הקשר XSP CLI

פרמטר

ערך

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

בדוק הודעות שיחה ל- Android על-ידי ביצוע שיחות ממנוי BroadWorks ללקוח השיחות ב- Android. ודא שההודעה על שיחה מופיעה במכשיר 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