語音路由策略是整個Teams語音落地的關鍵部分,一旦分配了這個策略,Teams用戶的撥號盤就會顯示出來供用戶使用css
對上一節中,咱們經過Teams管理中心把撥號計劃建立出來,並分配給用戶。這一節咱們仍是使用管理界面來進行Teams語音路由配置,首先要簡單講一下配置的邏輯:正則表達式
1) 用戶撥打了一個美國號碼,經過Dial Plan轉換成 +1 800 642 7676shell
2) Teams判斷是否有Voice Routing Policy分配到該用戶, 如下簡稱VRPsession
3) 如有分配特定的VRP,則會被應用到對應的VRP策略裏面ide
4) 在VRP裏面會含有一組PSTN Usage, VRP會根據Callee Number給呼叫打上一個標記,就是PSTN Usage。因此你徹底能夠把PSTN Usage理解爲一個標記便可,沒有實質性的做用。測試
5) 第五步就比較重要了,這裏會應用上一組/條語音路由 Voice Routing,它會根據Callee Number來判斷是否路由到相應的語音網關上面。同時每一條Voice Routing都關聯着一條/組PSTN Usage,也就是說這通呼叫以前被打上了一個標記PSTN Usage_To China, 那麼這通呼叫就只能使用對應的Voice Routing進行路由了。加密
(若你只有一個語音網關,一個地方的用戶,這個理解不了也無所謂,但若是你有多個地方的用戶,多條PSTN線路,多個語音網關的話,吃透這個邏輯很是有必要)blog
6) 最後,Voice Routing會直接把呼叫經過Direct Routing鏈路送達到你的本地語音網關上面。路由
一個VRP下面能夠掛着一個或多個PSTN Usage,在PSTN Usage裏面會被關聯着多條Voice Route, 它會使用正則表達式來斷定這通呼叫會被路由到哪一個語音網關上面(參考上述第三,第四步),因此邏輯路徑是這樣子的:rem
Call --> Voice Routing Policy ---> PSTN Usage ---> Voice Route --> PSTN Gateway
首先新建一個PSTN Gateway(這裏須要用到以前定義好的SBC FQDN, 也就是你以前申請證書的主體名字),其實也就是一條基於TLS加密的SIP Trunk,微軟把它定義爲Teams Direct Routing
最後建立出來的Direct Routing鏈路就會是這樣子:
建立一條北京本地固話的語音路由CN-Beijing-Local,Dialed number pattern爲^+8610([1-9]\d{7,9})
而後在這條語音路由中選擇對應的落地SBC
展開一下,若是企業在全國各地都有SBC,爲了作經濟路由,你能夠爲不一樣區別的呼叫分配不一樣的SBC從而實現電話費用節約的目的
接着建立PSTN Usage, 須要注意它不能新建,只能在Global下面不斷地增長,同時它只是一個標識,用於標識這條路由的用途。爲了簡單起見,咱們只建立 CN-Beijing-Local一條便可,即標識了這是一條北京本地電話的路由
按着這個作法,我把全部的路由都作出來了,請參考
作了這麼多工做,就是來最後建立Voice Routing Policy的,只要簡單的爲新建的VRP指定PSTN Usage便可,但其中的邏輯必定要搞清楚哦,以下:
例如,下圖中的VRP它含有所有PSTN Usage,說明這條路由策略能夠打電話到任何地方
若是你想作一條只能打國內電話的VRP呢?簡單把CN-Beijing-International刪除便可
因此VPR就是用於作語音權限的控制的
接着爲用戶分配VRP策略:
最後咱們來爲用戶分配Phone System 許可,打開企業語音,分配電話號碼,這三個任務都須要使用命令來完成
登錄Teams Powershell
$String = "yourpassword" $username = "tangx@contosso.com" $TenantDomain = "contoso.onmicrosoft.com" Import-Module SkypeOnlineConnector; $PWord = ConvertTo-SecureString -String $String -AsPlainText -Force; $Cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username, $PWord; $CSSession=New-CsOnlineSession -credential $Cred Import-PSSession $cssession -AllowClobber
分配許可
打開企業語音,分配電話號碼
$user = "tangx@contoso.com" Set-CsUser $user -OnPremLineURI 'tel:+861088888888' Set-CsUser $user -EnterpriseVoiceEnabled $true
最後,咱們就能夠在Teams上面看到Teams Dial Pad的出現,也就意味着在Teams端的配置完成了,全部這些操做咱們均可以申請一個國際版的Office 365進行測試,就算沒有Phone System許可也是能夠的,由於大不了啓用不了EV,不影響咱們實戰操做,最終的效果以下: