מאמר זה מתאר כיצד להגדיר 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, להפוך אותם לזמינים ולבדוק אותם, ולאחר מכן להשבית עד שתהיה מוכן להשלים את הוראות ההתקנה (זרימת ההעברה מתועדת במאמר זה).

סיכום חזותי של העברה ל- 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>

הגדר כתובת URL https://api.push.apple.com/3/device

הגדר חיבורPoolSize 2

הגדר חיבורTimeout 3000

הגדר חיבורIdleTimeoutInשניות 600

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

2

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

עבור UC-One SaaS:XSP_CLI/יישומים/NotificationPushServer/APNS/Production/Tokens> הוסף com.broadsoft.uc-one

עבור אפליקציית Webex: XSP_CLI/יישומים/NotificationPushServer/APNS/Production/Tokens> הוסף com.cisco.squared

3

בדוק את מפתחות האימות עם XSP_CLI/יישומים/NotificationPushServer/APNS/Production/Tokens> קבל

4

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

5

אפשר HTTP/2:

XSP_CLI/יישומים/NotificationPushServer/APNS/GeneralSettings> הגדר 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/יישומים/NotificationPushServer/FCM/Projects> הוסף נתיב מזהה פרויקט/אל/קובץ מפתח

5

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

XSP_CLI/יישומים/NotificationPushServer/FCM/יישומים> הוסף יישוםId com.broadsoft.connect projectמזהה פרויקט-מזהה

6

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

הפעל CLI_/יישומים/NotificationPushServer/FCM> קבל

פרמטר

ערך מומלץ

כתובת AuthURL

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

כתובת לדחוף

https://fcm.googleapis.com/v1/projects/מזהה פרויקט/הודעות:שלח

טווח

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

tokenTimeToLiveInשניות

3600

גודל הבריכה

10

חיבורTimeoutInMilliseconds

3000

לא פעילTimeoutInSeconds

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/יישומים/NotificationPushServer/FCM/פרויקטים> הוסף connect-ucaas /bw/install/filename.json

5

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

ADP_CLI/יישומים/NotificationPushServer/FCM/יישומים> הוסף יישוםId com.broadsoft.ucaas.connect projectמזהה פרויקט-מזהה

6

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

אדפ_CLI/יישומים/NotificationPushServer/FCM/פרויקטים> קבל מזהה פרויקט Accountkey ======================== connect-ucaas ********
אדפ_CLI/יישומים/NotificationPushServer/FCM/יישומים> קבל מזהה פרויקט מזהה יישום =================================== 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> הגדר false v1enabled כדי לחזור לשימוש במפתח ה-API מדור FCM.

1

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

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

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

XSP_CLI/יישומים/NotificationPushServer/CiscoCI/לקוח> הגדר לקוח-Id-From-Step1

XSP_CLI/יישומים/NotificationPushServer/CiscoCI/Client> הגדר את הלקוחSecret סיסמה חדשה: לקוח-Secret-From-Step1

XSP_CLI/יישומים/NotificationPushServer/CiscoCI/לקוח> הגדר סיסמה חדשה ל-RefreshToken : רענון- אסימון- משלב1

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

3

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

XSP_CLI/יישומים/NotificationPushServer/CloudNPSService> הגדר כתובת URL https://nps.uc-one.broadsoft.com/nps/

XSP_CLI/יישומים/NotificationPushServer/CloudNPSService> הגדר מרווח VOIPTokenRefreshInterval 1800

4

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

עבור אפליקציית Webex באנדרואיד: XSP_CLI/יישומים/NotificationPushServer/FCM/יישומים> הוסף com.cisco.wx2.android

עבור אפליקציית UC-One באנדרואיד: XSP_CLI/יישומים/NotificationPushServer/FCM/יישומים> הוסף com.broadsoft.connect

5

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

עבור אפליקציית Webex ב-iOS: XSP_CLI/יישומים/NotificationPushServer/APNS/Production/Tokens> הוסף com.cisco.squared

עבור אפליקציית UC-One ב-iOS: XSP_CLI/יישומים/NotificationPushServer/APNS/Production/Tokens> הוסף com.cisco.squared

6

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

הקשר XSP CLI

פרמטר

ערך

XSP_CLI/יישומים/NotificationPushServer/FCM>

כתובת AuthURL

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

כתובת לדחוף

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

טווח

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

XSP_CLI/יישומים/NotificationPushServer/APNS/Production>

URL

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

7

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

הקשר XSP CLI

פרמטר

ערך

XSP_CLI/יישומים/NotificationPushServer/FCM>

tokenTimeToLiveInשניות

3600

גודל הבריכה

10

חיבורTimeoutInMilliseconds

3000

לא פעילTimeoutInSeconds

600

XSP_CLI/יישומים/NotificationPushServer/APNS/Production>

סיום זמן הפעלה של חיבור

3000

גודל הבריכה

2

לא פעילTimeoutInSeconds

600

8

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

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

  2. כ_CLI/System/PushNotification/AllowedApplications> הוסף com.cisco.wx2.android "Webex Android"

  3. כ_CLI/System/PushNotification/AllowedApplications> הוסף com.cisco.squared "Webex iOS"

1

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

הפעלה מחדש
2

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

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

  1. השבת את FCMv1: XSP_CLI/יישומים/NotificationPushServer/FCM> הגדר V1מופעל false

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

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

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

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

3

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

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