מבט כולל על פרוקסי אימות NPS


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

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

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

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

התכונה גם משפרת את היכולת של שרת דחיפת ההודעות לדחוף הודעות למכשירי אנדרואיד באמצעות ה-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 ניתן למצוא בכתובת https://xchange.broadsoft.com/node/1051580.

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

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

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

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.

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 להקשר יישומי 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:

טבלה 2.

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

טבלה 3.

הקשר 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