Visão geral do proxy de autenticação NPS


Este artigo descreve como configurar um NPS compartilhado para usar o proxy de autenticação NPS, para que também possa ser usado para empurrar as notificações de chamada para aplicativos Webex. Se o NPS não suporta outros aplicativos, você pode seguir o procedimento simplificado no Guia de solução Webex para BroadWorks. https://help.webex.com/z9gt5j

Visão geral do proxy NPS

Para compatibilidade com o Webex para BroadWorks, o NPS deve ser patcheado para suportar o recurso de proxy NPS e Push Server para VoIP em UCaaS.

O recurso implementa um novo design no Servidor de Push de Notificação para resolver a vulnerabilidade de segurança do compartilhamento das chaves privadas do certificado de notificação com os provedores de serviços para clientes móveis. Em vez de compartilhar os certificados de notificação por push e chaves com o provedor de serviços, o NPS usa uma nova API para obter um token de notificação push curto do backend UCaaS e usa esse token para autenticação com os serviços Apple APNs e Google FCM.

O recurso também aprimora a capacidade do Servidor de Envio de Notificação para enviar notificações para dispositivos Android através da nova API do Google Firebase Cloud Messaging (FCM) HTTPv1.

Os patches broadworks para o recurso estão disponíveis no Xchange: https://xchange.broadsoft.com/node/1046235

Para obter mais informações, consulte o Servidor Push para VoIP na Descrição do Recurso UCaaS no Xchange: https://xchange.broadsoft.com/node/1045458

O XSP (ou ADP da plataforma de entrega de aplicativos) que hospeda o NPS deve atender aos seguintes requisitos:

Versões mínimas e restrições de co-residência

  • O NPS deve ser ativado em um XSP/ADP e NPS dedicado deve ser o único aplicativo hospedado no servidor. Isso é para eliminar interferência com a entrega de notificações Push.

  • Deve haver apenas um aplicativo NPS em uma implantação. Se você estiver usando o UC-One Collaborate/Connect móvel e ou UC-One SaaS e estiver implementando o Webex para BroadWorks, você deve compartilhar este único NPS para todos os aplicativos.

  • NPS deve estar na versão R22 ou mais recente XSP ou ADP.

    R22/R23 XSP é compatível com uma stack R21 se o XSP executa apenas NPS e o AS é R21. SP1. Consulte a Matriz de compatibilidade do BroadWorks para obter mais informações.

  • Mais informações sobre o servidor ADP podem ser encontradas em https://xchange.broadsoft.com/node/1051580.

NPS compartilhados

Leia estas notas antes de configurar o SEU NPS compartilhado para usar o proxy NPS:

  • Se o SEU NPS é usado com outros aplicativos (não apenas com o aplicativo Webex): Não altere o NPS de usar a API herdada de FCM para usar a API FCM HTTP v1 antes de configurar o proxy NPS.

    Você pode mudar ao configurar o NPS para usar o proxy NPS.

  • Quando você verificar que as notificações estão funcionando apropriadamente para aplicativos mais antigos com o proxy NPS, você pode remover a chave FCM API para o aplicativo Android e a chave de aut. APNs para o aplicativo iOS.

APNs HTTP/2

  • Se você implantou quaisquer aplicativos iOS que não são da Cisco/BroadSoft, configure esses aplicativos para usar o protocolo HTTP/2 APNS antes de configurar o NPS para usar o proxy NPS.

  • XSP/ADPs que já suportam a Colaboração ou o aplicativo BroadWorks SaaS precisam ser migrados para HTTP/2. Para obter informações detalhadas sobre configurar HTTP/2, consulte o Suporte HTTP/2 para o Servidor push de notificação para APNS (a migração de NPS para suportar esses aplicativos iOS está resumida neste artigo).

Android FCMv1

  • Se você implantou quaisquer aplicativos Android que não são da Cisco/BroadSoft, configure esses aplicativos para usar as chaves FCMv1 antes de configurar o NPS para usar o proxy NPS.

  • Se o XSP/ADP atualmente suportar o aplicativo SaaS Connect ou UC-One, as teclas FCMv1 não poderão ser ativadas antes de configurar o proxy NPS. Recomendamos que você migre todos os aplicativos adicionais para as teclas FCMv1, ative e teste, em seguida, desative até que esteja pronto para concluir as instruções de configuração (o fluxo de migração está documentado neste artigo).

Figura 1. Resumo visual da migração para o proxy de autenticação NPS
Tabela 1. Resumo de tarefas para migrar para o proxy NPS

Seqüência

Título da tarefa

Quando/Por que a tarefa é necessária?

1

Migre o NPS para HTTP/2 para aplicativos saas UC-One (ou Connect) para iOS.

Se o NPS suporta esses aplicativos, e eles ainda não estão configurados para HTTP/2.

2

Migre o NPS para FCMv1 para aplicativos SaaS UC-One (ou Connect) para Android.

Se o NPS suporta esses aplicativos, e eles ainda não estão configurados para FCMv1.

3

Ative o modo FCMv1 e teste as notificações por push.

Se o NPS estiver suportando UC-One Connect e/ou outros aplicativos (não Cisco) para Android.

4

Reabilitar o modo de legado FCM.

Se o NPS estiver suportando UC-One SaaS. Se você deixar FCMv1 habilitado, antes de configurar o proxy NPS, as notificações por push para UC-One SaaS começarão a falhar.

5

Instale patches de proxy de autenticação NPS.

Se o NPS estiver no XSP R22 ou XSP R23.

6

Configure o NPS para usar o proxy de autenticação NPS:

  • Anexar suporte técnico do NPS

  • Solicitar conta CI OAuth

  • Crie uma conta CI no NPS e configure o tempo de atualização do token

  • Adicionar ids de aplicativos Android

  • Adicionar ids de aplicativo iOS

  • Verificar/definir URLs e tempos de conexão

  • Adicionar aplicativos à lista de permitir AS

  • (Re-) Ativar FCMv1

  • Reiniciar XSP/ADP

  • PNs de teste para aplicativos iOS e Android

Sempre necessário.

7

Remova as teclas do modo de legado FCM.

Para aplicativos que são suportados com sucesso pelo NPS em FCMv1.

Esta tarefa é obrigatória para notificações push para aplicativos SaaS e Webex UC-One nas plataformas iOS.

Antes de começar

Se o XSP estiver executando R22, você precisa aplicar o ap354313 antes de configurar o aplicativo NPS para usar HTTP/2 nas APNS.

1

Definir a URL de produção e os parâmetros de conexão em XSP_CLI/Aplicativos/NotificaçãoPushServer/APNS/Produção>

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

definir conexão ConexõesSize 2

definir connectionTimeout 3000

definir connectionIdleTimeoutInSeconds 600

Nota: Não de definir o tempo de conexão abaixo de 1000.

2

Adicione as IDs do aplicativo ao contexto dos aplicativos APNS, certifique-se de omitir a tecla Auth - de definida como vazia.

Para Saas UC-One:XSP_CLI/Aplicativos/NotificaçãoPushServer/APNS/Produção/Tokens> adicione com.broadsoft.uc-one

Para o aplicativo Webex: XSP_CLI/Aplicativos/NotificaçãoPushServer/APNS/Produção/Tokens> adicione com.cisco.squared

3

Verifique as chaves de aut com XSP_CLI/Aplicativos/NotificaçãoPushServer/APNS/Produção/Tokens> obter

4

Se a chave de aut. não estiver vazia para com.broadsoft.uc-one, você poderá des limpar com o XSP_CLI/Aplicativos/NotificaçãoPushServer/APNS/Produção/Tokens> limpe a tecla-authkey

5

Habilitar HTTP/2:

XSP_CLI/Aplicativos/NotificaçãoPushServer/APNS/GeneralSettings> definir HTTP2Enabled verdadeiro

6

Para apenas aplicativos SaaS UC-One: Acesse o portal do revendedor e vá para Configuração >BroadWorks > .

7

Role para baixo até a seção Servidor push de notificação e selecione sua versão (por exemplo, Versão 22), em seguida, siga as instruções fornecidas no portal.

  • Esta tarefa se aplica a NPS em XSP. Ignore-o se o seu NPS estiver no ADP.

  • Você pode usar este procedimento para migrar para notificações FCMv1 para aplicativos SaaS Android UC-One Connect ou UC-One.

  • Você deve usar FCMv1 se você quiser usar o proxy NPS para autenticar as notificações por push para o UC-One ou os aplicativos Webex para Android.

  • Esta tarefa prepara o NPS para FCMv1 para que você possa habilita-lo como parte da configuração do proxy de autenticação NPS. Não habilita o FCMv1 até que você esteja pronto para configurar o proxy de autenticação NPS, ou as notificações aos clientes SaaS falharão.

1

Obter a ID do projeto do console Firebase:

  1. Faça o sign in para console.firebase.google.com.

  2. Selecione o projeto UC-One (Connect ou SaaS), abra as configurações do projeto.

  3. Abra a guia Geral e grave a ID do projeto.

2

Obter a chave privada da sua conta de serviço do Firebase:

  1. Navegue até a guia de Contas de serviço nas configurações do projeto.

  2. Crie uma nova conta de serviço e ad private key.

  3. Ou abra uma conta de serviço existente e gere uma nova chave privada para ela.

    Nota: A conta de serviço deve ter a permissão firebaseadmin-sdk.

  4. Baixe a chave para um local seguro.

3

Copie a chave para o XSP que hospeda seu NPS.

4

Adicione a ID do projeto e a chave privada associada ao contexto de projetos FCM:

XSP_CLI/Aplicativos/NotificaçãoPushServer/FCM/Projetos> adiciona caminhode id do projeto/para/arquivo de chave

5

Adicione o aplicativo UC-One (Connect ou SaaS) e a ID do projeto associado ao contexto de aplicativos FCM:

XSP_CLI/Aplicativos/NotificaçãoPushServer/FCM/Aplicativos> adicione applicationId com.broadsoft.connect projectId-id do projeto

6

Verifique a configuração para FCM contra os atributos e valores recomendados mostrados aqui. Use a versão definida do comando para alterar valores, se necessário:

Execute XSP_CLI/Aplicativos/NotificaçãoPushServer/FCM> obter

Parâmetro

Valor recomendado

authURL

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

PUSHURL

https://fcm.googleapis.com/v1/projects/PROJECT-ID/mensagens:enviar

Escopo

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

tokenTimeToLiveInSeconds

3600

connection BluetoothEssize

10

connectionTimeoutInMilliseconds

3000

connectionIdleTimeoutInSeconds

600

  • Esta tarefa se aplica ao NPS no ADP. Ignore-o se seu NPS estiver em XSP.

  • Você pode usar este procedimento para migrar para notificações FCMv1 para aplicativos SaaS Android UC-One Connect ou UC-One.

  • Você deve usar FCMv1 se você quiser usar o proxy NPS para autenticar as notificações por push para o UC-One ou os aplicativos Webex para Android.

  • Esta tarefa prepara o NPS para FCMv1 para que você possa habilita-lo como parte da configuração do proxy de autenticação NPS. Não habilita o FCMv1 até que você esteja pronto para configurar o proxy de autenticação NPS, ou as notificações aos clientes SaaS falharão.

1

Obter a ID do projeto do console Firebase:

  1. Faça o sign in para console.firebase.google.com.

  2. Selecione o projeto UC-One (Connect ou SaaS), abra as configurações do projeto.

  3. Abra a guia Geral e grave a ID do projeto.

2

Obter a chave privada da sua conta de serviço do Firebase:

  1. Navegue até a guia de Contas de serviço nas configurações do projeto.

  2. Crie uma nova conta de serviço e ad private key.

  3. Ou abra uma conta de serviço existente e gere uma nova chave privada para ela.

    Nota: A conta de serviço deve ter a permissão firebaseadmin-sdk.

  4. Baixe a chave (arquivo .json) para um local seguro.

3

Importe o arquivo .json para o servidor ADP /bw/install.

4

Faça logon ao ADP CLI e adicione a chave de PROJETO e API ao contexto de projetos FCM:

ADP_CLI/Aplicativos/NotificaçãoPushServer/FCM/Projetos> adicione connect-ucaas /bw/install/filename.json

5

Adicione o aplicativo e a ID do projeto ao contexto de aplicativos FCM:

ADP_CLI/Aplicativos/NotificaçãoPushServer/FCM/Aplicativos> adicione applicationId com.broadsoft.ucaas.connect projectId-id do projeto

6

Verifique sua configuração:


  ADP_CLI/Aplicativos/NotificationPushServer/FCM/Projects> get Project 
 ID Accountkey 
 == 
 connect-ucaas *****

  ADP_CLI/Aplicativos/NotificationPushServer/FCM/Applications> obter ID do Projeto ID de Aplicativo == 
 com.broadsoft.ucaas.connect-ucaas

Você só precisa fazer isso (como parte da migração) se:

  • Seu NPS é usado para aplicativos UC-One SaaS ou BroadWorks Connect para Android.

  • Você já testou que as notificações por push de chamada para outros aplicativos estão funcionando com a API FCMv1.

Você está desativando temporariamente FCMv1 porque as teclas FCMv1 para esses aplicativos devem ser habilitadas apenas durante o processo de configuração do proxy de autenticação NPS.

1

Entrar no XSP que está hospedando o seu NPS compartilhado.

2

Navegue até o contexto FCM e desative FCM v1: XSP_CLI/Aplicativos/NotificaçãoPushServer/FCM> definido V1enabled falso para reverter para usar a chave de API de legado de FCM.

Instale os seguintes patches para suportar o recurso de proxy de autenticação NPS:

R22 Patches

R23 Patches

1

Crie uma solicitação de serviço com o seu contato de integração, ou com o TAC, para provisionar sua conta de cliente OAuth (webex Common Identity) . Título da sua solicitação de serviço Configuração NPS para Configuração de proxy de aut.

A Cisco fornece a você uma ID do cliente OAuth, um segredo do cliente e um token de atualização válido por 60 dias. Se o token expirar antes de usá-lo com o seu NPS, você pode levantar outra solicitação.
2

Crie a conta do cliente no NPS:

XSP_CLI/Aplicativos/NotificaçãoPushServer/CiscoCI/Client> definir clientId client-Id-From-Step1


  XSP_CLI/Aplicativos/NotificationPushServer/CiscoCI/Client> definir clientSecret Nova Senha: cliente-Segredo-A partir do passo 1

  XSP_CLI/Aplicativos/NotificaçãoPushServer/CiscoCI/Client> definir AtualizarToken Nova Senha: Atualizar token-a partir do passo 1

Para verificar se os valores que você inseridos combinam com o que você recebeu, execute XSP_CLI/Aplicativos/NotificationPushServer/CiscoCI/Client> obter

3

Insira a URL do proxy NPS e de definida o intervalo de atualização do token (30 minutos recomendado):

XSP_CLI/Aplicativos/NotificaçãoPushServer/CloudNPSService> definido url https://nps.uc-one.broadsoft.com/nps/

XSP_CLI/Aplicativos/NotificaçãoPushServer/CloudNPSService> definido para VOIPTokenRefreshInterval 1800

4

(Para notificações do Android) Adicione as IDs do aplicativo Android ao contexto dos aplicativos FCM no NPS.

Para o aplicativo Webex no Android: XSP_CLI/Aplicativos/NotificaçãoPushServer/FCM/Aplicativos> adicione applicationId com.cisco.wx2.android

Para o aplicativo UC-One no Android: XSP_CLI/Aplicativos/NotificaçãoPushServer/FCM/Aplicativos> adicione applicationId com.broadsoft.connect

5

(Para as notificações do iOS da Apple) Adicione a ID do aplicativo ao contexto dos aplicativos APNS, certifique-se de omitir a tecla Auth - de definida como vazia.

Para o aplicativo Webex no iOS: XSP_CLI/Aplicativos/NotificaçãoPushServer/APNS/Produção/Tokens> adicione com.cisco.squared

Para o aplicativo UC-One no iOS: XSP_CLI/Aplicativos/NotificaçãoPushServer/APNS/Produção/Tokens> adicione com.cisco.squared

6

Configure as seguintes URLs NPS:

Tabela 2.

Contexto CLI XSP

Parâmetro

Valor

XSP_CLI/Aplicativos/NotificaçãoPushServer/FCM>

authURL

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

PUSHURL

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

Escopo

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

XSP_CLI/Aplicativos/NotificaçãoPushServer/APNS/Produção>

url

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

7

Configure os seguintes parâmetros de conexão NPS para os valores recomendados mostrados:

Tabela 3.

Contexto CLI XSP

Parâmetro

Valor

XSP_CLI/Aplicativos/NotificaçãoPushServer/FCM>

tokenTimeToLiveInSeconds

3600

connection BluetoothEssize

10

connectionTimeoutInMilliseconds

3000

connectionIdleTimeoutInSeconds

600

XSP_CLI/Aplicativos/NotificaçãoPushServer/APNS/Produção>

Connectiontimeout

3000

connection BluetoothEssize

2

connectionIdleTimeoutInSeconds

600

8

Verifique se o Servidor de Aplicação está solicitando IDs de aplicativos, porque você pode precisar adicionar os aplicativos Webex à lista de permitir:

  1. Execute AS_CLI/Sistema/PushNotification> obter e verificar o valor de enforceAllowedApplicationList. Se for verdade, você precisa concluir esta sub tarefa. Caso contrário, pule o resto da sub-tarefa.

  2. AS_CLI/Sistema/PushNotification/AllowedApplications> adicione com.cisco.wx2.android "Webex Android"

  3. AS_CLI/Sistema/PushNotification/AllowedApplications> adicione com.cisco.squared "Webex iOS"

1

Reinicie o XSP:

bwrestart
2

Teste as notificações de chamadas para o Android, fazendo chamadas de um assinante do BroadWorks para o cliente de chamada no Android. Verifique se a notificação de chamada é exibida no dispositivo Android.

Nota: Se as notificações por push começar a falhar no aplicativo UC-One para Android, é possível que haja um erro de configuração. Se esta for a sua situação, você pode reverter para o FCM herdado da seguinte forma:

  1. Desativar FCMv1: XSP_CLI/Aplicativos/NotificaçãoPushServer/FCM> definido V1Enabled falso

  2. Reiniciar XSP: bwrestart

  3. Verifique sua configuração.

  4. Reabilitar FCMv1 e reiniciar o XSP.

  5. Repita o teste.

3

Teste as notificações de chamadas para o iOS fazendo chamadas de um assinante do BroadWorks para o cliente de chamada no iOS. Verifique se a notificação de chamada é exibida no dispositivo iOS.

Nota: Se as notificações por push começar a falhar no aplicativo iOS UC-One, é possível que haja um erro de configuração. Se esta for a sua situação, você pode reverter para a interface binário de legado com definir HTTP2Enabled falso