目錄

簡介

必要條件

需求

採用元件

網路拓撲 — 單呼叫網橋

網路拓撲 — 集群呼叫網橋

Callbridge證書要求 — 單個CallBridge

Callbridge證書要求 — 群集呼叫網橋

DNS記錄要求 — 單個CallBridge

DNS記錄要求 — 群集呼叫網橋

組態

SIP媒體加密

入站規則

入站規則配置示例 — 單個CallBridge

入站規則配置示例 — 集群呼叫網橋

出站規則

出站呼叫配置示例 — 單個CallBridge

出站呼叫配置示例 — 集群呼叫網橋

使用API修改範圍 — 僅集群呼叫網橋

獲取群集中所有CallBridge的清單

獲取所有出站撥號規則的清單

將CallBridge範圍放入

CMS服務帳戶

CMS服務帳戶配置示例

驗證CMS服務帳戶

Lync/Skype配置

單一CallBridge

集群CallBridge

疑難排解

從CMS收集日誌

檢視Lync/Skype配置

Lync/Skype Get命令的示例輸出

正在聯絡TAC

簡介

本文檔介紹如何使用Skype for Business配置Cisco Meeting Server(CMS)CallBridge集群，作為官方指南的補充。本文檔提供了單個CallBridge的示例和三個CallBridge群集的另一個示例，但可以根據需要新增其他CallBridge。還支援兩個CallBridge群集。

作者：Rogelio Galindo，編輯者：思科TAC工程師Viridiana Fuentes。

必要條件

需求

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

- 思科會議伺服器(CMS)

- 網域名稱伺服器(DNS)

- Skype For Business

- 應用程式開發介面(API)

注意：配置指南可以在以下位置找到：https://www.cisco.com/c/dam/en/us/td/docs/conferencing/ciscoMeetingServer/Deployment_Guide/Version-2-2/Cisco-Meeting-Server-2-2-Scalable-and-Resilient-Deployments.pdf

採用元件

- 3台運行CallBridge集群的CMS伺服器，軟體版本2.2.2。

- Skype for Business 2015

- Active Directory(AD)Windows Server 2012

- 安全殼層(SSH)使用者端

- 安全檔案傳輸通訊協定(SFTP)使用者端，例如WinSCP或類似專案

- API程式，如Postman或類似

- Active Directory、DNS和Skype伺服器的遠端案頭會話

網路拓撲 — 單呼叫網橋

網路拓撲 — 集群呼叫網橋

Callbridge證書要求 — 單個CallBridge

表1a提供了單個CallBridge環境的CallBridge證書示例。

表1a

CallBridge證書

說明

單一CallBridge

CN:cms.uc.local

CallBridge FQDN

Callbridge證書要求 — 群集呼叫網橋

表1b提供了集群化CallBridge環境的CallBridge證書示例。可以在集群中的CallBridge之間共用單個證書。

表1b

Callbridge證書

說明

伺服器1:cms1.uc.local

CN:cms.uc.local

CallBridge群集FQDN。此記錄必須解析到所有CallBridge群集對等體。

SAN:cms.uc.local

CallBridge群集FQDN。此記錄必須解析到所有CallBridge群集對等體。

SAN:cms1.uc.local

CallBridge 1 FQDN。

SAN:cms2.uc.local

CallBridge 2 FQDN。

SAN:cms3.uc.local

CallBridge 3 FQDN。

伺服器2:cms2.uc.local

CN:cms.uc.local

CallBridge群集FQDN。此記錄必須解析到所有CallBridge群集對等體。

SAN:cms.uc.local

CallBridge群集FQDN。此記錄必須解析到所有CallBridge群集對等體。

SAN:cms1.uc.local

CallBridge 1 FQDN。

SAN:cms2.uc.local

CallBridge 2 FQDN。

SAN:cms3.uc.local

CallBridge 3 FQDN。

伺服器3:cms3.uc.local

CN:cms.uc.local

CallBridge群集FQDN。此記錄必須解析到所有CallBridge群集對等體。

SAN:cms.uc.local

CallBridge群集FQDN。此記錄必須解析到所有CallBridge群集對等體。

SAN:cms1.uc.local

CallBridge 1 FQDN。

SAN:cms2.uc.local

CallBridge 2 FQDN。

SAN:cms3.uc.local

CallBridge 3 FQDN。

CMS CLI可用於檢視證書的內容：

cms1> pki inspect cmsuccluster.cer

Checking ssh public keys...not found

Checking user configured certificates and keys...found

File contains a PEM encoded certificate

Certificate:

Data:

Version: 3 (0x2)

Serial Number:

60:00:00:00:21:db:36:e8:b9:0d:96:44:41:00:00:00:00:00:21

Signature Algorithm: sha256WithRSAEncryption

Issuer: DC=local, DC=uc, CN=DC-CA

Validity

Not Before: Mar 16 19:00:53 2018 GMT

Not After : Mar 16 19:10:53 2020 GMT

Subject: C=US, ST=NC, L=RTP, O=Systems, OU=Cisco, CN=CMS.UC.local

Subject Public Key Info:

Public Key Algorithm: rsaEncryption

Public-Key: (2048 bit)

Modulus:

00:b8:41:69:d9:1d:47:ef:b1:23:70:ae:69:da:e3:

ff:12:f8:97:2b:ee:1e:c0:6c:66:e4:95:3f:8a:74:

4d:ec:fc:1e:0d:38:56:1b:00:5c:ce:6d:d3:68:13:

e4:9d:b6:e7:7d:de:c4:a4:f3:00:02:11:e5:33:06:

b4:f6:64:29:c3:77:62:a9:dc:9d:ad:a2:e9:c1:0b:

72:f4:18:af:df:d3:e3:f4:4a:5d:66:e5:e8:4f:63:

09:15:5f:8e:ec:df:86:fb:35:47:99:db:18:d1:b7:

40:4e:b6:b3:b6:66:28:8e:89:15:8b:cc:0f:e6:5c:

e6:2d:de:83:6c:f8:e3:46:49:97:a6:a9:0e:6d:b1:

65:08:8e:aa:fc:f0:ae:2f:c1:c2:cd:b6:4f:a5:eb:

29:32:9a:48:8c:86:6d:1e:3a:c2:22:70:a3:56:e9:

17:01:ef:3a:ce:bb:9f:04:47:e5:24:e0:16:ba:c0:

85:df:92:4d:51:d2:95:bf:84:f7:9a:2e:c0:31:e9:

9f:91:4f:4a:ce:2c:27:17:f8:ae:3e:96:4e:3b:0a:

15:1a:66:cf:e9:12:96:e1:17:ee:65:3c:04:7a:c0:

a0:b3:09:fd:3e:16:08:c6:0b:36:51:57:cb:d8:09:

a3:40:d0:2c:ae:d6:06:e0:8c:06:de:b7:ce:24:83:

28:69

Exponent: 65537 (0x10001)

X509v3 extensions:

X509v3 Subject Alternative Name:

DNS:CMS.UC.local, DNS:CMS.UC.local, DNS:CMS1.UC.local, DNS:CMS2.UC.local, DNS:CMS3.UC.local

X509v3 Subject Key Identifier:

FE:EF:64:D6:85:7A:62:C5:CA:7B:64:10:B7:F9:E7:18:1D:65:0B:70

X509v3 Authority Key Identifier:

keyid:B5:FC:2D:1E:7F:D9:3E:68:F4:B2:78:1F:F0:E8:B2:FC:80:7F:9C:E8

X509v3 CRL Distribution Points:

Full Name:

URI:ldap:///CN=DC-CA,CN=DC,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=uc,DC=local?certificateRevocationList?base?objectClass=cRLDistributionPoint

Authority Information Access:

CA Issuers - URI:ldap:///CN=DC-CA,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=uc,DC=local?cACertificate?base?objectClass=certificationAuthority

X509v3 Key Usage: critical

Digital Signature, Key Encipherment

1.3.6.1.4.1.311.21.7:

0..&+.....7.....\...........A........N...O..d...

X509v3 Extended Key Usage:

TLS Web Server Authentication, TLS Web Client Authentication

1.3.6.1.4.1.311.21.10:

0.0

..+.......0

..+.......

Signature Algorithm: sha256WithRSAEncryption

83:31:16:15:74:41:98:e4:40:02:70:cc:6e:c0:53:15:8a:7a:

8a:87:0a:aa:c8:99:ff:5b:23:e4:8b:ce:dd:c0:61:9c:06:b4:

3d:22:91:b6:91:54:3a:99:8d:6e:db:18:27:ef:f7:5e:60:e6:

48:a2:dd:d5:85:1d:85:55:79:e0:64:1a:55:22:9e:39:0c:27:

53:a4:d8:3f:54:fd:bc:f9:d4:6e:e1:dd:91:49:05:3e:65:59:

6e:d4:cd:f6:de:90:cb:3d:b3:15:03:4b:b8:9d:41:f1:78:f5:

d9:42:33:62:b5:18:4f:47:54:c9:fa:58:4b:88:aa:0d:f6:26:

9b:fb:8f:98:b4:82:96:97:24:fe:02:5b:03:04:67:c2:9e:63:

3d:02:ae:ef:92:a7:be:ad:ca:7e:4e:d2:1e:54:e6:bf:75:3b:

72:32:7c:d6:78:3f:5e:b9:e6:43:bd:1c:74:20:46:57:1b:81:

c2:4b:b4:fc:9f:cc:c9:63:a8:2d:fd:dd:09:3f:24:d6:ac:f7:

7c:bd:26:80:a5:b4:d1:a7:c8:fb:3d:d4:a7:93:70:d1:5c:77:

06:9e:1c:f8:6a:81:a5:97:91:e9:21:e9:7a:df:a3:64:ab:ed:

15:c7:be:89:5f:1e:53:a7:b5:01:55:ab:a2:cd:8f:67:8d:14:

83:bc:29:a1

cms1>

請注意主題和X509v3主題備用名稱欄位。稍後當我們在Microsoft環境中建立信任關係時，這些將非常重要。

Subject: C=US, ST=NC, L=RTP, O=Systems, OU=Cisco, CN=CMS.UC.local

X509v3 Subject Alternative Name:

DNS:CMS.UC.local, DNS:CMS.UC.local, DNS:CMS1.UC.local, DNS:CMS2.UC.local, DNS:CMS3.UC.local

附註：可以在以下位置找到證書配置指南：https://www.cisco.com/c/dam/en/us/td/docs/conferencing/ciscoMeetingServer/Deployment_Guide/Version-2-2/Certificate-Guidelines-Single-Split_Server-Deployment-2-2.pdf

DNS記錄要求 — 單個CallBridge

表2a提供了如何配置DNS伺服器的示例。它解釋了每個欄位的含義。

表2a

記錄

IP範例

說明

cms.uc.local

10.10.10.1

CallBridge

fe.skype.local

10.10.10.5

Skype前端完全限定域名(FQDN)

DNS記錄要求 — 群集呼叫網橋

表2b提供了如何配置DNS伺服器的示例。它解釋了每個欄位的含義。

表2b

記錄

IP範例

說明

cms1.uc.local

10.10.10.1

CallBridge 1

cms2.uc.local

10.10.10.2

CallBridge 2

cms3.uc.local

10.10.10.3

CallBridge 3

cms.uc.local

10.10.10.1

10.10.10.2

10.10.10.3

解析為群集中所有CallBridge的A記錄。這將稱為CallBridge群集完全限定的域名(FQDN)

fe.skype.local

10.10.10.5

Skype前端完全限定域名(FQDN)

組態

SIP媒體加密

導覽至Configuration> Call Settings。必須將SIP媒體加密設定為「允許」。

入站規則

表3說明了「來電 — 呼叫匹配」配置中的每個欄位的含義。

表3

來電匹配撥號計畫欄位

說明

域名

如果收到此域的呼叫，則使用URI的使用者部分在啟用的目標中查詢匹配項。

優先順序機制

這將決定考慮規則的順序。首先檢查更高的號碼。最後將檢查更低的數字。

目標空間

如果設定為yes:如果URI的使用者部分與某個空間匹配，則呼叫將連線到該空間。

目標使用者

如果設定為yes:如果URI的使用者部分與CMA使用者匹配，則呼叫將嘗試呼叫該使用者。

目標IVR

如果設定為yes:如果URI的使用者部分與配置的IVR匹配，呼叫將連線到該IVR。

目標Lync

如果設定為yes:如果URI的使用者部分與Skype for Business會議的PSTN撥入號碼匹配，則以雙宿主呼叫方式連線到該會議。

目標Lync Simplejoin

如果設定為yes:將URI的使用者部分轉換為HTTPS目標，並嘗試查詢在該URL託管的Office365會議。

租戶

這將確定將考慮哪些租戶使用此規則。

表4描述了Incoming Calls - Call Forwarding配置中的每個欄位的含義。

表4

來電轉接撥號計畫欄位

說明

域匹配模式

如果收到與此域的呼叫，則按照配置轉發或拒絕該域。

優先順序機制

這將決定考慮規則的順序。首先檢查更高的號碼。最後將檢查更低的數字。

轉發

如果設定為轉接，則呼叫將由出站規則處理。如果設定為「拒絕」，則將拒絕且不轉發呼叫。

來電者ID

如果設定為通過域的起始部分，則保留該域。如果設定為使用撥號計畫，則起始部分將按出站規則中的配置重寫。

附註：如果CallBridge在群集中，則不能將傳遞用於與Lync/Skype域匹配的規則。這將中斷網關呼叫的演示。

重寫域

如果啟用，則將被叫域更改為轉發域欄位中配置的值。

轉發域

如果啟用了重寫域，則被叫域將更改為此欄位的值。

入站規則配置示例 — 單個CallBridge

在這種環境下，事情非常簡單。由於我們不使用群集CallBridge，因此我們可以設定每個域使用傳遞作為其呼叫方ID。無法在群集環境中執行此操作，因為這將中斷簡報共用。

此外，還有一個域Skype.local的呼叫匹配規則，其中「Targets Lync」設定為true。這意味著如果我們通過PSTN撥入號碼呼叫Lync/Skype會議，則應該能夠作為雙家庭呼叫進行連線。

入站規則配置示例 — 集群呼叫網橋

在此環境中，我們使用的是包含三個CallBridge的CallBridge群集。因此，對於配置為將域重寫為uc.local的每個CallBridge，我們需要一個呼叫轉發規則。這是因為，當Lync/Skype使用者從UC環境回叫使用者時，他們實際上將向cms1.uc.local、cms2.uc.local或cms3.uc.local域發出呼叫。遺憾的是，這是使內容在群集CallBridge環境中工作所需的配置限制。在將呼叫轉發到uc.local sip代理之前，我們需要將此轉換回uc.local。

此外，還有一個域Skype.local的呼叫匹配規則，其中「Targets Lync」設定為true。這意味著如果我們通過PSTN撥入號碼呼叫Lync/Skype會議，則應該能夠作為雙家庭呼叫進行連線。

出站規則

表5描述了出站呼叫配置中的每個欄位的含義。

表5

出站撥號計畫欄位

說明

域

對於撥出到此域的呼叫，請使用此出站規則

要使用的SIP代理

要為此域向其傳送呼叫的SIP代理

本地聯絡人域

這將決定聯絡人標題中的值。對於Lync/Skype整合，此值必須設定為CallBridge的FQDN。

附註：對於使用Lync/Skype SIP代理的任何出站規則，必須配置此欄位。對於使用非Lync/Skype的SIP代理的任何出站規則，不得配置此欄位。

本地源域

這決定了要放入from標頭中的值。這將是SIP代理上看到的呼叫者ID地址。如果保留為空，此欄位將使用配置的「本地聯絡人域」。Lync/Skype會將此作為回撥和演示共用的目標URI。

附註：如果呼叫是網關呼叫並且使用的入站撥號規則的「呼叫者ID」設定為「通過」，則不使用此值。

中繼型別

這決定了與SIP代理通訊時將使用的SIP變體。

行為

這決定我們是否繼續檢查較低優先順序的規則，或如果出現我們無法完成呼叫的匹配項，停止搜尋。

優先順序機制

這將決定考慮規則的順序。首先檢查更高的號碼。最後將檢查更低的數字。

加密

這決定了我們將使用加密還是未加密SIP。

租戶

這將確定將考慮哪些租戶使用此規則。

呼叫橋作用域

這將確定考慮將此出站撥號規則用於哪個CallBridge。在集群CallBridge中，這是確保從每個CallBridge傳送正確的聯絡域所必需的。

附註：此值只能利用以下API進行設定。

出站呼叫配置示例 — 單個CallBridge

再次 我們發現單個CallBridge環境比群集環境簡單得多。上面需要注意的一點是，我們指定了聯絡人域。這是因為如果我們不指定CallBridge的完全限定域名，則出於安全原因，Lync/Skype將拒絕呼叫。由於我們的傳入轉發規則設定為使用傳遞，因此在本示例中，我們實際上不會重寫源域。

出站呼叫配置示例 — 集群呼叫網橋

在此環境中，我們使用的是包含三個CallBridge的CallBridge群集。因此，我們需要每個CallBridge都有一個出站規則，每個出站規則具有不同的本地聯絡域、來自域的本地聯絡域和範圍。將呼叫從所有CallBridge路由到思科統一通訊管理器只需要一條出站規則。要設定使用API所需的範圍，請執行以下操作：

使用API修改範圍 — 僅集群呼叫網橋

建立出站呼叫規則後，該規則的範圍將被設定為<all>。這表示出站規則將用於集群中的所有CallBridge。對於指向Lync/Skype的出站規則，我們需要使用不同的聯絡人和信頭，具體取決於我們啟用的CallBridge。為此，我們需要為每個CallBridge建立不同的出站規則，其中聯絡人/發件人欄位與該CallBridge匹配。我們需要使用API設定這些出站撥號規則的範圍，以便它們僅在匹配該規則的CallBridge上處理。

獲取群集中所有CallBridge的清單

在瀏覽器中，導航到CMS API的/callbridge頁面。這將顯示集群中的所有CallBridge。

現在我有所有CallBridges的ID。您的環境中的ID將不同。我可以看到，如果要引用CallBridge cms1.uc.local I，應使用e4ab61ea-b5b4-4fac-ad4a-9979badea4e4的ID。

獲取所有出站撥號規則的清單

接下來，我需要查詢出站規則並獲取其ID。在瀏覽器中，導航到API中的/outbounddialplanrules頁。

<outboundDialPlanRules total="4">

<outboundDialPlanRule id="7c76b6c7-4c42-45b0-af47-796cb6737e4e">

<domain>UC.local</domain>

<priority>0</priority>

</outboundDialPlanRule>

<outboundDialPlanRule id="b8cf4056-7f56-43a5-b67b-861253d5ca32">

<domain>skype.local</domain>

<priority>0</priority>

</outboundDialPlanRule>

<outboundDialPlanRule id="4ae1d777-48b7-423b-a646-a329e1e822af">

<domain>skype.local</domain>

<priority>0</priority>

</outboundDialPlanRule>

<outboundDialPlanRule id="05f00293-50fd-4c17-9452-dec224b43430">

<domain>skype.local</domain>

<priority>0</priority>

</outboundDialPlanRule>

</outboundDialPlanRules>

現在我有所有規則的身份證，但是我不能分辨哪一個。我們不在乎第一條規則，因為一條規則是到UC.local的，我們不需要為此設定範圍。我們需要知道哪個規則是剩餘出站規則到Skype.local。因此，每次啟動時，我會將ID與CallBridge進行匹配。

在瀏覽器中，我將導航到/outbounddialplanrules/b8cf4056-7f56-43a5-b67b-861253d5ca32。閱讀此處列出的聯絡人標題，我可以斷定此規則適用於CMS1.UC.local。因此，我們需要將此規則的範圍設定為CMS1.UC.local。

將CallBridge範圍放入

使用我最喜歡的API工具，我將傳送PUT到/outbounddialplanrules/b8cf4056-7f56-43a5-b67b-861253d5ca32上的api，並附上以下正文：

scope: callBridge

callBridge: e4ab61ea-b5b4-4fac-ad4a-9979badea4e4

在此螢幕截圖中，我使用PostMan傳送此請求。

如果此HTTP PUT成功，WebAdmin中的出站撥號規則頁現在應反映已應用範圍。如果從CallBridge的Webadmin中檢視作用域已應用於該作用域，則應顯示<local>。如果另一個CallBridge的Webadmin用於檢視出站撥號規則，則應在範圍欄位中顯示CallBridge FQDN。<all>範圍表示規則將用於所有CallBridge。<none>範圍表示已啟用一個範圍，但沒有CallBridge與該範圍匹配。

為一個CallBridge設定作用域後，需要為每個附加CallBridge配置該作用域。完成此配置後，您的Skype域的每個出站規則都應有一個作用域。

CMS服務帳戶

在WebAdmin的general configuration頁面中，有一個Lync Edge settings部分。要使用TURN服務或通過PSTN撥入號碼加入雙家庭會議，必須配置此功能。

表6描述了Lync邊緣設定配置中的每個欄位的含義。

表6

Lync邊緣設定欄位

說明

伺服器位址

前端池的完全限定域名(FQDN)

使用者名稱

要用於CMS的服務帳戶的使用者名稱

註冊數

您要註冊多少個不同的使用者帳戶。如果未在此處配置值，則僅註冊上面列出的使用者名稱。如果在此處應用數字，則數字1-X將作為字尾應用於URI的使用者部分，其中X是在此欄位中配置的數字。

CMS服務帳戶配置示例

CMS1上的配置：

此配置會將cms1serviceuser1@skype.local、cms1serviceuser2@skype.local、cms1serviceuser3@skype.local、... cms1serviceuser11@skype.local和cms1serviceuser12@skype.local註冊到fe.skype.local。由於在本示例中，我處於群集環境中，因此我還需要為我的其他CallBridge建立服務帳戶並分別配置它們。請注意，本示例中的使用者名稱不同。在CMS1上，使用者名稱的字首為cms1。在CMS2上，使用者名稱的字首為cms2。在CMS3上，字首為cms3。所有這些帳戶均在Skype for Business環境中建立並啟用。由於我們的受信任應用程式池配置了「視為經過身份驗證」，因此我們不需要提供密碼進行註冊。

CMS2上的配置：

CMS3上的配置：

驗證CMS服務帳戶

如果Lync/Skype使用者已成功註冊，則會顯示CMS WebAdmin的狀態頁面。在下面的示例中，我們僅配置一個註冊，該註冊已成功完成。如果您注意到狀態顯示長時間正在進行的註冊，請收集SIP和DNS日誌以確定發生故障的原因。

Lync/Skype配置

在Lync/Skype命令列管理程式中應用以下命令。在前端伺服器上應用命令。

附註：建議使用命令作為指導。如果您對Skype伺服器上的配置有疑問，您需要聯絡您的Lync/Skype管理員和/或支援團隊。

單一CallBridge

首先，我們需要通知Skype信任我們的CallBridge。為此，我們新增了一個受信任的應用程式池。在Microsoft術語中，「池」僅表示「群集」。 在此場景中，我們的集群只是一個CallBridge的集群。群集的標識必須與CallBridge上正在使用的證書的公用名稱匹配。Microsoft將此項用作安全檢查。在SAN中擁有身份是不夠的。如果公用名不匹配，Microsoft將斷開TCP連線。使用此命令時，標識應為CallBridge FQDN。註冊器應為為這些連線提供服務的前端池的FQDN。站點應該是Lync/Skype站點識別符號。如果您不確定註冊器或站點應使用的值，請聯絡您的Lync/Skype管理員。

New-CsTrustedApplicationPool -Identity CMS.UC.local -Registrar fe.skype.local -site 1 -RequiresReplication $false -ThrottleAsServer $true -TreatAsAuthenticated $true

接下來，必須將Microsoft環境配置為允許從埠5061上的CallBridge（受信任的應用程式池）進行入站通訊。

New-CsTrustedApplication -ApplicationId AcanoApplication -TrustedApplicationPoolFqdn CMS.UC.local -Port 5061

Microsoft環境當前配置為接受呼叫，但它無法回撥呼叫並且無法為網關呼叫傳送簡報。要解決此問題，我們需要新增靜態路由。在單一CallBridge方案中，我們只需要一條路由即可允許所有到UC.local域的呼叫。在下面的命令中，Destination是我們要向其傳送SIP請求的CallBridge的FQDN。MatchURI欄位是應該使用的URI的域部分。請注意，在Lync/Skype環境中，每個MatchURI只能建立一個靜態路由。

$x1=New-CsStaticRoute -TLSRoute -Destination “CMS.UC.local" -MatchUri “UC.local" -Port 5061 -UseDefaultCertificate $true

Set-CsStaticRoutingConfiguration -Identity global -Route @{Add=$x1}

最後，我們需要通知Skype實施我們剛剛所做的所有更改。

Enable-CsTopology

集群CallBridge

首先，我們需要通知Skype信任我們的CallBridge群集。為此，我們新增了一個受信任的應用程式池。在Microsoft術語中，「池」僅表示「群集」。 群集的標識必須與我們的CallBridge上使用的證書的公用名稱相匹配。 Microsoft將此項用作安全檢查。在SAN中擁有身份是不夠的。如果公用名不匹配，Microsoft將斷開TCP連線。使用此命令時，標識應為CallBridge FQDN。ComputerFqdn應該是群集中第一個CallBridge的FQDN。通過指定ComputerFqdn，您向Lync/Skype環境表明這不是一個只包含一台伺服器的群集。註冊器應為為這些連線提供服務的前端池的FQDN。站點應該是Lync/Skype站點識別符號。如果您不確定註冊器或站點應使用的值，請聯絡您的Lync/Skype管理員。

New-CsTrustedApplicationPool -Identity CMS.UC.local -ComputerFqdn CMS1.UC.local -Registrar fe.skype.local -site 1 -RequiresReplication $false -ThrottleAsServer $true -TreatAsAuthenticated $true

在此環境中，我們需要新增兩個CallBridge作為受信任的應用程式電腦。我們在上面建立受信任的應用程式池時，已經新增了第一個CallBridge。新增這些電腦時，我們需要將它們與我們剛剛建立的池相關聯。這告知Skype，我們的集群中有其他電腦需要信任。此處的所有電腦標識都需要在CallBridge證書中列為SAN。 這些標識還必須與CallBridge中出站撥號規則中的聯絡人報頭匹配。如果不匹配，Microsoft將斷開TCP連線。

New-CsTrustedApplicationComputer -Identity CMS2.UC.local -Pool CMS.UC.local

New-CsTrustedApplicationComputer -Identity CMS3.UC.local -Pool CMS.UC.local

接下來，必須將Microsoft環境配置為允許從埠5061上的CallBridge群集（受信任的應用程式池）進行入站通訊。

New-CsTrustedApplication -ApplicationId AcanoApplication -TrustedApplicationPoolFqdn CMS.UC.local -Port 5061

Microsoft環境當前配置為接受呼叫，但它無法回撥呼叫並且無法為網關呼叫傳送簡報。要解決此問題，我們需要新增靜態路由。首先，我們需要新增靜態路由以允許對UC.local域的所有呼叫。在下面的命令中，Destination是我們要向其傳送SIP請求的CallBridge的FQDN。MatchURI欄位是應該使用的URI的域部分。請注意，在Lync/Skype環境中，每個MatchURI只能建立一個靜態路由。由於目標是CallBridge群集的FQDN，並且它對於群集的每個成員都有一個DNS A記錄，因此Lync/Skype可以將流量傳送到我們的所有CallBridge。因此，如果其中一個關閉，它可以自動將針對我們域的請求路由到群集中的另一個CallBridge。

$x1=New-CsStaticRoute -TLSRoute -Destination “CMS.UC.local" -MatchUri “UC.local" -Port 5061 -UseDefaultCertificate $true

Set-CsStaticRoutingConfiguration -Identity global -Route @{Add=$x1}

接下來，我們需要為群集中的每個CallBridge建立額外的靜態路由。這是回叫和演示正常工作的要求。

$x2=New-CsStaticRoute -TLSRoute -Destination “CMS1.UC.local" -MatchUri “CMS1.UC.local" -Port 5061 -UseDefaultCertificate $true

Set-CsStaticRoutingConfiguration -Identity global -Route @{Add=$x2}

$x3=New-CsStaticRoute -TLSRoute -Destination “CMS2.UC.local" -MatchUri “CMS2.UC.local" -Port 5061 -UseDefaultCertificate $true

Set-CsStaticRoutingConfiguration -Identity global -Route @{Add=$x3}

$x4=New-CsStaticRoute -TLSRoute -Destination “CMS3.UC.local" -MatchUri “CMS3.UC.local" -Port 5061 -UseDefaultCertificate $true

Set-CsStaticRoutingConfiguration -Identity global -Route @{Add=$x4}

最後，我們需要通知Skype實施我們剛剛所做的所有更改。

Enable-CsTopology

疑難排解

從CMS收集日誌

診斷任何問題的第一步是確定問題的位置。為此，我們需要分析來自思科會議伺服器的日誌，但首先需要收集這些日誌。以下是我要收集日誌的個人建議。

首先，通過WebAdmin介面為所有CallBridge啟用SIP和DNS調試。為此，請導航至WebAdmin，然後導航至Logs > Detailed Tracing。在此啟用未來30分鐘的SIP和DNS日誌記錄。此時間應足以發現並診斷問題。請記住，需要針對所有CallBridge單獨執行此操作，因為日誌啟用不會在群集間共用。

第二，在所有CallBridge上啟用資料包捕獲。為此，請通過SSH連線到每個CallBridge並運行命令pcap <interface>，其中<interface>是應該使用的介面流量。在大多數情況下，這將是介面a。因此，命令「pcap a」將在介面a上開始捕獲我們連線的CallBridge的資料包。

一旦資料包捕獲在所有介面上運行，下一步就是產生問題。繼續嘗試撥打電話，或者做任何失敗的事情。完成後，終止所有資料包捕獲。這可以通過在所有SSH視窗中輸入Ctrl-C來完成。資料包捕獲完成後，生成的檔案的名稱將寫入螢幕。跟蹤此檔名，因為下一步需要下載它。

最後，我們需要從CallBridge收集日誌。為此，請通過SFTP連線到每個CallBridge。下載檔案logbundle.tar.gz和生成的資料包捕獲檔案。此檔案僅在CMS2.2+中可用。在CMS版本2.3+中，它將包含您的CMS的完整配置。如果運行的是2.2版，則不會包含入站/出站規則，因此最好獲取這些頁面的螢幕截圖以及Lync邊緣設定以供參考。確保將收集的日誌/螢幕截圖儲存在名稱與從中提取日誌的CallBridge匹配的單獨資料夾中。這有助於確保日誌不會混雜

檢視Lync/Skype配置

這些命令在對Lync/Skype配置進行故障排除時非常有用。本文檔中提供了用於建立和檢視配置的命令，但沒有提供用於刪除配置的命令。這是因為除非管理員完全瞭解Lync/Skype環境，否則刪除配置可能會很危險。如果您需要刪除配置，請與您的Lync/Skype管理員合作刪除。

指令

說明

Get-CsTrustedApplicationPool

此命令列出Lync/Skype信任的群集（池）。此池的標識必須與CallBridge證書的公用名稱匹配。 即使在單個CallBridge環境中，也必須在此處指定一個CallBridge群集（池）。

Get-CsTrustedApplicationComputer

此命令列出Lync/Skype信任的伺服器以及與這些伺服器關聯的池。此處的所有電腦必須在CallBridge傳送的證書中標識。在單個CallBridge環境中，這通常是公用名稱。在群集環境中，這些電腦必須列為主題備用名稱(SAN)條目。此外，此處的所有電腦必須通過CallBridge出站撥號規則上的本地聯絡域項進行標識。

Get-CsTrustedApplication

此命令列出允許與哪些服務可信應用程式池通訊。對於與Lync/Skype的CMS通訊，我們將使用TCP埠5061進行TLS加密SIP。

Get-CsStaticRoutingConfiguration | Select-Object -ExpandProperty路由

此命令列出Lync/Skype用於轉發請求的靜態路由。MatchURI欄位是SIP消息的目標域。XML中的「TLS Fqdn」欄位應顯示此流量的目標伺服器。

Lync/Skype Get命令的示例輸出

下面是在本文檔介紹的三個CallBridge群集場景中發出的上述Lync/Skype Get命令的輸出

PS C:\Users\administrator.SKYPE> Get-CsTrustedApplicationPool

Identity             : TrustedApplicationPool:CMS.UC.local

Registrar            : Registrar:lyncpoolfe01.skype.local

FileStore            :

ThrottleAsServer     : True

TreatAsAuthenticated : True

OutboundOnly         : False

RequiresReplication  : False

AudioPortStart       :

AudioPortCount       : 0

AppSharingPortStart  :

AppSharingPortCount  : 0

VideoPortStart       :

VideoPortCount       : 0

Applications         : {urn:application:acanoapplication}

DependentServiceList : {}

ServiceId            : 1-ExternalServer-1

SiteId               : Site:RTP

PoolFqdn             : CMS.UC.local

Version              : 7

Role                 : TrustedApplicationPool

PS C:\Users\administrator.SKYPE> Get-CsTrustedApplicationComputer

Identity : CMS1.UC.local

Pool     : CMS.UC.local

Fqdn     : CMS1.UC.local

Identity : CMS2.UC.local

Pool     : CMS.UC.local

Fqdn     : CMS2.UC.local

Identity : CMS3.UC.local

Pool     : CMS.UC.local

Fqdn     : CMS3.UC.local

PS C:\Users\administrator.SKYPE> Get-CsTrustedApplication

Identity                   : CMS.UC.local/urn:application:acanoapplication

ComputerGruus              : {CMS1.UC.local sip:CMS1.UC.local@skype.local;gruu;opaque=srvr:acanoapplication:GMqDXW_1rVCEMQi4qS6ZxwAA, CMS2.UC.local

sip:CMS2.UC.local@skype.local;gruu;opaque=srvr:acanoapplication:_Z9CnV49LFufGDXjnFFi4gAA, CMS3.UC.local sip:CMS3.UC.local@skype.local;gruu;opaque=srvr:acanoapplication:dt8XJKciSlGhEeT62tyNogAA}

ServiceGruu                : sip:CMS.UC.local@skype.local;gruu;opaque=srvr:acanoapplication:dQFM4E4YgV6J0rjuNgqxIgAA

Protocol                   : Mtls

ApplicationId              : urn:application:acanoapplication

TrustedApplicationPoolFqdn : CMS.UC.local

Port                       : 5061

LegacyApplicationName      : acanoapplication

PS C:\Users\administrator.SKYPE> Get-CsStaticRoutingConfiguration | Select-Object -ExpandProperty Route

Transport               : TransportChoice=Certificate=Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.UseDefaultCert;Fqdn=CMS.UC.local;Port=5061

MatchUri                : UC.local

MatchOnlyPhoneUri       : False

Enabled                 : True

ReplaceHostInRequestUri : False

Element                 : <Route xmlns="urn:schema:Microsoft.Rtc.Management.Settings.SipProxy.2008" MatchUri="UC.local" MatchOnlyPhoneUri="false" Enabled="true" ReplaceHostInRequestUri="false">

<Transport Port="5061">

<TLS Fqdn="CMS.UC.local">

<UseDefaultCert />

</TLS>

</Transport>

</Route>

Transport               : TransportChoice=Certificate=Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.UseDefaultCert;Fqdn=CMS1.UC.local;Port=5061

MatchUri                : CMS1.UC.local

MatchOnlyPhoneUri       : False

Enabled                 : True

ReplaceHostInRequestUri : False

Element                 : <Route xmlns="urn:schema:Microsoft.Rtc.Management.Settings.SipProxy.2008" MatchUri="CMS1.UC.local" MatchOnlyPhoneUri="false" Enabled="true" ReplaceHostInRequestUri="false">

<Transport Port="5061">

<TLS Fqdn="CMS1.UC.local">

<UseDefaultCert />

</TLS>

</Transport>

</Route>

Transport               : TransportChoice=Certificate=Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.UseDefaultCert;Fqdn=CMS2.UC.local;Port=5061

MatchUri                : CMS2.UC.local

MatchOnlyPhoneUri       : False

Enabled                 : True

ReplaceHostInRequestUri : False

Element                 : <Route xmlns="urn:schema:Microsoft.Rtc.Management.Settings.SipProxy.2008" MatchUri="CMS2.UC.local" MatchOnlyPhoneUri="false" Enabled="true" ReplaceHostInRequestUri="false">

<Transport Port="5061">

<TLS Fqdn="CMS2.UC.local">

<UseDefaultCert />

</TLS>

</Transport>

</Route>

Transport               : TransportChoice=Certificate=Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.UseDefaultCert;Fqdn=CMS3.UC.local;Port=5061

MatchUri                : CMS3.UC.local

MatchOnlyPhoneUri       : False

Enabled                 : True

ReplaceHostInRequestUri : False

Element                 : <Route xmlns="urn:schema:Microsoft.Rtc.Management.Settings.SipProxy.2008" MatchUri="CMS3.UC.local" MatchOnlyPhoneUri="false" Enabled="true" ReplaceHostInRequestUri="false">

<Transport Port="5061">

<TLS Fqdn="CMS3.UC.local">

<UseDefaultCert />

</TLS>

</Transport>

</Route>

PS C:\Users\administrator.SKYPE>

正在聯絡TAC

如果您在此實施中遇到錯誤，請聯絡Cisco TAC。開啟服務請求時，請包含指向此文檔的連結。它將幫助TAC工程師瞭解您的配置。此外，如果按照上述方式將思科會議伺服器日誌附加到案例中，並且將來自Lync/Skype前端的所有Get命令的輸出輸入到案例備註中，則將會非常有用。如果您未包含此資訊，勢必是TAC工程師要求的第一件事之一，因此請您在開啟案例之前收集該資訊。