本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文檔介紹如何使用Skype for Business配置Cisco Meeting Server(CMS)CallBridge集群,作為官方指南的補充。本文檔提供了單個CallBridge的示例和三個CallBridge群集的另一個示例,但可以根據需要新增其他CallBridge。還支援兩個CallBridge群集。
作者:Rogelio Galindo,編輯者:思科TAC工程師Viridiana Fuentes。
思科建議您瞭解以下主題:


表1a提供了單個CallBridge環境的CallBridge證書示例。
表1a
| CallBridge證書 | 說明 |
| 單一CallBridge | |
| CN:cms.uc.local | CallBridge FQDN |
表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
表2a提供了如何配置DNS伺服器的示例。它解釋了每個欄位的含義。
表2a
| 記錄 | IP範例 | 說明 |
| cms.uc.local | 10.10.10.1 | CallBridge |
| fe.skype.local | 10.10.10.5 | Skype前端完全限定域名(FQDN) |
表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) |
導覽至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,因此我們可以設定每個域使用傳遞作為其呼叫方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的完全限定域名,則出於安全原因,Lync/Skype將拒絕呼叫。由於我們的傳入轉發規則設定為使用傳遞,因此在本示例中,我們實際上不會重寫源域。

在此環境中,我們使用的是包含三個CallBridge的CallBridge群集。因此,我們需要每個CallBridge都有一個出站規則,每個出站規則具有不同的本地聯絡域、來自域的本地聯絡域和範圍。將呼叫從所有CallBridge路由到思科統一通訊管理器只需要一條出站規則。要設定使用API所需的範圍,請執行以下操作:
建立出站呼叫規則後,該規則的範圍將被設定為<all>。這表示出站規則將用於集群中的所有CallBridge。對於指向Lync/Skype的出站規則,我們需要使用不同的聯絡人和信頭,具體取決於我們啟用的CallBridge。為此,我們需要為每個CallBridge建立不同的出站規則,其中聯絡人/發件人欄位與該CallBridge匹配。我們需要使用API設定這些出站撥號規則的範圍,以便它們僅在匹配該規則的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。
使用我最喜歡的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域的每個出站規則都應有一個作用域。
在WebAdmin的general configuration頁面中,有一個Lync Edge settings部分。要使用TURN服務或通過PSTN撥入號碼加入雙家庭會議,必須配置此功能。
表6描述了Lync邊緣設定配置中的每個欄位的含義。
表6
| Lync邊緣設定欄位 | 說明 |
| 伺服器位址 | 前端池的完全限定域名(FQDN) |
| 使用者名稱 | 要用於CMS的服務帳戶的使用者名稱 |
| 註冊數 | 您要註冊多少個不同的使用者帳戶。如果未在此處配置值,則僅註冊上面列出的使用者名稱。如果在此處應用數字,則數字1-X將作為字尾應用於URI的使用者部分,其中X是在此欄位中配置的數字。 |
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上的配置:

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

在Lync/Skype命令列管理程式中應用以下命令。在前端伺服器上應用命令。
附註:建議使用命令作為指導。如果您對Skype伺服器上的配置有疑問,您需要聯絡您的Lync/Skype管理員和/或支援團隊。
首先,我們需要通知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
首先,我們需要通知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
診斷任何問題的第一步是確定問題的位置。為此,我們需要分析來自思科會議伺服器的日誌,但首先需要收集這些日誌。以下是我要收集日誌的個人建議。
首先,通過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管理員合作刪除。
| 指令 | 說明 |
| 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」欄位應顯示此流量的目標伺服器。 |
下面是在本文檔介紹的三個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>
如果您在此實施中遇到錯誤,請聯絡Cisco TAC。開啟服務請求時,請包含指向此文檔的連結。它將幫助TAC工程師瞭解您的配置。此外,如果按照上述方式將思科會議伺服器日誌附加到案例中,並且將來自Lync/Skype前端的所有Get命令的輸出輸入到案例備註中,則將會非常有用。如果您未包含此資訊,勢必是TAC工程師要求的第一件事之一,因此請您在開啟案例之前收集該資訊。
| 修訂 | 發佈日期 | 意見 |
|---|---|---|
1.0 |
12-Oct-2017
|
初始版本 |
意見