引言 本次测试环境搭建参考如下文档: 链接: 配置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 thamaraw@uctechie.com -EnterpriseVoiceEnabled $true -HostedVoiceMail $true -OnPremLineURI tel:+61893423245 如下两条命令用来配置客户端首选Teams,不然在SFB和Teams同时使用的环境下将优先使用SFB作为用户的语音客户端 Grant-CsTeamsInteropPolicy -PolicyName DisallowOverrideCallingTeamsChatTeams -Identity thamaraw@uctechie.com Grant-CsTeamsCallingPolicy -PolicyName Tag:AllowCalling -Identity thamaraw@uctechie.com ![]

4.9 登陆Teams并测试**

由于本次路由转换规则只是配置了手机,因此我们只能打外部手机

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