NPS Kimlik Doğrulama Proxy'sine Genel Bakış


Bu makalede, paylaşılan bir NPS kimlik doğrulama proxy'sinin Webex uygulamalarına çağrı bildirimlerini göndermek için de kullanılabilecek şekilde nasıl yapılandırılacağı anlatılmaktadır. NPS'niz diğer uygulamaları desteklemiyorsa https://help.webex.com/z9gt5j adresindeki Webex for BroadWorks Çözüm Kılavuzu'nda açıklanan basitleştirilmiş prosedürü izleyebilirsiniz.

NPS Proxy'sine Genel Bakış

Webex for BroadWorks ile uyumluluk için, NPS'nize UCaaS'de VoIP için Gönderme Sunucusu adlı NPS Proxy özelliği destekleyecek şekilde yama uygulanması gerekir.

Bu özellik, anında iletme bildirimi sertifikası özel anahtarlarının mobil istemciler için hizmet sağlayıcılarıyla paylaşılmasıyla ilgili güvenlik açığını çözmek amacıyla Bildirim Gönderme Sunucusu'nda yeni bir tasarım uygular. Anında iletme bildirimi sertifikaları ve anahtarlarını hizmet sağlayıcılarıyla paylaşmak yerine, NPS, yeni bir API kullanarak UCaaS arka ucundan kısa süreli bir anında iletme bildirimi belirteci alır ve Apple APNs ile Google FCM hizmetlerinde kimlik doğrulaması için bu belirteci kullanır.

Bu özellik, Bildirim Gönderme Sunucusu'nun Android cihazlara yeni Google Firebase Cloud Messaging (FCM) HTTPv1 API'si üzerinden anında iletme bildirimi gönderme özelliğini de geliştirir.

Bu özelliğe yönelik BroadWorks yamaları Xchange üzerinde sunulmuştur: https://xchange.broadsoft.com/node/1046235

Daha fazla bilgi için Xchange üzerindeki UCaaS'de VoIP Gönderme Sunucusu Özellik Açıklaması'nı inceleyin: https://xchange.broadsoft.com/node/1045458

NPS'yi barındıran XSP (veya Uygulama Dağıtım Platformu - ADP) aşağıdaki şartları karşılamalıdır:

Minimum Sürümler ve Birlikte Bulunma Sınırlamaları

  • NPS, özel bir XSP/ADP üzerinde etkinleştirilmelidir ve sunucuda barındırılan tek uygulama olmalıdır. Bunun amacı, anında iletme bildirimlerinin gönderilmesine müdahaleyi ortadan kaldırmaktır .

  • Bir dağıtımda yalnızca bir NPS uygulaması olmalıdır. Mobil UC-One Collaborate/Connect ve/veya UC-One SaaS kullanıyorsanız ve Webex for BroadWorks'ü uyguluyorsanız bu tek NPS'yi tüm uygulamalar için paylaşmanız gerekir.

  • NPS, sürüm R22 veya daha sonrası bir XSP veya ADP üzerinde olmalıdır.

    R22/R23 XSP, XSP'nin yalnızca NPS çalıştırması ve AS'nin R21.SP1 olması durumunda R21 yığınıyla uyumludur. Daha fazla bilgi için BroadWorks Uyumluluk Matrisi'ni inceleyin.

  • ADP sunucusuyla ilgili daha fazla bilgiye https://xchange.broadsoft.com/node/1051580 adresinden ulaşabilirsiniz.

Paylaşılan NPS

Paylaşılan NPS'yi NPS Proxy'sini kullanacak şekilde yapılandırmadan önce bu notları okuyun:

  • NPS diğer uygulamalarla (yalnızca Webex uygulaması değil) birlikte kullanılıyorsa: NPS Proxy'sini yapılandırmadan önce NPS'nin FCM eski API'sini kullanma ayarını FCM HTTP v1 API'sini kullanma şeklinde değiştirmeyin.

    NPS'yi, NPS Proxy'sini kullanacak şekilde yapılandırırken değişiklik yapabilirsiniz.

  • NPS proxy'si ile eski uygulamalar için bildirimlerin düzgün çalıştığını doğruladığınızda, Android uygulamasının FCM API anahtarını ve iOS uygulamasının APNs kimlik doğrulama anahtarını kaldırabilirsiniz.

APNs HTTP/2

  • Cisco/BroadSoft'un sundukları dışında bir iOS uygulaması dağıttıysanız NPS'yi NPS proxy'sini kullanacak şekilde yapılandırmadan önce bu uygulamaları HTTP/2 APNS protokolünü kullanacak şekilde yapılandırın.

  • Halihazırda Collaborate veya SaaS BoardWorks uygulamasını destekleyen XSP/ADP'lerin HTTP/2'ye taşınması gerekir. HTTP/2'nin yapılandırılması hakkında ayrıntılı bilgi için bkz. APNS İçin Bildirim Gönderme Sunucusuna Yönelik HTTP/2 Desteği (NPS'nin bu iOS uygulamalarını desteklemesi için taşınması ile ilgili bilgiler bu makalede özetlenmektedir).

Android FCMv1

  • Cisco/BroadSoft'un sundukları dışında bir Android uygulaması dağıttıysanız NPS'yi NPS proxy'sini kullanacak şekilde yapılandırmadan önce bu uygulamaları FCMv1 anahtarlarını kullanacak şekilde yapılandırın.

  • XSP/ADP şu anda Connect veya UC-One SaaS uygulamasını destekliyorsa FCMv1 anahtarları, NPS proxy'si yapılandırılana kadar etkinleştirilemez. Tüm uygulamaları FCMv1 anahtarlarına taşımanızı, etkinleştirip test etmenizi ve daha sonra kurulum talimatlarını (geçiş akışı bu makalede açıklanmaktadır) tamamlamaya hazır olana kadar devre dışı bırakmanızı öneririz.

Şekil 1. NPS Kimlik Doğrulama Proxy'sine Geçişin Görsel Özeti
Tablo 1. NPS Proxy'sine Geçiş Görevlerinin Özeti

Sıralama

Görev Başlığı

Görev Ne Zaman/Neden Gereklidir?

1

UC-One SaaS (veya Connect) iOS uygulamaları için NPS'yi HTTP/2'ye geçirin.

NPS bu uygulamaları destekliyorsa ve henüz HTTP/2 için yapılandırmamışlarsa.

2

UC-One SaaS (veya Connect) Android uygulamaları için NPS'yi FCMv1'e geçirin.

NPS bu uygulamaları destekliyorsa ve henüz FCMv1 için yapılandırmamışlarsa.

3

FCMv1 modunu etkinleştirin ve anında iletme bildirimlerini test edin.

NPS, UC-One Connect ve/veya diğer (Cisco harici) Android uygulamalarını destekliyorsa.

4

FCM eski modunu yeniden etkinleştirin.

NPS, UC-One SaaS'ı destekliyorsa. NPS proxy'sini yapılandırmadan önce FCMv1'i etkin halde bırakırsanız UC-One SaaS'a gönderilen anında iletme bildirimleri başarısız olmaya başlar.

5

NPS kimlik doğrulama proxy'si yamalarını yükleyin.

NPS, XSP R22 veya XSP R23 üzerindeyse.

6

NPS'yi NPS kimlik doğrulama proxy'sini kullanacak şekilde yapılandırın:

  • NPS'den teknik desteği ekleme

  • CI OAuth hesabı isteme

  • NPS'de CI hesabı oluşturma ve yenileme belirteci zaman aşımını yapılandırma

  • Android uygulama kimliklerini ekleme

  • iOS uygulama kimliklerini ekleme

  • URL'leri ve bağlantı zaman aşımlarını kontrol etme/ayarlama

  • Uygulamaları AS izin verilenler listesine ekleme

  • FCMv1'i (yeniden) etkinleştirme

  • XSP / ADP'yi yeniden başlatma

  • iOS ve Android uygulamaları için PN'leri test etme

Her zaman gereklidir.

7

FCM eski mod tuşlarını kaldırın.

FCMv1 üzerinde NPS tarafından başarıyla desteklenen uygulamalar için.

Bu görev, iOS platformlardaki UC-One SaaS ve Webex uygulamalarına yönelik anında iletme bildirimleri için zorunludur.

Başlamadan önce

XSP'niz R22 çalıştırıyorsa NPS uygulamasını APNS için HTTP/2 kullanmak üzere yapılandırmadan önce ap354313'ü uygulamanız gerekir.

1

Üretim URL'sini ve XSP_CLI/Applications/NotificationPushServer/APNS/Production> konumundaki bağlantı parametrelerini ayarlayın

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

Not: Bağlantı zaman aşımını 1000 değerinin altına ayarlamayın.

2

Kimlik doğrulama anahtarını atlayıp boş bırakarak uygulama kimliklerini APNS uygulamaları bağlamına ekleyin.

UC-One SaaS için:XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.broadsoft.uc-one

Webex uygulaması için: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get ile kimlik doğrulama anahtarlarını kontrol edin

4

com.broadsoft.uc-one için kimlik doğrulama anahtarı boş değilse XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear the-authkey ile temizleyebilirsiniz

5

HTTP/2'yi etkinleştirin:

XSP_CLI/Applications/NotificationPushServer/APNS/GeneralSettings> set HTTP2Enabled true

6

Yalnızca UC-One SaaS uygulamaları için: Bayi portalında oturum açın ve Configuration (Yapılandırma) > BroadWorks > öğesine gidin.

7

Bildirim Gönderme Sunucusu bölümüne gidin ve sürümünüzü (örneğin Sürüm 22) seçin ve ardından portalda verilen talimatları izleyin.

  • Bu görev XSP üzerindeki NPS için geçerlidir. NPS'niz ADP üzerindeyse yoksayın.

  • UC-One Connect veya UC-One SaaS Android uygulamalarına yönelik FCMv1 bildirimlerine geçiş yapmak için bu prosedürü kullanabilirsiniz.

  • UC-One veya Webex Android uygulamalarına gönderilen anında iletme bildirimlerinin kimliğini doğrulamak için NPS proxy'sini kullanmak istiyorsanız FCMv1'yi kullanmanız gerekir.

  • Bu görev, NPS'yi FCMv1 için hazırlar. Böylece, NPS kimlik doğrulama proxy'sinin yapılandırılması kapsamında etkinleştirebilirsiniz. NPS kimlik doğrulama proxy'sini yapılandırmaya hazır olana kadar FCMv1'i etkinleştirmeyin . Aksi takdirde, SaaS istemcilerine gönderilen bildirimler başarısız olur.

1

Firebase konsolundan proje kimliğini alma:

  1. console.firebase.google.com'da oturum açın.

  2. UC-One (Connect veya SaaS) uygulama projesini seçin, proje ayarlarını açın.

  3. Genel sekmesini açıp proje kimliğini kaydedin.

2

Firebase'den hizmet hesabınızın özel anahtarını alma:

  1. Proje ayarlarında Service account (Hizmet hesapları) sekmesine gidin.

  2. Yeni bir hizmet hesabı oluşturun ve hizmetin özel anahtarını alın.

  3. Dilerseniz mevcut bir hizmet hesabını açabilir ve bu hesap için yeni bir özel anahtar oluşturabilirsiniz.

    Not: Hizmet hesabına firebaseadmin-SDK izni verilmiş olmalıdır.

  4. Anahtarı güvenli bir konuma indirin.

3

Anahtarı, NPS'nizi barındıran XSP'ye kopyalayın.

4

Proje kimliğini ve ilişkili özel anahtarı FCM projeleri bağlamına ekleyin:

XSP_CLI/Applications/NotificationPushServer/FCM/Projects> add project-id path/to/keyfile

5

UC-One (Connect veya SaaS) uygulamasını ve ilişkili proje kimliğini FCM uygulamaları bağlamına ekleyin:

XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.connect projectId project-id

6

Burada belirtilen özellikler ve önerilen değerlerle karşılaştırarak FCM'nin yapılandırmasını kontrol edin. Gerekirse komutun set sürümünü kullanarak değerleri değiştirin:

XSP_CLI/Applications/NotificationPushServer/FCM> get çalıştırın

Parametre

Önerilen Değer

authURL

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

pushURL

https://fcm.googleapis.com/v1/projects/PROJECT-ID/messages:send

kapsam

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

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3000

connectionIdleTimeoutInSeconds

600

  • Bu görev ADP üzerindeki NPS için geçerlidir. NPS'niz XSP üzerindeyse yoksayın.

  • UC-One Connect veya UC-One SaaS Android uygulamalarına yönelik FCMv1 bildirimlerine geçiş yapmak için bu prosedürü kullanabilirsiniz.

  • UC-One veya Webex Android uygulamalarına gönderilen anında iletme bildirimlerinin kimliğini doğrulamak için NPS proxy'sini kullanmak istiyorsanız FCMv1'yi kullanmanız gerekir.

  • Bu görev, NPS'yi FCMv1 için hazırlar. Böylece, NPS kimlik doğrulama proxy'sinin yapılandırılması kapsamında etkinleştirebilirsiniz. NPS kimlik doğrulama proxy'sini yapılandırmaya hazır olana kadar FCMv1'i etkinleştirmeyin . Aksi takdirde, SaaS istemcilerine gönderilen bildirimler başarısız olur.

1

Firebase konsolundan proje kimliğini alma:

  1. console.firebase.google.com'da oturum açın.

  2. UC-One (Connect veya SaaS) uygulama projesini seçin, proje ayarlarını açın.

  3. Genel sekmesini açıp proje kimliğini kaydedin.

2

Firebase'den hizmet hesabınızın özel anahtarını alma:

  1. Proje ayarlarında Service account (Hizmet hesapları) sekmesine gidin.

  2. Yeni bir hizmet hesabı oluşturun ve hizmetin özel anahtarını alın.

  3. Dilerseniz mevcut bir hizmet hesabını açabilir ve bu hesap için yeni bir özel anahtar oluşturabilirsiniz.

    Not: Hizmet hesabına firebaseadmin-SDK izni verilmiş olmalıdır.

  4. Anahtarı (.json dosyası) güvenli bir konuma indirin.

3

.json dosyasını /bw/install ile ADP sunucusuna içe aktarın.

4

ADP CLI'da oturum açın proje ile API anahtarını FCM projeleri bağlamına ekleyin:

ADP_CLI/Applications/NotificationPushServer/FCM/Projects> add connect-ucaas /bw/install/filename.json

5

Uygulama ve proje kimliğini FCM uygulamaları bağlamına ekleyin:

ADP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.ucaas.connect projectId project-id

6

Yapılandırmanızı doğrulayın:

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

Bu işlemi yalnızca aşağıdaki koşullarda yapmanız gerekebilir (geçiş kapsamında):

  • NPS'niz UC-One SaaS veya BroadWorks Connect Android uygulamaları için kullanılıyorsa.

  • Başka uygulamalara çağrı anında iletme bildirimleri gönderme işlevinin FCMv1 API'siyle çalıştığını zaten test ettiyseniz.

Bu uygulamalara yönelik FCMv1 anahtarlarının yalnızca NPS kimlik doğrulama proxy'si yapılandırma sürecinde etkinleştirilmesi gerektiği için FCMv1'i geçici olarak devre dışı bırakıyorsunuz.

1

Paylaşılan NPS'nizi barındıran XSP'de oturum açın.

2

FCM bağlamına gidin ve FCM eski API anahtarını kullanmaya dönmek için FCMv1'i devre dışı bırakın: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false.

NPS kimlik doğrulama proxy'si özelliğini desteklemek için aşağıdaki yamaları yükleyin:

R22 Yamaları

R23 Yamaları

1

(Webex Common Identity) OAuth istemci hesabınızı sağlaması için kayıt ilgili kişiniz veya TAC'ye yönelik bir hizmet isteği oluşturun. Hizmet isteğinizin başlığını NPS Configuration for Auth Proxy Setup (Kimlik Doğrulama Proxy'si Kurulumu İçin NPS Yapılandırması) şeklinde girin.

Cisco size bir OAuth istemci kimliği, istemci gizli anahtarı ve 60 gün geçerli olan bir yenileme belirteci sağlar. Bu belirteç, NPS ile kullanmadan önce zaman aşımına uğrarsa başka bir istekte bulunabilirsiniz.
2

NPS'de istemci hesabını oluşturun:

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

Girdiğiniz değerlerin size verilen değerlerle eşleştiğini doğrulamak için XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get komutunu çalıştırın

3

NPS Proxy URL'sini girin ve belirteç yenileme aralığını ayarlayın (önerilen 30 dakika):

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url https://nps.uc-one.broadsoft.com/nps/

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

4

(Android bildirimleri için) Android uygulama kimliklerini NPS'deki FCM uygulamaları bağlamına ekleyin.

Android üzerindeki Webex uygulaması için: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.cisco.wx2.android

Android üzerindeki UC-One uygulaması için: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.connect

5

(Apple iOS bildirimleri için) Kimlik doğrulama anahtarını atlayıp boş bırakarak uygulama kimliğini APNS uygulamaları bağlamına ekleyin.

iOS üzerindeki Webex uygulaması için: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

iOS üzerindeki UC-One uygulaması için: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

Aşağıdaki NPS URL'lerini yapılandırın:

Tablo 2.

XSP CLI Bağlamı

Parametre

Değer

XSP_CLI/Applications/NotificationPushServer/FCM>

authURL

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

pushURL

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

kapsam

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

XSP_CLI/Applications/NotificationPushServer/APNS/Production>

url

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

7

Aşağıdaki NPS bağlantı parametrelerini gösterilen önerilen değerlere ayarlayın:

Tablo 3.

XSP CLI Bağlamı

Parametre

Değer

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

Uygulama Sunucusu'nun uygulama kimliklerini taradığından emin olun çünkü Webex uygulamalarını izin verilenler listesine eklemeniz gerekebilir:

  1. AS_CLI/System/PushNotification> get komutunu çalıştırıp enforceAllowedApplicationList değerini kontrol edin. true değerine ayarlıysa bu alt görevi tamamlamanız gerekir. Aksi takdirde alt görevin geri kalanını atlayın.

  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'yi yeniden başlatın:

bwrestart
2

BroadWorks abonesinden, Android üzerindeki arayan istemciye çağrı yaparak Android'e gönderilen çağrı bildirimlerini test edin. Android cihazda çağrı bildiriminin göründüğünü doğrulayın.

Not: UC-One Android uygulaması için anında iletme bildirimleri başarısız olursa hatalı bir yapılandırma olasılığı söz konusudur. Bu durumda, aşağıdaki yöntemi uygulayarak eski FCM'ye dönebilirsiniz:

  1. FCMv1'i devre dışı bırakın: XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false

  2. XSP'yi yeniden başlatın: bwrestart

  3. Yapılandırmanızı kontrol edin.

  4. FCMv1'i yeniden etkinleştirin ve XSP'yi yeniden başlatın.

  5. Testi tekrarlayın.

3

BroadWorks abonesinden, iOS üzerindeki arayan istemciye çağrı yaparak iOS'e gönderilen çağrı bildirimlerini test edin. iOS cihazında çağrı bildiriminin göründüğünü doğrulayın.

Not: UC-One iOS uygulaması için anında iletme bildirimleri başarısız olursa hatalı bir yapılandırma olasılığı söz konusudur. Bu durumda , set HTTP2Enabled false komutuyla eski ikili arabirime dönebilirsiniz