Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Restricción

Antecedentes

Ventajas clave

Arquitectura general

Configuración - Jabber in situ

1. Configure los inicios de sesión de actualización.

2. Configure los Puertos OAuth.

3. Habilite el modo OAuth SIP.

4. Reinicie el servicio Cisco CallManager.

5. Configure el soporte de OAuth en el perfil de seguridad.

Configuración - Jabber sobre MRA

Prerequites

Paso 1. Habilite Refresh Login over MRA .

Paso 2. Actualice los nodos de Unified CM en Expressway-C.

Paso 3. Configure el soporte de OAuth en el perfil de seguridad.

Verificación

1. Verifique si el modo OAuth de SIP está habilitado globalmente.

2. Verifique las entradas SAN de Expressway-C enviadas correctamente a CUCM.

3. Verifique las zonas CEOAuth en Expressway-C.

4. Verifique las escucha del proceso de CallManager en los puertos OAuth SIP.

Troubleshoot

Ejemplo de registro de Jabber (in situ)

Situación 1 - Discordancia del puerto de registro de OAuth SIP

Situación 2: CA desconocida de Expressway

Situación 3: CA desconocida de UCM

Introducción

Este documento describe la configuración y los pasos básicos de solución de problemas para implementar el modo SIP OAuth con Cisco Jabber.

Prerequisites

Requirements

Cisco recomienda que tenga conocimiento sobre estos temas:

- Registro del teléfono basado en software Jabber

- Unified Communications Manager (UCM)

- Solución de acceso remoto y móvil (MRA)

Componentes Utilizados

Versión de software mínima para admitir el modo OAuth de SIP:

- Cisco UCM 12.5

- Cisco Jabber 12.5

- Cisco Expressway X12.5

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Restricción

Cuando se habilita el modo OAuth de SIP, no se soportan las opciones Enable Digest Authentication y TFTP Encrypted Config .

Antecedentes

Ventajas clave

La seguridad de la señalización SIP y los medios para el teléfono basado en software Cisco Jabber actualmente implica varios pasos de configuración. Lo más difícil es instalar y renovar certificados de cliente (LSC), especialmente si un dispositivo Cisco Jabber cambia entre las instalaciones y fuera de ellas, y mantener los certificados dentro del archivo CTL al día.

El modo SIP OAuth permite que el Softphone Cisco Jabber utilice tokens autodescriptivos OAuth en lugar del certificado LSC del cliente para la autenticación en la interfaz SIP segura. La compatibilidad con OAuth en la interfaz SIP de UCM permite la señalización segura y los medios para las implementaciones de Jabber in situ y MRA sin necesidad del modo mixto o el funcionamiento de CAPF.

Ventajas clave del soporte del modo OAuth SIP para Cisco Jabber:

- Habilita el cifrado siempre activo sin carga administrativa adicional.

- Señalización segura y medios para Cisco Jabber sin necesidad de modo mixto (sin actualizaciones de CTL, mantenimiento de certificados, etc.)

- No es necesario instalar y mantener el LSC en los clientes Jabber.

- Retos con LSC en varios dispositivos (portátiles/dispositivos móviles...)

- El funcionamiento de CAPF se requiere en cualquier momento que Jabber esté instalado en un nuevo dispositivo.

- Operación CAPF no admitida en MRA.

Arquitectura general

El dispositivo Cisco Jabber reconoce que la autenticación OAuth está habilitada en la interfaz SIP analizando el archivo de configuración CSF (http://<cucmIP>:6970/<CSF-device-name>.cnf.xml), ejemplo de archivo de configuración (algunas líneas quedan fuera para su brevedad):

Cisco Jabber lee el parámetro sipOAuthMode para determinar si el modo OAuth SIP está habilitado o no. Este parámetro puede suponer uno de los siguientes valores:

- 0 - El OAuth SIP está desactivado

- 1 - OAuth de SIP habilitado

Si el modo SIP OAuth está habilitado, Jabber utiliza uno de estos parámetros para determinar el puerto para la conexión TLS SIP - sipOAuthPort para las implementaciones in situ o sipMRAOAuthPort para las implementaciones basadas en MRA. El ejemplo presenta los valores predeterminados: sipOAuthPort 5090 y sipMRAOAuthPort 5091. Estos valores son configurables y pueden ser diferentes en cada nodo de CUCM.

Si el modo SIP OAuth está inhabilitado, Jabber utiliza puertos heredados no seguros (5060) o seguros (5061) para el registro de SIP.

Nota: Cisco UCM utiliza el puerto OAuth del teléfono SIP (5090) para escuchar el registro de línea SIP de los dispositivos Jabber In situ a través de TLS. Sin embargo, UCM utiliza el puerto de acceso remoto móvil SIP (predeterminado 5091) para escuchar los registros de línea SIP de Jabber sobre Expressway a través de mLTS. Ambos puertos son configurables. Consulte la sección de configuración.

El servicio CallManager escucha tanto en sipOAuthPort como en sipMRAOAuthPort. Sin embargo, ambos puertos utilizan el certificado Tomcat y Tomcat-trust para las conexiones TLS/mTLS entrantes. Asegúrese de que el almacén Tomcat-trust pueda verificar el certificado de Expressway-C para el modo OAuth SIP para que MRA funcione correctamente.

En situaciones, cuando se vuelve a generar el certificado Tomcat, el proceso de CallManager también se debe reiniciar en los nodos afectados después. Esto es necesario para que el proceso CCM cargue y utilice nuevos certificados en los puertos sipOAuth.

Esta imagen muestra el registro de Cisco Jabber mientras se encuentra en las instalaciones:

Esta imagen muestra el registro de Cisco Jabber sobre MRA:

*Los nodos de Expressway-C utilizan la API AXL para informar a UCM de la CN/SAN en su certificado. UCM utiliza esta información para validar el certificado Exp-C cuando se establece una conexión TLS mutua.

Configuración - Jabber in situ

Nota:

Asegúrese de completar los siguientes puntos antes de la configuración del modo SIP OAuth:

- MRA está configurado y la conexión se establece entre Unified Communication Manager (UCM) y Expressway (aplicable sólo si MRA está en uso).

- UCM está registrado en una cuenta inteligente o virtual con la función de exportación controlada.

1. Configure los inicios de sesión de actualización.

Configure los inicios de sesión de actualización con tokens de acceso OAuth y actualice tokens para los clientes de Cisco Jabber. En Cisco Unified CM Administration, elija System > Enterprise Parameters.

2. Configure los Puertos OAuth.

Elija System > Cisco Unified CM. Este es un paso opcional. La imagen presenta los valores predeterminados. El rango configurable aceptable es de 1024 a 49151. Repita el mismo procedimiento para cada servidor.

3. Habilite el modo OAuth SIP.

Utilice la interfaz de línea de comandos del editor para habilitar globalmente el modo SIP OAuth. Ejecute el comando: utils sipOAuth-mode enable.

4. Reinicie el servicio Cisco CallManager.

En Cisco Unified Serviceability, elija Tools > Control Center - Feature Services. Seleccione y reinicie el servicio Cisco CallManager en todos los nodos donde el servicio está activo.

5. Configure el soporte de OAuth en el perfil de seguridad.

En Cisco Unified CM Administration, elija System > Phone Security Profile. Seleccione Enable OAuth Authentication para habilitar el soporte de OAuth SIP para el terminal.

Configuración - Jabber sobre MRA

Prerequites

Antes de la configuración del modo OAuth SIP para Jabber sobre MRA, complete los pasos 1-4 del capítulo Configuración - Jabber in situ de este artículo.

Paso 1. Habilite Refresh Login over MRA .

Los inicios de sesión de actualización se deben habilitar en Expressway (también llamados tokens autodescriptivos) antes de la configuración de la autenticación OAuth de SIP con Cisco Jabber sobre MRA. En Expressway-C, navegue hasta Configuration > Unified Communications > Configuration y asegúrese de que el parámetro Authorize by OAuth Token with Refresh esté configurado en On.

Paso 2. Actualice los nodos de Unified CM en Expressway-C.

Vaya a Configuration > Unified Communications > Unified CM servers. Descubra o actualice los nodos de Unified CM en Expressway-C.

Nota: Se crea automáticamente una nueva zona CEOAuth (TLS) en Expressway-C. Por ejemplo, CEOAuth <nombre de Unified CM>. Se crea una regla de búsqueda para proxy de las solicitudes SIP que se originan en Jabber sobre MRA hacia el nodo de Unified CM. Esta zona utiliza conexiones TLS independientemente de si Unified CM está configurado con el modo mixto. Para establecer la confianza, Expressway-C también envía los detalles del nombre de host y del nombre alternativo del asunto (SAN) al clúster de Unified CM. Consulte la parte de verificación de este artículo para asegurarse de que existe una configuración adecuada.

Paso 3. Configure el soporte de OAuth en el perfil de seguridad.

En Cisco Unified CM Administration, elija System > Phone Security Profile. Active la compatibilidad con OAuth en el perfil asignado a Cisco Jabber.

Verificación

1. Verifique si el modo OAuth de SIP está habilitado globalmente.

Verifique el modo OAuth de Cisco Unified CM Administration, elija System > Enterprise Parameters.

Alternativamente, utilice Admin CLI - Ejecute el comando: ejecute sql select paramvalue FROM processconfig WHERE paramname = 'ClusterSIPOAuthMode'

Valores posibles: 0: para Desactivado (predeterminado), 1: para Activado.

2. Verifique las entradas SAN de Expressway-C enviadas correctamente a CUCM.

Expressway-C envía los detalles de CN/SAN de su certificado a UCM a través de AXL. Estos detalles se guardan en la tabla de configuración de expresswaycconfiguration. Este proceso se invoca cada vez que descubre o actualiza los nodos de Unified CM en Expressway-C. Esas entradas se utilizan para establecer la confianza entre UCM y Expressway-C. El campo CN/SAN del certificado de Expressway-C se compara con esas entradas durante la conexión MTLS al puerto OAuth de SIP MRA (5091 de forma predeterminada). Si la verificación no se realiza correctamente, la conexión MTLS falla.

Verifique las entradas de Cisco Unified CM Administration, elija Device > Expressway-C (disponible a partir de UCM 12.5.1Su1)

Alternativamente, utilice Admin CLI - Ejecute el comando: ejecute sql select * de expresswaycconfiguration

3. Verifique las zonas CEOAuth en Expressway-C.

Vaya a Expressway-C > Configuration > Zones > Zones. Asegúrese de que todas las zonas CEOAuth creadas recientemente se encuentren en estado activo.

4. Verifique las escucha del proceso de CallManager en los puertos OAuth SIP.

Ejecute el comando desde la CLI de administración: show open ports regexp 5090 (puerto OAuth SIP predeterminado)

Ejecute el comando desde la CLI de administración: show open ports regexp 5091 (puerto OAuth de SIP MRA predeterminado)

Troubleshoot

Ejemplo de registro de Jabber (in situ)

Ejemplo de registro para el registro en las instalaciones de SIP OAuth en el puerto 5090 desde la perspectiva del registro de Jabber.

## CSF configuration retrieved 2020-03-30 13:03:18,278 DEBUG [0x000012d8] [src\callcontrol\ServicesManager.cpp(993)] [csf.ecc] [csf::ecc::ServicesManager::fetchDeviceConfig] - fetchDeviceConfig() retrieved config for CSFrado 2020-03-30 13:03:18,278 DEBUG [0x000012d8] [rc\callcontrol\ServicesManager.cpp(1003)] [csf.ecc] [csf::ecc::ServicesManager::fetchDeviceConfig] - Device Config:

10.10.10.1

ccm12pub

2000

5060

5061

5090

5091

…

1

## Setting SIP oauth mode to 1 2020-03-30 13:03:18,747 DEBUG [0x00002968] [ig\CertificateVerificationHelper.cpp(35)] [csf.ecc] [csf::ecc::CertificateVerificationHelper::setSipOauthMode] - sip OAuth Mode=1 ## Setting OAuth ports (5090 and 5091) for each UCM server 13:03:19,013 INFO  [0x00002484] [\core\ccapp\config\config_parser.c(1491)] [csf.sip-call-control] [config_process_ccm_properties] - ccm0=10.10.10.1 ccm1=10.10.10.2  ccm2= sip_oauth_port_0=5090 sip_oauth_port_1=5090 sip_oauth_port_2=5090 length=0 13:03:19,013 INFO  [0x00002484] [\core\ccapp\config\config_parser.c(1494)] [csf.sip-call-control] [config_process_ccm_properties] - sip_mar_oauth_port_0=5091 sip_mar_oauth_port_1=5091 sip_mar_oauth_port_2=5091 ## Open TLS connection to 5090 2020-03-30 13:03:18,528 DEBUG [0x00000e2c] [sipstack\sip_transport_connection.c(431)] [csf.sip-call-control] [sip_create_transport_connection] - [SIP][CONN][0] create TLS connection 10.10.10.10:5061-----10.10.10.1:5090. ## Sending register message 2020-03-30 13:03:19,200 DEBUG [0x00000e2c] [\sipcc\core\sipstack\ccsip_debug.c(1041)] [csf.sip-call-control] [platform_print_sip_msg] - sipio-sent---> REGISTER sip:10.10.10.1 SIP/2.0 Via: SIP/2.0/TLS 10.10.10.10:62162;branch=z9hG4bK00001188 From:

;tag=882323451234089000003bdd-00005eff To:

Call-ID: 88232345-12340017-00001c0b-00000cfa@10.10.10.10 Max-Forwards: 70 Date: Mon, 30 Mar 2020 11:03:19 GMT CSeq: 2270 REGISTER User-Agent: Cisco-CSF Contact:

;+sip.instance="

";+u.sip!devicename.ccm.cisco.com="CSFrado";+u.sip!model.ccm.cisco.com="503";video Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1,X-cisco-graceful-reg,X-cisco-duplicate-reg ## 407 Proxy Authentication Required 2020-03-30 13:03:19,310 DEBUG [0x00000e2c] [\sipcc\core\sipstack\ccsip_debug.c(1041)] [csf.sip-call-control] [platform_print_sip_msg] - sipio-recv<--- SIP/2.0 407 Proxy Authentication Required Via: SIP/2.0/TLS 10.10.10.10:62162;branch=z9hG4bK00001188 From:

;tag=882323451234089000003bdd-00005eff To:

;tag=441122775 Date: Mon, 30 Mar 2020 11:03:31 GMT Call-ID: 88232345-12340017-00001c0b-00000cfa@10.10.10.10 Server: Cisco-CUCM12.5 CSeq: 2270 REGISTER Proxy-Authenticate: Bearer realm="ccmsipline" Content-Length: 0 ## Register with OAuth token included in the Proxy-Authorization header 2020-03-30 13:03:19,310 DEBUG [0x00000e2c] [\sipcc\core\sipstack\ccsip_debug.c(1041)] [csf.sip-call-control] [platform_print_sip_msg] - sipio-sent---> REGISTER sip:10.10.10.1 SIP/2.0 Via: SIP/2.0/TLS 10.10.10.10:62162;branch=z9hG4bK00004a82 From:

;tag=882323451234089000003bdd-00005eff To:

Call-ID: 88232345-12340017-00001c0b-00000cfa@10.10.10.10 Max-Forwards: 70 Date: Mon, 30 Mar 2020 11:03:19 GMT CSeq: 2271 REGISTER User-Agent: Cisco-CSF Contact:

;+sip.instance="

";+u.sip!devicename.ccm.cisco.com="CSFrado";+u.sip!model.ccm.cisco.com="503";video Proxy-Authorization: Bearer token="

" Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1,X-cisco-graceful-reg,X-cisco-duplicate-reg Reason: SIP;cause=200;text="cisco-alarm:111 Name=CSFrado ActiveLoad=Jabber_for_Windows-12.8.0.51973 InactiveLoad=Jabber_for_Windows-12.8.0.51973 Last=Application-Requested-Destroy" Expires: 3600 Content-Type: multipart/mixed; boundary=uniqueBoundary Mime-Version: 1.0 Content-Length: 1271 # 200 OK for Register 2020-03-30 13:03:19,325 DEBUG [0x00000e2c] [\sipcc\core\sipstack\ccsip_debug.c(1041)] [csf.sip-call-control] [platform_print_sip_msg] - sipio-recv<--- SIP/2.0 200 OK Via: SIP/2.0/TLS 10.10.10.10:62162;branch=z9hG4bK00004a82 From:

;tag=882323451234089000003bdd-00005eff To:

;tag=1915868308 Date: Mon, 30 Mar 2020 11:03:31 GMT Call-ID: 88232345-12340017-00001c0b-00000cfa@10.10.10.10 Server: Cisco-CUCM12.5 CSeq: 2271 REGISTER Expires: 120 Contact:

;+sip.instance="

";+u.sip!devicename.ccm.cisco.com="CSFrado";+u.sip!model.ccm.cisco.com="503";video;x-cisco-newreg Supported: X-cisco-srtp-fallback,X-cisco-sis-9.1.0 Content-Type: application/x-c

Situación 1 - Discordancia del puerto de registro de OAuth SIP

El dispositivo Jabber en las instalaciones en modo SIP OAuth no se puede registrar con UCM. UCM envía 403 para el mensaje Register:

SIP/2.0 403 Forbidden Via: SIP/2.0/TLS 10.5.10.121:50347;branch=z9hG4bK00005163 From:

;tag=005056867e66010a00006698-00002a32 To:

;tag=1946377502 Date: Fri, 03 Aug 2018 05:00:18 GMT Call-ID: 00505686-7e660005-0000216b-0000366f@10.5.10.121 Server: Cisco-CUCM12.5 CSeq: 363 REGISTER Retry-After: 35 Warning: 399 UCM2-PUB "SIP OAuth Registration port Mismatch" Content-Length: 0

Posible solución: Asegúrese de que se cumplen las siguientes condiciones:

- El modo OAuth está habilitado globalmente

- El perfil de seguridad del dispositivo asociado al dispositivo tiene la compatibilidad con OAuth habilitada

- Mensaje recibido en el puerto 5090 a través de TLS en lugar de mTLS

Situación 2: CA desconocida de Expressway

Expressway-C no puede establecer el intercambio de señales mTLS con UCM en sipMRAOAuthport (valor predeterminado 5091). Expressway-C no confía en el certificado compartido por UCM y responde con el mensaje CA desconocida durante la configuración de mTLS.

Posible solución: El servicio CallManager envía su certificado Tomcat durante el intercambio de señales mTLS. Asegúrese de que Expressway-C confía en el firmante del certificado Tomcat de UCM.

Situación 3: CA desconocida de UCM

Expressway-C no puede establecer el intercambio de señales mTLS con UCM en sipMRAOAuthport (valor predeterminado 5091). UCM no confía en el certificado compartido por Expressway y responde con el mensaje CA desconocida durante la configuración de mTLS.

Captura de paquetes de esta comunicación (UCM 10.x.x.198, Expressway-C 10.x.x.182):

Posible solución: UCM utiliza el almacén Tomcat-trust para verificar los certificados entrantes durante el intercambio de señales mTLS en los puertos SIP OAuth. Asegúrese de que el certificado del firmante para Expressway-C se carga correctamente en el UCM.