Overzicht van NPS-verificatieproxy


In dit artikel wordt beschreven hoe u een gedeelde NPS configureert om de NPS-verificatieproxy te gebruiken, zodat deze ook kan worden gebruikt om gespreksmeldingen naar Webex-apps te pushen. Als uw NPS geen andere apps ondersteunt, kunt u de vereenvoudigde procedure volgen in de Webex for BroadWorks-oplossingshandleiding https://help.webex.com/z9gt5j.

Overzicht van NPS-proxy

Voor compatibiliteit met Webex voor BroadWorks moet uw NPS worden gepatcht ter ondersteuning van de NPS-proxyfunctie, Pushserver voor VoIP in UCaaS.

De functie implementeert een nieuw ontwerp in de pushserver voor meldingen om het beveiligingsprobleem van het delen van privésleutels voor pushmeldingscertificaten met serviceproviders voor mobiele clients op te lossen. In plaats van pushmeldingscertificaten en -sleutels te delen met de serviceprovider, gebruikt de NPS een nieuwe API om een korte pushmeldingstoken te verkrijgen van UCaaS-backend en gebruikt deze token voor verificatie met de Apple APN's en Google FCM-services.

De functie verbetert ook de mogelijkheid van de Notification Push Server om meldingen naar Android-apparaten te pushen via de nieuwe Google Firebase Cloud Messaging (FCM) HTTPv1 API.

De XSP (of Application Delivery Platform ADP) die NPS host, moet aan de volgende vereisten voldoen:

Minimale versies en beperkingen voor co-residentie

  • NPS moet worden geactiveerd op een speciale XSP/ADP en NPS moet de enige gehoste toepassing op de server zijn. Dit is om interferentie met de levering van pushmeldingen te elimineren.

  • Er mag slechts één NPS-app in een implementatie zijn. Als u mobiele UC-One Collaborate/Connect en of UC-One SaaS gebruikt en Webex voor BroadWorks implementeert, moet u deze enkele NPS voor alle apps delen.

  • NPS moet versie R22 of later XSP of ADP hebben.

    R22/R23 XSP is compatibel met een R21 stack indien de XSP enkel NPS draait en de AS R21.SP1 is. Zie de BroadWorks-compatibiliteitsmatrix voor meer informatie.

  • Meer informatie over de ADP-server vindt u op https://xchange.broadsoft.com/node/1051580.

Gedeelde NPS

Lees deze aantekeningen voordat u uw gedeelde NPS configureert om de NPS-proxy te gebruiken:

  • Als uw NPS wordt gebruikt met andere apps (niet alleen de Webex-app): Configureer eerst de NPS-proxy en wijzig vervolgens de NPS van het gebruik van de FCM legacy-API naar het gebruik van de FCM HTTP v1-API.

  • Nadat u hebt geverifieerd dat meldingen goed werken voor oudere apps met de NPS-proxy, verwijdert u de FCM API-sleutel voor de Android-app en de verificatiesleutel voor APN's voor de iOS-app.

APN's HTTP/2

  • Als u iOS-apps hebt geïmplementeerd die niet van Cisco/BroadSoft zijn, configureert u deze apps om het HTTP/2 APNS-protocol te gebruiken voordat u NPS configureert om de NPS-proxy te gebruiken.

  • XSP/ADP's die de Collaborate- of SaaS BroadWorks-app al ondersteunen, moeten worden gemigreerd naar HTTP/2. Zie HTTP/2-ondersteuning voor de pushserver voor meldingen voor APNS voor meer informatie over het configureren van HTTP/2 (migratie van NPS om deze iOS-apps te ondersteunen wordt in dit artikel samengevat).

Android FCMv1

  • Als u Android-apps hebt geïmplementeerd die niet van Cisco/BroadSoft zijn, configureert u deze apps om de FCMv1-toetsen te gebruiken voordat u NPS configureert om de NPS-proxy te gebruiken.

  • Als XSP/ADP momenteel de Connect- of UC-One SaaS-app ondersteunt, schakelt u FCMv1-sleutels in nadat u de NPS-proxy hebt geconfigureerd. We raden u aan alle extra apps te migreren naar FCMv1-sleutels, in te schakelen en te testen en vervolgens uit te schakelen totdat u klaar bent om de installatie-instructies te voltooien (de migratiestroom is gedocumenteerd in dit artikel).

Afbeelding 1. Visueel overzicht van migratie naar NPS-verificatieproxy
Tabel 1. Overzicht van taken om te migreren naar NPS-proxy

Volgorde

Titel van taak

Wanneer/waarom is een taak vereist?

1

Migreer NPS naar HTTP/2 voor UC-One SaaS (of Connect) iOS-apps.

Als de NPS deze apps ondersteunt en deze nog niet zijn geconfigureerd voor HTTP/2.

2

Migreer NPS naar FCMv1 voor UC-One SaaS (of Connect) Android-apps.

Als de NPS deze apps ondersteunt en deze nog niet zijn geconfigureerd voor FCMv1.

3

Schakel de FCMv1-modus in en test pushmeldingen.

Als de NPS UC-One Connect en/of andere (niet-Cisco) Android-apps ondersteunt.

4

Schakel de oude FCM-modus opnieuw in.

Als de NPS UC-One SaaS ondersteunt. Als u FCMv1 ingeschakeld laat voordat u de NPS-proxy configureert, mislukken pushmeldingen naar UC-One SaaS.

5

Installeer NPS-verificatieproxypatches.

Als NPS zich op XSP R22 of XSP R23 bevindt.

6

Configureer NPS om de NPS-verificatieproxy te gebruiken:

  • Techondersteuning van NPS toevoegen

  • CI OAuth-account aanvragen

  • CI-account maken op NPS en time-out voor vernieuwingstoken configureren

  • Android-app-id's toevoegen

  • iOS-app-id's toevoegen

  • URL's en time-outs voor verbinding controleren/instellen

  • Apps toevoegen aan lijst ALS toestaan

  • (Opnieuw) FCMv1 inschakelen

  • XSP/ADP opnieuw starten

  • PN's testen voor iOS- en Android-apps

Altijd vereist.

7

Verwijder de sleutels van de verouderde FCM-modus.

Voor apps die met succes worden ondersteund door NPS op FCMv1.

Deze taak is verplicht voor pushmeldingen naar UC-One SaaS- en Webex-apps op iOS-platforms.

Voordat u begint

Als uw XSP R22 wordt uitgevoerd, moet u ap354313 toepassen voordat u de NPS-toepassing kunt configureren om HTTP/2 voor APNS te gebruiken.

1

Stel de productie-URL en verbindingsparameters in op XSP_CLI/Applications/NotificationPushServer/APNS/Production>

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

Opmerking: Stel de time-out van de verbinding niet in onder 1000.

2

Voeg de toepassings-id's toe aan de context van de APNS-toepassingen en zorg ervoor dat u de verificatiesleutel weglaat. Stel deze in op leeg.

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

Voor de Webex-app: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

Controleer de verificatiesleutels met XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

Als de verificatiesleutel niet leeg is voor com.broadsoft.uc-one, u kunt het wissen met XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear the-authkey

5

HTTP/2 inschakelen:

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

6

Alleen voor UC-One SaaS-apps: Meld u aan bij de reseller portal en ga naar Configuratie > BroadWorks > .

7

Scrol omlaag naar het gedeelte Notification Push Server en selecteer uw versie (bijv. versie 22) en volg de instructies in de portal.

  • Deze taak is van toepassing op NPS op XSP. Negeer het als uw NPS op ADP staat.

  • U kunt deze procedure gebruiken voor het migreren naar FCMv1-meldingen voor UC-One Connect- of UC-One SaaS Android-apps.

  • U moet FCMv1 gebruiken als u de NPS-proxy wilt gebruiken om pushmeldingen naar UC-One of de Webex Android-apps te verifiëren.

  • Met deze taak wordt de NPS voor FCMv1 voorbereid zodat u deze kunt inschakelen als onderdeel van de configuratie van de NPS-verificatieproxy. Schakel FCMv1 pas in als u klaar bent om de NPS-verificatieproxy te configureren, anders mislukken meldingen naar SaaS-clients.

1

Haal de project-ID op van de Firebase-console:

  1. Meld u aan bij console.firebase.google.com.

  2. Selecteer het UC-One-app-project (Connect of SaaS) en open de projectinstellingen.

  3. Open het tabblad General en noteer de project-ID.

2

Haal de privésleutel van uw serviceaccount op via Firebase:

  1. Navigeer naar het tabblad Serviceaccounts in de projectinstellingen.

  2. Maak een nieuw serviceaccount aan en ontvang de privésleutel.

  3. Of open een bestaand serviceaccount en genereer een nieuwe privésleutel ervoor.

    Opmerking: Het serviceaccount moet over de toestemming firebaseadmin-sdk beschikken.

  4. Download de sleutel naar een veilige locatie.

3

Kopieer de sleutel naar de XSP die uw NPS host.

4

Voeg de project-ID en de bijbehorende privésleutel toe aan de FCM-projectcontext:

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

5

Voeg de UC-One-toepassing (Connect of SaaS) en de bijbehorende project-ID toe aan de context van de FCM-toepassingen:

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

6

Controleer de configuratie voor FCM aan de hand van de attributen en aanbevolen waarden die hier worden weergegeven. gebruiken set versie van de opdracht om waarden te wijzigen indien nodig:

Uitvoeren XSP_CLI/Applications/NotificationPushServer/FCM> get

Parameter

Aanbevolen waarde

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

  • Deze taak is van toepassing op NPS op ADP. Negeer het als uw NPS op XSP staat.

  • U kunt deze procedure gebruiken voor het migreren naar FCMv1-meldingen voor UC-One Connect- of UC-One SaaS Android-apps.

  • U moet FCMv1 gebruiken als u de NPS-proxy wilt gebruiken om pushmeldingen naar UC-One of de Webex Android-apps te verifiëren.

  • Met deze taak wordt de NPS voor FCMv1 voorbereid zodat u deze kunt inschakelen als onderdeel van de configuratie van de NPS-verificatieproxy. Schakel FCMv1 pas in als u klaar bent om de NPS-verificatieproxy te configureren, anders mislukken meldingen naar SaaS-clients.

1

Haal de project-ID op van de Firebase-console:

  1. Meld u aan bij console.firebase.google.com.

  2. Selecteer het UC-One-app-project (Connect of SaaS) en open de projectinstellingen.

  3. Open het tabblad General en noteer de project-ID.

2

Haal de privésleutel van uw serviceaccount op via Firebase:

  1. Navigeer naar het tabblad Serviceaccounts in de projectinstellingen.

  2. Maak een nieuw serviceaccount aan en ontvang de privésleutel.

  3. Of open een bestaand serviceaccount en genereer een nieuwe privésleutel ervoor.

    Opmerking: Het serviceaccount moet over de toestemming firebaseadmin-sdk beschikken.

  4. Download de sleutel (.json-bestand) naar een veilige locatie.

3

Importeer het .json-bestand naar de ADP-server /bw/install.

4

Meld u aan bij ADP CLI en voeg het project en de API-sleutel toe aan de context van FCM-projecten:

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

5

Voeg de toepassing en project-id toe aan de context van de FCM-toepassingen:

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

6

Controleer uw configuratie:

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

Dit hoeft u alleen te doen (als onderdeel van de migratie) als:

  • Uw NPS wordt gebruikt voor UC-One SaaS- of BroadWorks Connect Android-apps.

  • U hebt al getest of pushmeldingen voor gesprekken naar andere apps werken met FCMv1-API.

U schakelt FCMv1 tijdelijk uit omdat FCMv1-sleutels voor deze apps alleen moeten worden ingeschakeld tijdens het configuratieproces van de NPS-verificatieproxy.

1

Meld u aan bij de XSP die uw gedeelde NPS host.

2

Ga naar de FCM-context en schakel FCM v1 uit: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false om terug te keren naar het gebruik van de FCM-oude API-sleutel.

1

Maak een serviceverzoek met uw onboardingcontactpersoon of met TAC om uw OAuth-clientaccount (Webex Common Identity) in te richten. Geef uw serviceaanvraag de titel NPS-configuratie voor het instellen van de verificatieproxy.

Cisco geeft u een OAuth-client-id, een clientgeheim en een vernieuwingstoken die 60 dagen geldig is. Als het token verloopt voordat u het gebruikt met uw NPS, kunt u een andere aanvraag indienen.
2

Maak het clientaccount aan op de 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

Om te controleren of de waarden die u hebt ingevoerd overeenkomen met wat u werd gegeven, voert u XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

Voer de URL van de NPS-proxy in en stel het vernieuwingsinterval voor het token in (30 minuten aanbevolen):

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

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

4

(Voor Android-meldingen) Voeg de Android-toepassings-id's toe aan de context van de FCM-toepassingen op de NPS.

Voor de Webex-app op Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.cisco.wx2.android

Voor UC-One-app op Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.broadsoft.connect

5

(Voor Apple iOS-meldingen) Voeg de toepassings-id toe aan de context van de APNS-toepassingen en zorg ervoor dat u de verificatiesleutel weglaat. Stel deze in op leeg.

Voor de Webex-app op iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

Voor UC-One-app op iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

Configureer de volgende NPS-URL's:

Tabel 2.

XSP CLI-context

Parameter

Waarde

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

Configureer de volgende NPS-verbindingsparameters voor de weergegeven aanbevolen waarden:

Tabel 3.

XSP CLI-context

Parameter

Waarde

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

Controleer of de toepassingsserver de toepassings-id's screent, omdat u mogelijk de Webex-apps moet toevoegen aan de lijst met toegestane toepassingen:

  1. Uitvoeren AS_CLI/System/PushNotification> get en controleer de waarde van enforceAllowedApplicationList. Als het true, moet u deze subtaak voltooien. Anders slaat u de rest van de deeltaak over.

  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

Start de XSP opnieuw:

bwrestart
2

Test gespreksmeldingen naar Android door gesprekken te voeren van een BroadWorks-abonnee naar de belclient op Android. Controleer of de gespreksmelding wordt weergegeven op het Android-apparaat.

Opmerking: Als pushmeldingen mislukken voor de UC-One Android-toepassing, is het mogelijk dat er een fout is opgetreden. Als dit uw situatie is, kunt u als volgt terugkeren naar de oude FCM:

  1. FCMv1 uitschakelen: XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false

  2. Start XSP opnieuw: bwrestart

  3. Controleer uw configuratie.

  4. Schakel FCMv1 opnieuw in en start de XSP opnieuw op.

  5. Herhaal de test.

3

Test gespreksmeldingen naar iOS door te bellen van een BroadWorks-abonnee naar de gespreksclient op iOS. Controleer of de gespreksmelding wordt weergegeven op het iOS-apparaat.

Opmerking: Als pushmeldingen mislukken voor de UC-One iOS-toepassing, is het mogelijk dat er een fout is opgetreden. Als dit uw situatie is, kunt u terugkeren naar de oude binaire interface met set HTTP2Enabled false