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


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

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

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

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

وتعزز الميزة أيضًا قدرة خادم دفع الإشعارات على دفع الإشعارات إلى أجهزة Android من خلال واجهة API الجديدة Google Firebase Cloud Messaging (FCM) HTTPv1.

يجب أن تفي XSP (أو منصة تسليم التطبيق ADP) التي تستضيف NPS بالمتطلبات التالية:

الحد الأدنى للإصدارات والقيود على الإقامة المشتركة

  • يجب تنشيط NPS على XSP/ADP مخصص ويجب أن يكون NPS التطبيق المستضاف الوحيد على الخادم. هذا للقضاء على التداخل مع تسليم إشعارات الدفع.

  • يجب أن يكون هناك تطبيق NPS واحد فقط في عملية النشر. إذا كنت تستخدم UC-One Collaboration/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 من استخدام API القديم لـ FCM إلى استخدام API HTTP V1 FCM.

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

APNs HTTP/2

  • إذا قمت بنشر أي تطبيقات iOS ليست من Cisco/BroadSoft، فقم بتكوين تلك التطبيقات لاستخدام بروتوكول HTTP/2 APNS قبل تكوين NPS لاستخدام وكيل NPS.

  • يجب ترحيل XSP/ADPs التي تدعم بالفعل تطبيق Collaboration أو SaaS BroadWorks إلى HTTP/2. للحصول على معلومات تفصيلية حول تكوين HTTP/2، راجع HTTP/2 Support to Notification Push Server for APNS (تم تلخيص ترحيل nps لدعم تطبيقات دائرة الرقابة الداخلية هذه في هذه المقالة).

Android 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 لتطبيقات Android UC-One SaaS (أو Connect).

إذا كانت 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

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

  • تقوم هذه المهمة بإعداد NPS لـ FCMv1 حتى تتمكن من تمكينه كجزء من تكوين وكيل مصادقة NPS. لا تقم بتمكين FCMv1 حتى تكون مستعدًا لتكوين وكيل مصادقة NPS، أو ستفشل الإشعارات لعملاء SaaS.

1

احصل على معرف المشروع من وحدة تحكم Firebase:

  1. قم بتسجيل الدخول إلى console.firebase.google.com.

  2. حدد مشروع تطبيق UC-One (Connect أو SaaS)، وافتح إعدادات المشروع الخاصة به.

  3. افتح علامة التبويب العامة وقم بتسجيل معرف المشروع.

2

احصل على مفتاح حساب الخدمة الخاص بك من Firebase:

  1. انتقل إلى علامة تبويب "حسابات الخدمة" في إعدادات المشروع.

  2. إما إنشاء حساب خدمة جديد والحصول على مفتاحه الخاص.

  3. أو فتح حساب خدمة موجود وإنشاء مفتاح خاص جديد له.

    ملاحظة: يجب أن يكون لدى حساب الخدمة إذن firebaseadmin-sdk .

  4. قم بتنزيل المفتاح (.json file) إلى موقع آمن.

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 لهذه التطبيقات يجب فقط تمكينها أثناء عملية تكوين وكيل مصادقة 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، مع الحرص على حذف مفتاح 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

اختبار إشعارات المكالمات إلى 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