目錄

簡介

必要條件

需求

採用元件

限制

背景資訊

主要優勢

整體架構

配置 — 本地Jabber

1.配置刷新登入。

2.配置OAuth埠

3.啟用SIP OAuth模式。

4.重新啟動Cisco CallManager服務。

5.在安全配置檔案中配置OAuth支援。

組態 — 使用MRA的Jabber

前提條件

步驟1.啟用Refresh Login over MRA。

步驟2.刷新Expressway-C中的Unified CM節點。

步驟3.在安全配置檔案中配置OAuth支援。

驗證

1.檢查SIP OAuth模式是否為「全域性啟用」。

2.驗證Expressway-C SAN條目是否已成功推送到CUCM。

3.驗證Expressway-C上的CEOAuth區域。

4.驗證CallManager進程在SIP OAuth埠上偵聽。

疑難排解

Jabber日誌示例（本地）

場景1 - SIP OAuth註冊埠不匹配

場景2 — 來自Expressway的未知CA

案例3 - UCM中的未知CA

簡介

本文檔介紹使用Cisco Jabber實施SIP OAuth模式的配置和基本故障排除步驟。

必要條件

需求

思科建議您瞭解以下主題：

- Jabber軟體電話註冊

- 整合通訊管理員(UCM)

- 行動與遠端存取(MRA)解決方案

採用元件

支援SIP OAuth模式的最低軟體版本：

- Cisco UCM 12.5

- Cisco Jabber 12.5

- Cisco Expressway X12.5

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

限制

啟用SIP OAuth模式後，不支援Enable Digest Authentication和TFTP Encrypted Config選項。

背景資訊

主要優勢

保護Cisco Jabber軟體電話的SIP信令和媒體目前涉及多個配置步驟。最難的是安裝和續訂客戶端證書(LSC)，尤其是當思科Jabber裝置在內部和外部之間切換時，並且使CTL檔案中的證書保持最新。

SIP OAuth模式允許Cisco Jabber軟體電話使用OAuth自描述令牌而不是客戶端LSC證書在安全SIP介面上進行身份驗證。在UCM SIP介面上支援OAuth允許為Jabber本地部署和MRA部署提供安全信令和媒體，而無需混合模式或CAPF操作。

適用於Cisco Jabber的SIP OAuth模式支援的主要優勢：

- 啟用永遠線上加密而不增加管理負擔。

- 適用於Cisco Jabber的安全訊號傳送和媒體，無需混合模式（無CTL更新、憑證維護等）

- 無需在Jabber客戶端上安裝並維護LSC。

- LSC在多個裝置（筆記型電腦/流動裝置……）上面臨的挑戰

- 每當在新裝置上安裝Jabber時，都需要執行CAPF操作。

- MRA不支援CAPF操作。

整體架構

Cisco Jabber裝置通過解析CSF配置檔案(http://<cucmIP>:6970/<CSF-device-name>.cnf.xml)、配置檔案示例（為了簡潔而略去一些行）識別在SIP介面上啟用了OAuth身份驗證：

Cisco Jabber讀取sipOAuthMode引數以確定SIP OAuth模式是否已啟用。此引數可以採用以下值之一：

- 0 - SIP OAuth已禁用

- 1 — 啟用SIP OAuth

如果啟用SIP OAuth模式,Jabber將使用這些引數之一確定SIP TLS連線的埠 — sipOAuthPort（本地使用）或sipMAOAuthPort（基於MRA的部署）。示例顯示了預設值 — sipOAuthPort 5090和sipMAOAuthPort 5091。這些值是可配置的，並且在每個CUCM節點上可以不同。

如果SIP OAuth模式已禁用，則Jabber使用舊版非安全(5060)或安全(5061)埠進行SIP註冊。

附註：Cisco UCM使用SIP電話OAuth埠(5090)通過TLS收聽Jabber OnPremise裝置的SIP線路註冊。但是，UCM使用SIP移動遠端訪問埠（預設5091）通過mLTS偵聽Jabber over Expressway的SIP線路註冊。這兩個連線埠均可設定。請參見配置部分。

CallManager服務在sipOAuthPort和sipMAOAuthPort上偵聽。但是，兩個埠都使用Tomcat證書和Tomcat-trust進行傳入的TLS/mTLS連線。確保Tomcat信任儲存能夠驗證SIP OAuth模式的Expressway-C證書以使MRA正常運行。

如果重新生成Tomcat證書，則隨後必須在受影響的節點上重新啟動CallManager進程。CCM進程在sipOAuth埠上載入和使用新證書時需要此步驟。

此圖說明在內部部署時Cisco Jabber的註冊:

此圖說明Cisco Jabber over MRA的註冊：

*Expressway-C節點使用AXL API通知UCM其證書中的CN/SAN。UCM使用此資訊驗證建立雙方TLS連線時的Exp-C證書。

配置 — 本地Jabber

附註：

在配置SIP OAuth模式之前，請確保完成以下幾點：

— 配置了MRA，並且在Unified Communication Manager(UCM)和Expressway之間建立連線（僅在使用MRA時適用）。

- UCM註冊到允許匯出控制功能的智慧或虛擬帳戶。

1.配置刷新登入。

使用OAuth訪問令牌配置「刷新登入」，並為Cisco Jabber客戶端配置刷新令牌。從Cisco Unified CM Administration中，選擇System > Enterprise Parameters。

2.配置OAuth埠

選擇System > Cisco Unified CM。這是選用步驟。圖片顯示預設值。可接受的可配置範圍為1024到49151。請對每個伺服器重複相同的過程。

3.啟用SIP OAuth模式。

使用發布器的命令列介面全域性啟用SIP OAuth模式。運行命令：utils sipOAuth-mode enable。

4.重新啟動Cisco CallManager服務。

在Cisco Unified Serviceability中選擇Tools > Control Center - Feature Services。在服務處於活動狀態的所有節點上選擇並重新啟動Cisco CallManager服務。

5.在安全配置檔案中配置OAuth支援。

在Cisco Unified CM Administration中選擇System > Phone Security Profile。選擇Enable OAuth Authentication以啟用終端的SIP OAuth支援。

組態 — 使用MRA的Jabber

前提條件

在配置SIP OAuth mode for Jabber over MRA之前，請完成本文的配置 — Jabber內部部署一章中的步驟1-4。

步驟1.啟用Refresh Login over MRA。

使用Cisco Jabber over MRA配置SIP OAuth身份驗證之前，必須在Expressway（也稱為自描述令牌）上啟用刷新登入。在Expressway-C上，導航到Configuration > Unified Communications > Configuration，確保Authorize by OAuth Token with refresh引數設定為On。

步驟2.刷新Expressway-C中的Unified CM節點。

導航到Configuration > Unified Communications > Unified CM servers。發現或刷新Expressway-C中的Unified CM節點。

附註：在Expressway-C中自動建立新的CEOAuth(TLS)區域。例如CEOAuth <Unified CM name>。建立搜尋規則以將源自Jabber over MRA的SIP請求代理到Unified CM節點。此區域使用TLS連線，而不考慮Unified CM是否配置為混合模式。為了建立信任，Expressway-C還將主機名和主題備用名稱(SAN)詳細資訊傳送到Unified CM集群。請參閱本文的驗證部分，確保正確配置已就緒。

步驟3.在安全配置檔案中配置OAuth支援。

在Cisco Unified CM Administration中選擇System > Phone Security Profile。在分配給Cisco Jabber的配置檔案上啟用OAuth支援。

驗證

1.檢查SIP OAuth模式是否為「全域性啟用」。

從Cisco Unified CM Administration驗證OAuth模式，選擇System > Enterprise Parameters。

或者，使用Admin CLI — 運行命令：運行sql select paramvalue FROM processconfig WHERE paramname = 'ClusterSIPOAuthMode'

可能的值：0 — 表示已禁用（預設），1 — 表示已啟用。

2.驗證Expressway-C SAN條目是否已成功推送到CUCM。

Expressway-C通過AXL將其證書的CN/SAN詳細資訊傳送到UCM。這些詳細資訊儲存在expresswaycconfiguration表中。每次發現或刷新Expressway-C中的Unified CM節點時，都會呼叫此過程。這些條目用於建立UCM和Expressway-C之間的信任。在MTLS連線到SIP MRA OAuth埠（預設情況下為5091）期間，會針對這些條目檢查Expressway-C證書的CN/SAN欄位。 如果驗證失敗，MTLS連線將失敗。

驗證Cisco Unified CM Administration中的條目，選擇Device > Expressway-C（從UCM 12.5.1Su1開始）

或者，也可以使用管理CLI — 運行命令：從expresswaycconfiguration運行sql select *

3.驗證Expressway-C上的CEOAuth區域。

導航到Expressway-C > Configuration > Zones > Zones。確保所有新建立的CEOAuth區域處於活動狀態。

4.驗證CallManager進程在SIP OAuth埠上偵聽。

從管理員CLI運行命令：show open ports regexp 5090(預設SIP OAuth埠)

從管理員CLI運行命令：show open ports regexp 5091(預設SIP MRA OAuth埠)

疑難排解

Jabber日誌示例（本地）

從Jabber日誌角度檢視埠5090上的本地SIP OAuth註冊的日誌示例。

## 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

場景1 - SIP OAuth註冊埠不匹配

在SIP OAuth模式下的內部部署Jabber裝置無法向UCM註冊。UCM為註冊消息傳送403:

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

可能的解決方案：確保滿足以下條件：

- OAuth模式已全域性啟用

- 與裝置關聯的裝置安全配置檔案已啟用OAuth支援

- 在5090埠上通過TLS而不是mTLS接收的消息

場景2 — 來自Expressway的未知CA

Expressway-C無法在sipMAOAuthport上與UCM建立mTLS握手（預設值為5091）。 Expressway-C不信任UCM共用的證書，並在mTLS設定期間使用未知CA消息進行響應。

可能的解決方案：CallManager服務在mTLS握手期間傳送其Tomcat證書。確保Expressway-C信任UCM Tomcat證書的簽名者。

案例3 - UCM中的未知CA

Expressway-C無法在sipMAOAuthport上與UCM建立mTLS握手（預設值為5091）。UCM不信任Expressway共用的證書，並在mTLS設定期間使用未知CA消息進行響應。

從此通訊捕獲的資料包(UCM 10.x.x.198、Expressway-C 10.x.x.182):

可能的解決方案：UCM在SIP OAuth埠上的mTLS握手期間使用Tomcat-trust儲存驗證傳入證書。確保Expressway-C的簽名者證書正確上傳到UCM。