Microsoft Teams Voice語音落地系列-4 實戰:Teams語音路由規劃與配置

這一節繼續我們的Teams語音路由配置,首先要簡單講一下配置的邏輯,不然就會知其然不知其所以然了。

以下是Teams/Skype 的語音路由邏輯圖:
1) 用戶撥打了一個美國號碼,通過Dial Plan轉換成 +1 800 642 7676
2) Teams判斷是否有Voice Routing Policy分配到該用戶, 以下簡稱VRP
3) 若有分配特定的VRP,則會被應用到對應的VRP策略裏面。
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線路,多個語音網關的話,吃透這個邏輯非常有必要)
6) 最後,Voice Routing會直接把呼叫通過Direct Routing鏈路送達到你的本地語音網關上面。

Microsoft Teams Voice語音落地系列-4 實戰:Teams語音路由規劃與配置

用以下這張圖來實際說明一下,一個VRP下面掛着一個或多個PSTN Usage,在PSTN Usage裏面會被關聯着多條Voice Route, 它會使用正則表達式來判定這通呼叫會被路由到哪個語音網關上面,所以邏輯路徑是這樣子的:

Call --> Voice Routing Policy ---> PSTN Usage ---> Voice Route --> PSTN Gateway

但我們配置的順序卻是反過來的:

配置PSTN Gateway ---> 配置PSTN Usage ---> 配置Voice Route, 並關聯到PSTN Usage上面 ----> 配置VRP, 並添加PSTN Usage到VRP上面 ----> 把VRP分配給用戶

Microsoft Teams Voice語音落地系列-4 實戰:Teams語音路由規劃與配置

首先新建一個PSTN Gateway, 這裏面需要用到之前前置條件準備的材料了:1)SBC公網FQDN 2)相應的信令端口,如5061 3)SIP併發數,看你買了多少路SIP Session Lic了,如果你做測試的話,就無所謂了。
如下命令:

$FQDN = "teams-test.ucssi.com"
$SipSignallingPort = "5061"
$MaxConcurrentSessions = "100"
New-CsOnlinePSTNGateway -Identity $FQDN -Enabled $true -SipSignallingPort $SipSignallingPort -MaxConcurrentSessions $MaxConcurrentSessions -FailoverTimeSeconds 30 -ForwardCallHistory $true

Microsoft Teams Voice語音落地系列-4 實戰:Teams語音路由規劃與配置

接着創建PSTN Usage, 需要注意它不能新建只能在Global下面不斷地增加,同時它只是一個標識,沒有實際意義,以下我做了幾條不同的PSTN Usage, 後面會分別對應不同的Voice Route。爲了簡單起見,我們只創建 AllCalls那一條即可。

Set-CsOnlinePstnUsage -Identity Global -Usage @{Add="CN-Shanghai-AllCalls"}

Microsoft Teams Voice語音落地系列-4 實戰:Teams語音路由規劃與配置

如下命令可以查詢PSTN Usage列表:

Get-CsOnlinePstnUsage | select usage -ExpandProperty usage

Microsoft Teams Voice語音落地系列-4 實戰:Teams語音路由規劃與配置

接下來創建Voice Route, 它關聯着不同的PSTN Usage與PSTN Gateway。我認爲的最佳做法是VR與PSTN Usage一一對就起來。
在多地區,多SBC,細分權限的場景中,一個Voice Routing可以對應多個PSTN Usage,這樣可以複用到不同的VRP上面

$FQDN = “teams-test.ucssi.com”
New-CsOnlineVoiceRoute -Name "CN-Shanghai-All" -Priority 0 -OnlinePstnUsages "CN-Shanghai-AllCalls" -OnlinePstnGatewayList $FQDN -NumberPattern '^\+(\d{*})'

Microsoft Teams Voice語音落地系列-4 實戰:Teams語音路由規劃與配置

做了這麼多工作,就是來最後創建Voice Routing Policy的,只要簡單的爲新建的VRP指定一個PSTN Usage即可,但其中的邏輯一定要搞清楚哦,如下:

#新建Voice Routing Policy, 並指定PSTN Usage
#首先增加默認Global的,再增加用戶級別的
New-CsOnlineVoiceRoutingPolicy -Identity "CN-Shanghai-All" -OnlinePstnUsages @{Add="CN-Shanghai-AllCalls"} 

Microsoft Teams Voice語音落地系列-4 實戰:Teams語音路由規劃與配置

最後一步工作就是爲用戶分配VRP策略了

  • 使用Set-CsUser爲用戶分配URI, 啓用EV, 啓用Voice Mail (注意這裏的命令是Set-CsUser,而不是Set-CsOnlineUser)
  • 若你要查詢Teams用戶的屬性,請使用Get-CsOnlineUser命令。
  • 打開EV,需要事先分配好Phone System Lic,你準備了嗎?
  • 最後,你就可以按如下命令分配VRP了,過幾分鐘就可以查詢到成功分配VRP了。
#注意:需要用[email protected]
#查詢屬性使用:Get-CsOnlineUser才能查到,而不能用Get-CsUser
#修改屬性使用:Set-CsUser
#打開EV,需要有Phone System Lic
$user = "[email protected]"
Set-CsUser $user -OnPremLineURI tel:+86116
Set-CsUser $user -EnterpriseVoiceEnabled $true -HostedVoiceMail $true

#分配VRP給用戶
#只有分配好VRP後,混合部署的話要等差不多24小時,纔會有撥號盤出來
Grant-CsonlineVoiceRoutingPolicy -PolicyName "Tag:CN-Shanghai-All" -Identity $user

Microsoft Teams Voice語音落地系列-4 實戰:Teams語音路由規劃與配置

最後,我們就可以在Teams上面看到Teams Dial Pad的出現,也就意味着在Teams端的配置完成了,所有這些操作我們都可以申請一個國際版的Office 365進行測試,就算沒有Phone System許可也是可以的,因爲大不了啓用不了EV,不影響我們實戰操作,最新的效果如下
Microsoft Teams Voice語音落地系列-4 實戰:Teams語音路由規劃與配置

接下來章節,我們就開始配置本地的語音網關與Teams Direct Routing的鏈路了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章