引言
本次測試環境搭建參考如下文檔:
鏈接:
配置Teams:https://thamaraw.com/2018/07/04/direct-routing-configuration-with-microsoft-teams-and-audiocodes-virtual-sbc-part-1/
正則表達式:https://blog.51cto.com/ucworld/441917
文檔:
Audiocodes SBC with MS teams Direct Routing Enterprise Model Configuration Note*
1 架構拓撲
本次測試環境包含如下組件:
- 微軟Office 365國際版E5(含Teams/Phone system許可)
- 奧科VE SBC VMWare V7.20A.156.028(包含 SW/Teams和SBC測試許可)
- Avaya CM 7.0(包含SIP Trunk許可)
- VMWare 5.5虛擬化平臺虛擬機一臺
- 公網證書一張(包含SBC FQDN一個)
- 內網IP 2個/公網IP 1個
2 基礎環境
2.1 域名信息
AD Domain:domain.com.cn
SIP Domain:domain.com.cn
Office 365 Domain:domain.com.cn
2.2 IP地址信息
Role | IP | Mask | Gateway | Comments |
---|---|---|---|---|
SBC內網 | 10.21.196.160 | 24 | 10.21.196.252 | 公網IP:220.248.21.142 |
SBC外網 | 10.21.198.110 | 24 | 10.21.198.252 | - |
Avaya | 10.21.198.22 | 24 | 10.21.198.252 | TCP 5060 |
Teams | Teams.local | - | - | 公網DNS解析 |
2.3 用戶名密碼
網關默認用戶名密碼:Admin
3 部署VE SBC
部署SBC之前請提前通過以下鏈接下載對應版本的軟SBC軟件
Virtual Edition (VE):
VMware: https://audiocodes.sharefile.com/d-s6c29b271d1f4e0c8
KVM: https://audiocodes.sharefile.com/d-sa7e6187a2ef4e5ea
Hyper-V: https://audiocodes.sharefile.com/d-s7f347ccab9d4b149
Server Edition (SE):
ISO: https://audiocodes.sharefile.com/d-s75b567dfd274f3a8
3.1 導入SBC
通過VM管理客戶端將下載好的軟SBC軟件導入,導入之前首先將多網卡配置完成。導入完成後通過VM Clinet的控制檯通過如下命令完成基礎網絡配置
命令:
User Name:Admin
Password:admin
Enable
Password:Admin
#configure network
(config-network)# interface network-if 0
(network-if-0)#
(network-if-0)# ip-address 10.4.212.155 (請使用真實IP)
(network-if-0)# prefix-length 16 (請使用真實掩碼長度)
(network-if-0)# gateway 10.4.0.1 (請使用真實網關地址)
(network-if-0)# activate
(network-if-0)# exit
配置完成即可通過WEB管理端進入管理
3.2 配置網絡
輸入默認用戶名密碼Admin/Admin登陸Web管理控制檯,由於我們本次測試環境需要配置雙網卡,第二張網卡我們通過Web端進行配置。首先查看Physical Ports(setup-IP network-Core Entities-Physical Ports),確認有兩個物理網卡並且狀態都是Active
然後檢查Ethernet Groups(setup-IP network-Core Entities-Ethernet Groups),確保每一個Group裏面包含了對應的物理網卡
進入Ethernet Devices(setup-IP network-Core Entities-Ethernet Devices),點擊New按鈕,按如圖進行第二張網卡的添加(此處的網卡爲SBC內部網卡,與物理網卡,組對應)
最後配置IP Interfaces(setup-IP network-Core Entities-IP Interfaces),點擊New
再出現的窗口中按如圖進行配置,注意一個SBC只能由一個OAM地址(報錯是因爲默認OAMP地址沒有刪除導致,也可以直接修改默認IP Interfaces的配置)
最終效果如下:兩個IP Interfaces,分別會用來對應內網和外網。
3.3 導入SBC許可
軟SBC默認自帶3路SBC併發測試許可,但是由於需要啓用SILK NB/WB和OPUS協議編碼用來支持Teams,因此需要額外的Teams支持許可(SW/Teams),將INI File導出併發送給奧科申請測試許可
收到序列號後複製
然後點擊右上角的actions,找到License Key,點擊下方Load String,將複製的Key黏貼到彈出框中,點擊Apply
3.4 配置加密
和微軟的Teams對接必須要加密,因此需要配置加密證書,setup-ip network-security-TlS Contexts,點擊添加
打開的頁面中按如圖配置點擊apply
完成後選中剛創建的TLS Contexts,拉到最下面,點擊change certificate
如果需要改key size,拉到下方先修改,然後點擊生成private key
然後回到頂部,將相關信息填寫完整,然後點擊create CSR,並將生成的CSR拷貝至TXT文件中,將TXT發送給證書供應商
收到證書供應商頒發的證書後,load證書
在頂部提示load成功
返回到上一頁面,點擊certification info會看到證書信息,如果證書供應商提供中間證書,可以點擊trusted Root cerificates,然後在打開的頁面中進行配置
直接點擊Import,出現頁面中選擇文件點擊OK即可(本次測試環境由於證書供應商沒有提供該中間證書,因此沒有配置該證書)
3.5 創建Media Realms
Media Realms是媒體的通道,用來定義媒體使用的端口等信息,配合SIP interface一起,後期將綁定到相應的IP Group中,要創建Media Realms需要通過setup-signaling&media-core entities-media realms,然後點擊New
按照如下圖進行媒體端口配置,本次測試環境將配置兩個Media Realms,分部對應內網和外網
下圖爲需要配置的參數,具體參數值根據實際情況填寫
完成後效果圖
3.6 創建Signaling Interface
SIP interface是信令的通道,用來定義信令使用的端口等信息,後期將綁定到相應的IP Group中,要創建Sip Interface需要通過setup-signaling&media-core entities-Sip interface,然後點擊New
如圖進行配置,本次測試環境需要創建兩個SIP Interface,分部用於外部Teams和內部Avaya。
下圖爲需要具體配置的參數,具體參數值以實際情況爲準
完成後效果圖
3.7 配置Proxy sets
Proxy Sets是一組相同屬性的IP地址集合,如多臺SFB前端服務器,或者多臺同樣作用的SIP服務器,這些同類型同作用的服務器集合就需要將IP地址全部寫入一個Proxy sets列表中,要配置Proxy sets,點擊setup-sinagling&media-core entities-Proxy sets,點擊new
打開的頁面中,按如下兩圖進行配置,本次測試環境將創建兩個proxy sets,分部代表teams和Avaya
如下圖是實際需要配置的參數,參數值根據實際情況填寫
完成創建後,回到上一頁面,選中創建的proxy sets,拉到最下方,點擊Proxy address items
彈出的頁面中,對應填寫相關的IP地址,Teams比較特殊,需要寫FQDN(固定),後期通過DNS解析來解析IP地址
3.8 創建內部SRV記錄
由於Teams填寫的是FQDN,因此需要創建此項配置用來讓SBC可以解析該FQDN,在Internal SRV頁面中,直接點擊New
彈出窗口中按照下圖填寫(固定)
3.9 配置code group
微軟的Teams支持SILK通信協議,爲了配合Teams的使用,需要配置如下Code,在code groups頁面中,按照如圖進行配置(SILK NB/WB OPUS需要通過SW/Teams許可激活)
3.10 配置IP Profile
IP Profile是一組用戶針對信令媒體進行自定義的一個參數,後期將綁定到IP Group中,如需創建IP Profile,請通過setup-signaling&media-coders&profiles-Ip profile,然後點擊New,按照如圖進行配置
完成後效果
3.11 創建IP Group
IP Group是一組同類型的服務器集合,如多臺SFB前端,IP Group只是一個容器,具體配置要通過IP Profile,Media Realms等配置關聯。請瀏覽至setup-signaling&media-core entities
-Ip group,然後點擊New。請按照下圖進行配置(Proxy keep-alive using ip group settings沒有配置)(針對內部Avaya的配置可能有所不同)
完成後效果
3.12 配置SRTP
微軟的Teams必須要用SRTP,因此在media中需要啓用SRTP,默認是不啓用的。
3.13 創建message condition rules
3.14 創建Classsification Rule
3.15 創建IP2IP路由
請根據實際情況配置IP2IP的路由
Teams to avaya
Avaya to teams
3.16 配置call line ID
3.17 配置NAT
由於SBC需要發佈才能被Teams連接,因此需要進行NAT,配置NAT需要到Setup-IP Network-Core Entities-NAT Translation,點擊New,按照之前規劃端口進行NAT發佈
配置NAT後需要啓用NAT,如需啓用需要通過Setup-Signaling&media-Media-Media settings,在右邊窗口將Nat Traversal參數值修改成Nat by signaling
3.18 檢查配置
完成後可以檢查SBC和Teams和Avaya的連通情況。可以通過Monitor-VOIP Status-Proxy sets status,確保所有狀態都是Online。如果發現Offline需要進行相關排查。本次測試環境發現和teams對接是offline
查看警告,發現有proxy set proxy lost 報錯,嘗試修改Keep A-live Option參數爲disable解決該問題,Teams可能無法發送Option消息。
修改後狀態正常
4 配置Office 365
4.1 添加域
登陸Office 365管理控制檯,在安裝-域中點擊添加域
輸入你所擁有的域,點擊下一步
然後通過選擇某一方式進行驗證,本次測試環境使用TXT記錄驗證
將如下記錄添加到公網DNS中,然後點擊驗證
選擇一種方式,然後點擊下一步
選擇SFB,點擊下一步
出現推薦的DNS記錄,並聯通SBC的FQDN一起在公網DNS中進行添加
點擊完成,完成域添加
如果看到!號,說明DNS沒有加好
4.2 安裝管理工具並連接Teams
如果需要對Teams進行配置,需要通過遠程Powershell命令進行管理。需要安裝如下模塊確保可以連接Teams。
安裝sfb online powershell和powershell 3.0
https://docs.microsoft.com/en-us/SkypeForBusiness/set-up-your-computer-for-windows-powershell/set-up-your-computer-for-windows-powershell
https://www.microsoft.com/zh-CN/download/details.aspx?id=41950
先安裝msonline模塊,以下所有的用戶名都用domain.com.cn後綴的用戶名。首先需要有一個domain.com.cn後綴的管理員,不然後期管理會出現域沒添加的報錯
然後通過如下命令進行Teams的連接,中間會提示輸入用戶名密碼,請輸入365管理員的用戶名密碼(用戶名需要使用domain.com.cn後綴的)
Import-Module MSOnline
Connect-MsolService -Credential $credential
Import-Module LyncOnlineConnector
$lyncSession = New-CsOnlineSession -Credential $cred
Import-PSSession $lyncSession -allowClobber
4.3 創建配對SBC
通過GCM命令查看是否成功連接到Teams,如出現下圖,說明連接正常
然後通過New-CsOnlinePSTNGateway -Fqdn <SBC FQDN> -SipSignallingPort <SBC SIP Port> -MaxConcurrentSessions <Max Concurrent Sessions the SBC can handle> -Enabled $true創建SBC
通過get命令可以查看創建的SBC配置
4.4 創建Dial Plan
通過如下命令創建Dial Plan,規則需要通過正則表達式寫:(命令參數值根據實際情況來)
$rule1 = New-CsVoiceNormalizationRule -Parent Global -Name AU-Mobile -Description “Australia Mobile Numbers” -Pattern ‘^0([45]\d{8})$’ -Translation ‘+61$1’ -InMemory
$rule2 = New-CsVoiceNormalizationRule -Parent Global -Name AU-Local -Description “Perth Local Numbers” -Pattern ‘^([2-9]\d{7})$’ -Translation ‘+618$1’ -InMemory
Set-CsTenantDialPlan -Identity Global -NormalizationRules @{add=$rule1,$rule2}
4.5 創建pstnusage
Set-CsOnlinePstnUsage -Identity Global -Usage @{Add=”AU-Mobile”}
4.6 創建routing
New-CsOnlineVoiceRoute -Identity “AU-Mobile” -NumberPattern “^+61(45(\d{7}))$” -OnlinePstnGatewayList sbc.uctechie.com -Priority 2 -OnlinePstnUsages “AU-Mobile“
4.7 創建語音策略
New-CsOnlineVoiceRoutingPolicy “AU-AllCalls” -OnlinePstnUsages “AU-Mobile”
分配語音策略(有時候會失敗,多試幾次)
4.8 配置用戶
Set-CsUser -Identity [email protected] -EnterpriseVoiceEnabled $true -HostedVoiceMail $true -OnPremLineURI tel:+61893423245
如下兩條命令用來配置客戶端首選Teams,不然在SFB和Teams同時使用的環境下將優先使用SFB作爲用戶的語音客戶端
Grant-CsTeamsInteropPolicy -PolicyName DisallowOverrideCallingTeamsChatTeams -Identity [email protected]
Grant-CsTeamsCallingPolicy -PolicyName Tag:AllowCalling -Identity [email protected]
![]
4.9 登陸Teams並測試**
由於本次路由轉換規則只是配置了手機,因此我們只能打外部手機