نظرة عامة على وكيل مصادقة NPS


توضح هذه المقالة كيفية تكوين NPS مشترك لاستخدام وكيل مصادقة NPS، بحيث يمكن استخدامه أيضا لدفع إعلامات المكالمات إلى تطبيقات Webex. إذا كان NPS الخاص بك لا يدعم تطبيقات أخرى ، فيمكنك اتباع الإجراء المبسط في دليل https://help.webex.com/z9gt5jحلول Webex for BroadWorks .

نظرة عامة على وكيل NPS

للتوافق مع Webex for BroadWorks ، يجب تصحيح NPS الخاص بك لدعم ميزة وكيل NPS ، خادم الدفع ل VoIP في UCaaS.

تقوم الميزة بتنفيذ تصميم جديد في خادم دفع الإشعارات لحل الثغرة الأمنية لمشاركة المفاتيح الخاصة لشهادة الإشعارات المباشرة مع موفري الخدمات لعملاء الأجهزة المحمولة. بدلا من مشاركة شهادات ومفاتيح إشعارات الدفع مع مزود الخدمة ، يستخدم NPS واجهة برمجة تطبيقات جديدة للحصول على رمز مميز قصير الأجل للإشعار الفوري من الواجهة الخلفية ل UCaaS ، ويستخدم هذا الرمز المميز للمصادقة مع Apple APNs وخدمات Google FCM.

تعمل الميزة أيضا على تحسين قدرة خادم دفع الإشعارات على دفع الإشعارات إلى أجهزة Android من خلال واجهة برمجة تطبيقات HTTPv1 الجديدة للمراسلة السحابية من Google Firebase (FCM).

يجب أن يستوفي XSP (أو 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 المشترك لاستخدام وكيل NPS:

  • إذا تم استخدام NPS الخاص بك مع تطبيقات أخرى (وليس فقط تطبيق Webex): قم أولا بتكوين وكيل NPS، ثم قم بتغيير NPS من استخدام واجهة برمجة تطبيقات FCM القديمة إلى استخدام واجهة برمجة تطبيقات FCM HTTP v1.

  • بعد التحقق من أن الإشعارات تعمل بشكل صحيح للتطبيقات القديمة باستخدام وكيل NPS، قم بإزالة مفتاح واجهة برمجة تطبيقات FCM لتطبيق Android، ومفتاح مصادقة APNs لتطبيق iOS.

APNs HTTP/2

  • إذا قمت بنشر أي تطبيقات iOS ليست من Cisco/BroadSoft، فقم بتكوين هذه التطبيقات لاستخدام بروتوكول HTTP/2 APNS قبل تكوين 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 يدعم حاليا تطبيق Connect أو UC-One SaaS، فقم بتمكين مفاتيح FCMv1 بعد تكوين وكيل NPS. نوصي بترحيل جميع التطبيقات الإضافية إلى مفاتيح FCMv1، وتمكينها واختبارها، ثم تعطيلها حتى تصبح مستعدا لإكمال إرشادات الإعداد (يتم توثيق تدفق الترحيل في هذه المقالة).

الشكل رقم 1. ملخص مرئي للترحيل إلى وكيل مصادقة NPS
الجدول رقم 1. ملخص المهام المراد ترحيلها إلى وكيل 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 ممكنا، قبل تكوين وكيل NPS، فستبدأ الإعلامات المباشرة إلى UC-One SaaS في الفشل.

5

تثبيت تصحيحات وكيل مصادقة NPS.

إذا كان NPS على XSP R22 أو XSP R23.

6

تكوين NPS لاستخدام وكيل مصادقة 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، مع التأكد من حذف مفتاح المصادقة - قم بتعيينه على فارغ.

بالنسبة إلى 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 إذا كنت تريد استخدام وكيل NPS لمصادقة الإعلامات المباشرة إلى UC-One أو تطبيقات Webex Android.

  • تقوم هذه المهمة بإعداد NPS ل FCMv1 بحيث يمكنك تمكينه كجزء من تكوين وكيل مصادقة NPS. لا تقم بتمكين FCMv1 حتى تكون مستعدا لتكوين وكيل مصادقة 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 Android.

  • يجب عليك استخدام FCMv1 إذا كنت تريد استخدام وكيل NPS لمصادقة الإعلامات المباشرة إلى UC-One أو تطبيقات Webex Android.

  • تقوم هذه المهمة بإعداد NPS ل FCMv1 بحيث يمكنك تمكينه كجزء من تكوين وكيل مصادقة NPS. لا تقم بتمكين FCMv1 حتى تكون مستعدا لتكوين وكيل مصادقة 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 وأضف مفتاح المشروع وواجهة برمجة التطبيقات إلى سياق مشاريع 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.

تقوم بتعطيل FCMv1 مؤقتا لأنه يجب تمكين مفاتيح FCMv1 لهذه التطبيقات فقط أثناء عملية تكوين وكيل مصادقة NPS.

1

سجل الدخول إلى XSP الذي يستضيف NPS المشترك.

2

انتقل إلى سياق FCM وقم بتعطيل FCM v1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false للعودة إلى استخدام مفتاح واجهة برمجة التطبيقات القديم ل FCM.

1

قم بإنشاء طلب خدمة مع جهة اتصال الإعداد الخاصة بك ، أو مع TAC ، لتوفير حساب عميل OAuth (Webex Common Identity). عنوان طلب الخدمة الخاص بك NPS تكوين لإعداد وكيل المصادقة.

تمنحك 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، واضبط الفاصل الزمني لتحديث الرمز المميز (يوصى ب 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 على 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

(لإشعارات Apple 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

تكوين عناوين 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

اختبر إشعارات المكالمات إلى Android عن طريق إجراء مكالمات من أحد مشتركي BroadWorks إلى عميل الاتصال على Android. تحقق من ظهور إشعار المكالمة على جهاز Android.

ملاحظة: إذا بدأت إشعارات الدفع في الفشل لتطبيق UC-One Android ، فمن الممكن أن يكون هناك خطأ في التكوين. إذا كان هذا هو موقفك، فيمكنك العودة إلى 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