引言
本次测试环境搭建参考如下文档:
链接:
配置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个

Teams Direct Routing with Audiocodes SBC_第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的控制台通过如下命令完成基础网络配置

Teams Direct Routing with Audiocodes SBC_第2张图片
命令:
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管理端进入管理
Teams Direct Routing with Audiocodes SBC_第3张图片

3.2 配置网络

输入默认用户名密码Admin/Admin登陆Web管理控制台,由于我们本次测试环境需要配置双网卡,第二张网卡我们通过Web端进行配置。首先查看Physical Ports(setup-IP network-Core Entities-Physical Ports),确认有两个物理网卡并且状态都是Active
Teams Direct Routing with Audiocodes SBC_第4张图片

然后检查Ethernet Groups(setup-IP network-Core Entities-Ethernet Groups),确保每一个Group里面包含了对应的物理网卡

Teams Direct Routing with Audiocodes SBC_第5张图片

进入Ethernet Devices(setup-IP network-Core Entities-Ethernet Devices),点击New按钮,按如图进行第二张网卡的添加(此处的网卡为SBC内部网卡,与物理网卡,组对应)

Teams Direct Routing with Audiocodes SBC_第6张图片

最后配置IP Interfaces(setup-IP network-Core Entities-IP Interfaces),点击New
Teams Direct Routing with Audiocodes SBC_第7张图片

再出现的窗口中按如图进行配置,注意一个SBC只能由一个OAM地址(报错是因为默认OAMP地址没有删除导致,也可以直接修改默认IP Interfaces的配置)
Teams Direct Routing with Audiocodes SBC_第8张图片

最终效果如下:两个IP Interfaces,分别会用来对应内网和外网。
Teams Direct Routing with Audiocodes SBC_第9张图片

3.3 导入SBC许可

软SBC默认自带3路SBC并发测试许可,但是由于需要启用SILK NB/WB和OPUS协议编码用来支持Teams,因此需要额外的Teams支持许可(SW/Teams),将INI File导出并发送给奥科申请测试许可

Teams Direct Routing with Audiocodes SBC_第10张图片

收到序列号后复制
Teams Direct Routing with Audiocodes SBC
然后点击右上角的actions,找到License Key,点击下方Load String,将复制的Key黏贴到弹出框中,点击Apply
Teams Direct Routing with Audiocodes SBC_第11张图片

3.4 配置加密

和微软的Teams对接必须要加密,因此需要配置加密证书,setup-ip network-security-TlS Contexts,点击添加
Teams Direct Routing with Audiocodes SBC_第12张图片

打开的页面中按如图配置点击apply
Teams Direct Routing with Audiocodes SBC_第13张图片

完成后选中刚创建的TLS Contexts,拉到最下面,点击change certificate
Teams Direct Routing with Audiocodes SBC_第14张图片

如果需要改key size,拉到下方先修改,然后点击生成private key

Teams Direct Routing with Audiocodes SBC_第15张图片
然后回到顶部,将相关信息填写完整,然后点击create CSR,并将生成的CSR拷贝至TXT文件中,将TXT发送给证书供应商
Teams Direct Routing with Audiocodes SBC_第16张图片
收到证书供应商颁发的证书后,load证书
Teams Direct Routing with Audiocodes SBC_第17张图片
在顶部提示load成功
Teams Direct Routing with Audiocodes SBC_第18张图片
返回到上一页面,点击certification info会看到证书信息,如果证书供应商提供中间证书,可以点击trusted Root cerificates,然后在打开的页面中进行配置
Teams Direct Routing with Audiocodes SBC_第19张图片
Teams Direct Routing with Audiocodes SBC_第20张图片
直接点击Import,出现页面中选择文件点击OK即可(本次测试环境由于证书供应商没有提供该中间证书,因此没有配置该证书)

Teams Direct Routing with Audiocodes SBC_第21张图片

3.5 创建Media Realms

Media Realms是媒体的通道,用来定义媒体使用的端口等信息,配合SIP interface一起,后期将绑定到相应的IP Group中,要创建Media Realms需要通过setup-signaling&media-core entities-media realms,然后点击New
Teams Direct Routing with Audiocodes SBC_第22张图片

按照如下图进行媒体端口配置,本次测试环境将配置两个Media Realms,分部对应内网和外网
Teams Direct Routing with Audiocodes SBC_第23张图片
Teams Direct Routing with Audiocodes SBC_第24张图片
下图为需要配置的参数,具体参数值根据实际情况填写

Teams Direct Routing with Audiocodes SBC_第25张图片
完成后效果图
Teams Direct Routing with Audiocodes SBC

3.6 创建Signaling Interface

SIP interface是信令的通道,用来定义信令使用的端口等信息,后期将绑定到相应的IP Group中,要创建Sip Interface需要通过setup-signaling&media-core entities-Sip interface,然后点击New
Teams Direct Routing with Audiocodes SBC_第26张图片
如图进行配置,本次测试环境需要创建两个SIP Interface,分部用于外部Teams和内部Avaya。
Teams Direct Routing with Audiocodes SBC_第27张图片
Teams Direct Routing with Audiocodes SBC_第28张图片
下图为需要具体配置的参数,具体参数值以实际情况为准
Teams Direct Routing with Audiocodes SBC_第29张图片
完成后效果图
Teams Direct Routing with Audiocodes SBC_第30张图片

3.7 配置Proxy sets

Proxy Sets是一组相同属性的IP地址集合,如多台SFB前端服务器,或者多台同样作用的SIP服务器,这些同类型同作用的服务器集合就需要将IP地址全部写入一个Proxy sets列表中,要配置Proxy sets,点击setup-sinagling&media-core entities-Proxy sets,点击new
Teams Direct Routing with Audiocodes SBC_第31张图片
打开的页面中,按如下两图进行配置,本次测试环境将创建两个proxy sets,分部代表teams和Avaya
Teams Direct Routing with Audiocodes SBC_第32张图片
Teams Direct Routing with Audiocodes SBC_第33张图片
如下图是实际需要配置的参数,参数值根据实际情况填写
Teams Direct Routing with Audiocodes SBC_第34张图片
完成创建后,回到上一页面,选中创建的proxy sets,拉到最下方,点击Proxy address items
Teams Direct Routing with Audiocodes SBC_第35张图片
弹出的页面中,对应填写相关的IP地址,Teams比较特殊,需要写FQDN(固定),后期通过DNS解析来解析IP地址
Teams Direct Routing with Audiocodes SBC_第36张图片
Teams Direct Routing with Audiocodes SBC_第37张图片

3.8 创建内部SRV记录

由于Teams填写的是FQDN,因此需要创建此项配置用来让SBC可以解析该FQDN,在Internal SRV页面中,直接点击New

Teams Direct Routing with Audiocodes SBC_第38张图片
弹出窗口中按照下图填写(固定)
Teams Direct Routing with Audiocodes SBC_第39张图片
Teams Direct Routing with Audiocodes SBC_第40张图片

3.9 配置code group

微软的Teams支持SILK通信协议,为了配合Teams的使用,需要配置如下Code,在code groups页面中,按照如图进行配置(SILK NB/WB OPUS需要通过SW/Teams许可激活)
Teams Direct Routing with Audiocodes SBC_第41张图片
Teams Direct Routing with Audiocodes SBC_第42张图片

3.10 配置IP Profile

IP Profile是一组用户针对信令媒体进行自定义的一个参数,后期将绑定到IP Group中,如需创建IP Profile,请通过setup-signaling&media-coders&profiles-Ip profile,然后点击New,按照如图进行配置
Teams Direct Routing with Audiocodes SBC_第43张图片
Teams Direct Routing with Audiocodes SBC_第44张图片
Teams Direct Routing with Audiocodes SBC_第45张图片
完成后效果
Teams Direct Routing with Audiocodes SBC_第46张图片

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的配置可能有所不同)
Teams Direct Routing with Audiocodes SBC_第47张图片
Teams Direct Routing with Audiocodes SBC_第48张图片
Teams Direct Routing with Audiocodes SBC_第49张图片
完成后效果
Teams Direct Routing with Audiocodes SBC_第50张图片

3.12 配置SRTP

微软的Teams必须要用SRTP,因此在media中需要启用SRTP,默认是不启用的。
Teams Direct Routing with Audiocodes SBC_第51张图片

3.13 创建message condition rules

Teams Direct Routing with Audiocodes SBC
Teams Direct Routing with Audiocodes SBC_第52张图片

3.14 创建Classsification Rule

Teams Direct Routing with Audiocodes SBC_第53张图片
Teams Direct Routing with Audiocodes SBC_第54张图片

3.15 创建IP2IP路由

请根据实际情况配置IP2IP的路由
Teams Direct Routing with Audiocodes SBC_第55张图片
Teams Direct Routing with Audiocodes SBC_第56张图片
Teams to avaya

Teams Direct Routing with Audiocodes SBC_第57张图片
Avaya to teams
Teams Direct Routing with Audiocodes SBC_第58张图片

3.16 配置call line ID

Teams Direct Routing with Audiocodes SBC_第59张图片

Teams Direct Routing with Audiocodes SBC_第60张图片

3.17 配置NAT

由于SBC需要发布才能被Teams连接,因此需要进行NAT,配置NAT需要到Setup-IP Network-Core Entities-NAT Translation,点击New,按照之前规划端口进行NAT发布

Teams Direct Routing with Audiocodes SBC_第61张图片
配置NAT后需要启用NAT,如需启用需要通过Setup-Signaling&media-Media-Media settings,在右边窗口将Nat Traversal参数值修改成Nat by signaling
Teams Direct Routing with Audiocodes SBC_第62张图片

3.18 检查配置

完成后可以检查SBC和Teams和Avaya的连通情况。可以通过Monitor-VOIP Status-Proxy sets status,确保所有状态都是Online。如果发现Offline需要进行相关排查。本次测试环境发现和teams对接是offline
Teams Direct Routing with Audiocodes SBC_第63张图片
查看警告,发现有proxy set proxy lost 报错,尝试修改Keep A-live Option参数为disable解决该问题,Teams可能无法发送Option消息。
Teams Direct Routing with Audiocodes SBC_第64张图片
Teams Direct Routing with Audiocodes SBC_第65张图片
修改后状态正常
Teams Direct Routing with Audiocodes SBC_第66张图片

4 配置Office 365

4.1 添加域

登陆Office 365管理控制台,在安装-域中点击添加域
Teams Direct Routing with Audiocodes SBC_第67张图片
输入你所拥有的域,点击下一步
Teams Direct Routing with Audiocodes SBC_第68张图片
Teams Direct Routing with Audiocodes SBC_第69张图片
然后通过选择某一方式进行验证,本次测试环境使用TXT记录验证
Teams Direct Routing with Audiocodes SBC_第70张图片
将如下记录添加到公网DNS中,然后点击验证
Teams Direct Routing with Audiocodes SBC_第71张图片
选择一种方式,然后点击下一步
Teams Direct Routing with Audiocodes SBC_第72张图片
选择SFB,点击下一步
Teams Direct Routing with Audiocodes SBC_第73张图片

出现推荐的DNS记录,并联通SBC的FQDN一起在公网DNS中进行添加
Teams Direct Routing with Audiocodes SBC_第74张图片
点击完成,完成域添加
Teams Direct Routing with Audiocodes SBC_第75张图片

如果看到!号,说明DNS没有加好
Teams Direct Routing with Audiocodes SBC_第76张图片

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 Direct Routing with Audiocodes SBC_第77张图片

然后通过如下命令进行Teams的连接,中间会提示输入用户名密码,请输入365管理员的用户名密码(用户名需要使用domain.com.cn后缀的)
Import-Module MSOnline
Connect-MsolService -Credential $credential
Import-Module LyncOnlineConnector
$lyncSession = New-CsOnlineSession -Credential $cred
Import-PSSession $lyncSession -allowClobber

Teams Direct Routing with Audiocodes SBC_第78张图片
Teams Direct Routing with Audiocodes SBC_第79张图片

Teams Direct Routing with Audiocodes SBC
Teams Direct Routing with Audiocodes SBC_第80张图片
Teams Direct Routing with Audiocodes SBC_第81张图片
Teams Direct Routing with Audiocodes SBC_第82张图片

4.3 创建配对SBC

通过GCM命令查看是否成功连接到Teams,如出现下图,说明连接正常

Teams Direct Routing with Audiocodes SBC_第83张图片

然后通过New-CsOnlinePSTNGateway -Fqdn <SBC FQDN> -SipSignallingPort <SBC SIP Port> -MaxConcurrentSessions -Enabled $true创建SBC
Teams Direct Routing with Audiocodes SBC_第84张图片
通过get命令可以查看创建的SBC配置
Teams Direct Routing with Audiocodes SBC_第85张图片

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}
Teams Direct Routing with Audiocodes SBC_第86张图片

4.5 创建pstnusage

Set-CsOnlinePstnUsage -Identity Global -Usage @{Add=”AU-Mobile”}
Teams Direct Routing with Audiocodes SBC

4.6 创建routing

New-CsOnlineVoiceRoute -Identity “AU-Mobile” -NumberPattern “^+61(45(\d{7}))$” -OnlinePstnGatewayList sbc.uctechie.com -Priority 2 -OnlinePstnUsages “AU-Mobile“
Teams Direct Routing with Audiocodes SBC_第87张图片

4.7 创建语音策略

New-CsOnlineVoiceRoutingPolicy “AU-AllCalls” -OnlinePstnUsages “AU-Mobile”
Teams Direct Routing with Audiocodes SBC_第88张图片
分配语音策略(有时候会失败,多试几次)
Teams Direct Routing with Audiocodes SBC_第89张图片

4.8 配置用户

Set-CsUser -Identity [email protected] -EnterpriseVoiceEnabled $true -HostedVoiceMail $true -OnPremLineURI tel:+61893423245
Teams Direct Routing with Audiocodes SBC
如下两条命令用来配置客户端首选Teams,不然在SFB和Teams同时使用的环境下将优先使用SFB作为用户的语音客户端
Grant-CsTeamsInteropPolicy -PolicyName DisallowOverrideCallingTeamsChatTeams -Identity [email protected]
Grant-CsTeamsCallingPolicy -PolicyName Tag:AllowCalling -Identity [email protected]
Teams Direct Routing with Audiocodes SBC![]

4.9 登陆Teams并测试**

由于本次路由转换规则只是配置了手机,因此我们只能打外部手机
Teams Direct Routing with Audiocodes SBC_第90张图片

需要进一步技术支持或者合作意向可以通过我们的微信公众号:Audiocodes。与我们联系。