上一章中,我們瞭解在Teams中使用Direct Routing進行本地語音落地的一些架構與方法。
磨刀不誤砍柴工,在本章節中我會把一些基本要用到的Teams語音落地的所有前置條件與準備技術要點都作一個具體的說明,以下爲主要參考地址:https://docs.microsoft.com/en-us/MicrosoftTeams/direct-routing-plan#
首先大致列出需要準備的東西 1) 需要用到的權限 2)連接到Skype online Powershell 3) 連接到office 365 Powershell 4) 註冊並激活域名 5) 準備Session Boarder Controller的對外公網IP與公網FQDN 6) 公網證書 7) 防火牆規則要求 8) Session Boarder Controller的固件版本要求 9) 本地Session Boarder Controller/GW已經與PSTN對接成功 10)E3+Phone System許可;或E5許可,如下圖所示:
簡單一點的就是爲了建立一條像這樣的SIP路徑:
Microsoft Teams/Phone System <----tls sip trunk---->Local Session Boarder Controller<---sip/pri--->PSTN
接下來,我們一條一條的過一下:
A. 各種權限要求
首先確保以下管理權限都已經要到手了,或者管理員在旁邊協助,不然的話配置的時候各種不順利。
- 團隊通信管理員 – Direct Routing配置
- Session Boarder Controller管理員 – Session Boarder Controller配置 (這裏的前提是您已經有一臺本地的Session Boarder Controller)
- Skype for Business 管理員 – Skype for Business to Teams用戶遷移
B. 許可要求
Direct Routing的話是要有許可要求的,具體可以參考如下圖片:
- E3+Phone System or E5
- 如果你需要有會議接入號與在會議中呼叫電話用戶,那麼你需要外加一個Audio Conferencing的許可
- 當然如果你不需要BYOT, 不需要沿用自己的電話號碼,那麼微軟有更簡單的解決方案,就是Phone System + Calling Plan的方案,你只需要在E3/E5基礎上購買這兩個許可,那麼微軟直接就向你提供電話服務,你只需要做的事情是給錢買許可與分配電話號碼即可使用。
C. 連接到 Skype for Business Online Powershell
在配置Teams Voice的過程中,基本上大部份的操作都需要使用命令進行,所以還是老老實實用命令吧,如下:
- 用管理員權限打開Powershell
- 安裝SkypeOnlineConnector, https://www.microsoft.com/en-us/download/details.aspx?id=39366
- 以管理員身份打開Powershell
- 運行以下命令連接到 Skype for Business Online Powershell. (代碼託管在Github)
D. 連接到Office 365 Powershell
1) 安裝Microsoft Online Services Sign-In Assistant for IT Professionals RTW
- https://www.microsoft.com/en-us/download/details.aspx?id=41950
2) 安裝 Windows Azure Active Directory 模塊 - 以管理員身份打開Powershell
- 運行Install-Module MSOnline
- 運行 Connect-MsolService ,輸入office365管理員帳號與密碼
-
如下圖操作即可連接到O365
- 如果你要連接到其它版本的office365, 可參考下圖:
E. 註冊並激活域名後綴
這個註冊的域名是後面配置Session Boarder Controller FQDN的時候要用到的,如果你已經有一個已經添加在O365上的默認企業域名(如contoso.com),那麼下面的要求就可以檢查一下即可:
-
Session Boarder Controller FQDN的域名必須要在O365上面有註冊,如下圖:
《注意》
新增加的域名需要等待約2小時左右才能查詢出來,命令爲:Get-CsTenant | fl Domains- (保守起見)再新建一個Session Boarder Controller FQDN相同的域名,如下圖。
- 激活域名:爲新增加的域名建立一個用戶並分配一個Enterprise許可(E1 E2 E3)
如果你的Session Boarder Controller 公網FQDN並不是公司默認的域名,而是一個全新的域名的話,你必須要進行激活域名的操作,如下圖:
https://docs.microsoft.com/en-us/microsoftteams/direct-routing-sbc-multiple-tenants
如果不激活的話,會有以下報錯,並且讓你不知道什麼回事:
注意:不能使用*.onmicrosoft.com這種域名,原因其實很簡單,就是這個不是你的自有域名,無法指定A記錄到Session Boarder Controller的公網IP,如下圖:
F. 準備Session Boarder Controller的公網IP與公網FQDN,並新增至公網A記錄
在Teams Phone System與本地Session Boarder Controller建立的SIP Trunk需要把信令與媒體流都加密,所以需要公網FQDN,以便等下我們把這個FQDN增加到公網證書裏面。
G. 公網證書要求
- 你必須有一張包含Session Boarder Controller FQDN域名的公網證書,用於Microsoft Phone System與本地Session Boarder Controller建立加密的SIP Trunk時使用。
-
必須使用認證的第三方公網證書提供商,如下圖:
- 可以使用通配符證書,如*.contoso.com (但只匹配 xxx.contoso.com, 不匹配 test.xxx.contoso.com
- 這裏推薦使用Godaddy的證書:1)便宜 2)有中文服務 3)技術支持給力 4)24小時服務
H. 防火牆規則要求
因爲我們的本地Session Boarder Controller需要暴露在Internet上面,所以必須要把它放在對外防火牆的後面,或者直接放在DMZ區。
如下規則:
注意一下:
- 紅色字體的是可以根據需要更改的,在Session Boarder Controller上面。
- 黑色字體的是Phone System上面要求的,不能更改。
- 其中 xxx.pstnhub.microsoft.com 就是傳說中的Phone System FQDN了
- 這些規則包含了TCP/IP的五元組信息:源IP地址、目的IP地址、協議號、源端口、目的端口
I. Session Boarder Controller的固件版本要求(支持媒體旁路)
對於Ribbon/Sonus SWeLite至少要在705以上, 並最好使用最新的FW:支持媒體旁路,這是一個很重要的功能當你的UC系統在雲上的時候,所有的媒體流量都不直接經過o365, 而是直接路由到本地的語音網關(可以回顧一下之前的架構與部署簡述中的媒體旁路)。
具體的認證Session Boarder Controller,如下圖:
https://docs.microsoft.com/en-us/MicrosoftTeams/direct-routing-border-controllers
J. 最後就是你本地的Session Boarder Controller已經與PSTN網絡對接成功
爲什麼會把這個這麼重要的信息放在最後面呢,是因爲:
1)一般情況下,你的內網已經有一臺語音網關與PSTN對接,並已在用了。
2)Sonus/Audiocodes的Session Boarder Controller或語音網關對其它設備的兼容性很好,不管對接什麼類型的語音網關(pri / FXO / sip)都能很好地對接
3)退一萬步,若只是作爲測試之用,您也可以部署測試版Session Boarder Controller,只要抓包可以看到正確的信令在傳輸,Session Boarder Controller也有SIP消息頭修改的能力,幫忙你應對各種問題。(後面會專門有一節,專門介紹如何快速在Azure上面部署Session Boarder Controller)
最後總結一下
1)本節主要列舉了實施Teams Direct Routing前期的所有資源準備。
雖然有點多,但是該跳的坑,該填的坑,我都列出來了,路是平坦的,就看同學們要不要向前走了。
2)接下來,會有以下內容介紹給大家:
- 配置與管理Teams Calling的撥號計劃
- 配置Teams語音路由與SIP Trunk
- 配置本地Session Boarder Controller與Teams Direct Routing的配對
(這部份估計已超出同學們的知識界限了,實在不行只能找合作伙伴了)