סקירה של Proxy אימות NPS


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

סקירת המתווך של NPS

לצורך תאימות עם Webex עבור BroadWorks, יש לתכנת את NPS שלך כדי לתמוך בתכונת Proxy של NPS, שרת דחיפה עבור VoIP ב-UCaaS.

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

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

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

גרסאות מינימליות ומגבלות Co-residency

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

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

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

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

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

NPS משותף

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

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

  • לאחר שאימתת שההתראות פועלות כראוי עבור יישומים ישנים עם NPS proxy, ולאחר מכן הסר את מפתח API FCM עבור יישום אנדרואיד, ואת מפתח אימות APNs עבור יישום iOS.

APNs HTTP/2

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

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

אנדרואיד FCMv1

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

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

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

רצף

כותרת משימה

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

1

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

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

2

בצע הגירה של NPS ל-FCMv1 עבור יישומי SaaS (או Connect) של UC.

אם ה-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 וזמנים מוקצבים של חיבור

  • הוסף יישומים לרשימת ההיתרים בתור

  • (Re-)הפעל FCMv1

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

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

תמיד נדרש.

7

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

עבור יישומים נתמכים בהצלחה על-ידי NPS ב-FCMv1.

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

לפני שתתחיל

אם ה-XSP שלך פועל R22, עליך להחיל AP <UNK> 4313 לפני שתוכל להגדיר את יישום 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, הקפד להשמיט את מפתח האימות – הגדר אותו ריק.

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

7

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

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

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

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

  • משימה זו מכינה את 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 או ליישומי Webex Android.

  • משימה זו מכינה את 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

היכנס ל-CLI ADP והוסף את הפרויקט ואת מפתח ה-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 עבור יישומים אלה חייבים להיות מופעלים רק במהלך תהליך התצורה של פרוקסי אימות 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 Proxy.

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

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

עבור יישום Webex ב-Android: 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

(עבור התראות iOS של אפל) הוסף את מזהה היישום להקשר יישומי APNS, הקפד להשמיט את מפתח האימות – הגדר אותו ריק.

עבור יישום 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

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

טבלה 2.

הקשר 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 הבאים לערכים המומלצים המוצגים:

טבלה 3.

הקשר CLI של XSP

פרמטר

ערך

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.

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