您当前的位置是:  首页 > 资讯 > 国内 >
 首页 > 资讯 > 国内 >

毅航互联vSBC-5000 linux虚拟机测试

2021-09-06 08:01:46   作者:   来源:CTI论坛   评论:0  点击:


  一、简介
  毅航互联vSBC-5000是纯软件实现,较多的部署在虚拟机或者云平台中使用,需要有测试来确定在常见的配置模式下大概的性能数据,作为现场部署的参考。
  由于毅航互联vSBC-5000的功能非常多,本测试主要完成最简单情况下的通话测试,包括:不转码透传通话、加密通话和基于sipp的压力测试。
  经过上述测试验证,毅航互联vSBC-5000产品支持编码透传、基于TLS/SRTP的加密通话和1000并发通话。
  注:用sipp带媒体做压力测试,发现并发超过500时,sipp就很容易出现出现coredump、没有响应或者控制终端直接和服务器断开等现象,网络带宽也严重偏离。因此,在此测试中引入毅航硬件SBC(SBC-2000),sipp只是做信令处理,与SBC-2000对接,由SBC-2000和vSBC-5000对接,保证vSBC-5000具有真实的媒体流量。
  1、毅航互联vSBC-5000
  • 毅航互联透传SBC-5000(简称vSBC)提供类似IMS网络A-SBC和I-SBC的功能,用于网络拓扑隐藏、NAT穿透、内外网隔离、VoIP安全和广域网组网等场景,也可以用于协议转换、SIP信令整形、视频会议、WebRTC接入等SBC场景。
  • 毅航互联vSBC支持双机主备冗余功能(HA),主备切换不影响通话,现有通话不会中断,满足运营级要求。
  • 毅航互联vSBC支持话单,可用于计费等运营场景。
  • 毅航互联vSBC是纯软件实现,可部署在专用服务器、通用服务器、虚拟机(VMware、KVM、VirtualBox)和云平台(阿里云、腾讯云、百度云、华为云等)。
  • 毅航互联vSBC具有高性能和大容量的特点。呼叫:500呼叫/秒,5000并发。注册:500事务/秒,5000并发。
  • 毅航互联vSBC不执行媒体的编解码转换,并且采用内核包转发,具有极高的性能。
  2、DELL R720机架式服务器
  本测试的宿主服务器采用DELL PowerEdge R720机架式服务器。配置两颗intel E5-2690 v2 CPU,32G内存。
  具体参数见网站:
  https://www.dell.com/zh-cn/work/shop/povw/poweredge-r720
  注意:DELL此产品已经下架,类似产品为R740。
  3、CentOS 7.5操作系统
  宿主服务器和虚拟机均使用CentOS 7.5 64bits linux操作系统。
  具体性能参数见网站:
  https://www.centos.org
  4、毅航互联SBC-2000
  • 毅航互联 硬SBC由SBC 0500,SBC 1000,SBC 2000等系列产品组成,与毅航互联 TG1000/TG4000网关共享相同平台、软件和架构。
  • 毅航互联SBC面向运营商、互联网企业和呼叫中心,为客户的SIP网络提供强大的安全、编解码转换、内外网穿透、注册代理、路由、信令流控/转换、QoS/ACL等功能。
  • 毅航互联SBC秉承毅航互联iSX4000多媒体交换机的“双星网”架构,采用高性能DSP/VoIP处理芯片、多核嵌入式CPU处理器、千兆无阻塞网络交换和高性能主机CPU,构成分布式计算网络,以极低的功耗实现极高的性能。
  • 毅航互联SBC设备最大支持2000并发会话和2000路语音媒体转码。除传统电信编解码(G.711/G.729/G.723),还支持3G/4G编解码(AMR NB/AMR WB/GSM FR/EFR),以及互联网编解码(OPUS/SILK/iLBC)。另外,毅航互联SBC还支持高清语音(G.722编码)。
  • 毅航互联SBC在必要时,可以插入中继模块或者STM-1光接口板,完成与传统PSTN网络的对接。
  •   毅航互联SBC支持HA高可用配置,主备切换时信令和语音通话保持不中断。
  二、测试环境
  1、测试整体结构
  为了简化,测试部件分成四个部分:
  • vSBC-5000:包括运行vSBC-5000软件的载体服务器;
  • Eyebeam 1.5:包括运行eyebeam的电脑,模拟电话;
  亿联SIP硬话机:模拟电话;
  • sipp:压力测试时,模拟高并发;
  • SBC-2000:标准产品,将单纯信令的sipp呼叫转换为带媒体的SIP呼叫。
  整体的测试结构简化如下图:
  功能测试
  功能测试时,呼叫直接在vSBC-5000接通和包转发,不涉及到SBC-2000。
  sipp压力测试
  sipp压力测试时,由发起呼叫的sipp呼叫到SBC-2000,由SBC-2000转呼到vSBC。vSBC接收到呼叫后,再呼出到SBC-2000,然后由SBC-2000呼到应答sipp。整体的流程如下图:
  2、vSBC-5000
  vSBC-5000软件
  测试版本为:iGatewayPackageRE-1.0.5.release.i386.tar.gz
  操作系统
  操作系统如下:
  [root@localhost ~]# uname -a
  Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
  [root@localhost ~]# cat /etc/os-release
  NAME="CentOS Linux"
  VERSION="7 (Core)"
  ID="centos"
  ID_LIKE="rhel fedora"
  VERSION_ID="7"
  PRETTY_NAME="CentOS Linux 7 (Core)"
  ANSI_COLOR="0;31"
  CPE_NAME="cpe:/o:centos:centos:7"
  HOME_URL="https://www.centos.org/"
  BUG_REPORT_URL="https://bugs.centos.org/"
  CENTOS_MANTISBT_PROJECT="CentOS-7"
  CENTOS_MANTISBT_PROJECT_VERSION="7"
  REDHAT_SUPPORT_PRODUCT="centos"
  REDHAT_SUPPORT_PRODUCT_VERSION="7"
  [root@localhost ~]# cat /etc/system-release
  CentOS Linux release 7.5.1804 (Core)
  硬件规格
  由于使用虚拟机进行测试,分配的CPU和内存如下图:
  注:常规测试配置为8核,后续会做基于4核的性能测试。
  [root@localhost ~]# free
  total        used        free      shared  buff/cache   available
  Mem:        8008980     3520676     3798084      393640      690220     3806660
  Swap:       2097148        2048     2095100
  3、宿主机的配置
  CPU为:
  注:服务器配置了两颗E5-2690 V2 CPU。
  4、Eyebeam 1.5
  使用测试版本。
  由于eyebeam在counterpath已经下线和不提供下载,测试版本是从其他一些网站上下载的测试版本,测试后已经不再使用。
  具体见:https://www.counterpath.com/
  5、硬SIP话机
  采用亿联T21P。
  6、SBC-2000硬件SBC
  SBC-2000配置8块MGW-VOIP板,总并发可以做到4096(alaw/ulaw)。
  为了避免NAT穿透对包可能产生影响,本设备不配置NAT穿透,直接和vSBC-5000做媒体的对接。
  三、测试配置
  本节主要列出与呼叫测试相关的配置,其他常规的配置见使用手册。
  1、vSBC-5000
  配置SIP协议栈
  SIP栈采用缺省配置,IP地址为10.10.99.28,配置完成后,直接激活。
  配置SIP注册中继组
  为测试用的SIP分机配置账号,如下图:
  从图上已经可以看到两个分机都已经注册上了SBC。
  配置SBC-2000呼叫中继组
  SBC-2000中继组是双向的:呼入和应答在同一个中继组中,配置如下图:
  配置分机互打路由
  为了保证两个中继组间的分机互打,需要配置路由,如下图:
 
  配置SBC-2000测试路由
  从SBC-2000呼入然后再呼出到SBC-2000的路由,如下图:
  2、SBC-2000
  配置SIP协议栈
  SIP栈采用缺省配置,IP地址为10.10.210.15,配置完成后,直接激活。
  配置sipp压力测试中继组
  sipp发起呼叫和接收呼叫的中继组配置如下图:
  配置vSBC-5000中继组
  中继组配置如下图:
 
  路由配置
  需要配置两条路由:sipp_c(发起呼叫)到vSBC和vSBC到sipp_a(应答呼叫)。如下图:
  3、Eyebeam 1.5
  Eyebeam的配置较为简单,见相关的手册说明。
  4、亿联T21P配置
  亿联话机的配置也较为简单,见相关的手册说明。
  5、sipp脚本
  发起呼叫采用如下的脚本:
  由于G.711的包长度比G.729大很多,因此,只用G.711做测试。脚本如下:
  ./sipp -i 10.10.99.60 -p 6060 -sf ./sipp_uac_basic.xml 10.10.210.15:5060 -d 25000 -r 40 -rp 1000 -aa -m 10000
  sipp_uac_basic.xml:本脚本会使用G.711 alaw编解码做协商,但是不会发RTP包。
  应答呼叫的脚本:
  ./sipp -sf sipp_uas_basic.xml -i 10.10.99.30
  不处理接收RTP包。
  四、测试
  1、alaw通话测试
  两个SIP电话间通过不同编码的互打,通话正常。
  呼叫
  在中继组配置中,将alaw作为第一优先级,此时发起alaw通话,配置如下图:
  通话时,语音正常,通过抓包,可以确认此时为alaw呼叫。
  2、加密通话测试
  亿联话机配置成TLS/SRTP模式,然后和eyebeam通话,由vSBC执行SRTP/RTP的互相转换。
  vSBC-5000配置TLS中继组
  使用vSBC的web配置新的TLS中继组,以及在中继组中配置新的用户号码:400002。如下图:
  vSBC-5000配置TLS路由
  配置SRTP-RTP的转换路由,如下图:
  亿联话机配置加密通话模式
  配置一个新的400002账号,信令使用TLS传输,配置如下:
  媒体配置强制加密,这样就会采用SRTP,如下图:
  vSBC-5000查询注册状态
  在web上可以查询到话机已经注册,如下图:

 
  呼叫测试
  通过亿联话机呼叫eyebeam,由vSBC-5000执行SRTP-RTP间的相互转换,通话语音清晰。由于亿联话机和vSBC间通过TLS传输,信令不可见,因此在抓包中看不到。
  可以通过SIP的日志查询出亿联话机的信令:
  信令是TLS传输,媒体为SRTP加密。
 
  呼叫给eyebeam时,已经将信令转换为UDP传输和RTP媒体模式了。
  媒体包也可以看到相应的转换:
  3、压力测试
  压力测试时,由sipp打满,然后通过SIP电话抽听语音是否正常。
  alaw呼叫
  sipp呼叫保持时间大概是25s,将呼叫频度改为40CAPS,保证稳定的呼叫是1000并发。在此条件下,用SIP电话抽听语音正常。
  ./sipp -i 10.10.99.60 -p 6060 -sf ./sipp_uac_basic.xml 10.10.210.15:5060 -d 25000 -r 40 -rp 1000 -aa -m 10000
  从web查看到的呼叫统计如下图:
  单个中继组的并发是400CAPS,和计算相符。(40CAPS*25s保持时间=1000并发,由于是收到呼叫在转发出去,总并发是2000)
  带宽计算:
  整体并发要2000通道算,共计160M多。下图的带宽和计算相符,并且入和出是相同的,表示正常:
  从下图可以看到CPU和内存均正常。
  Eyebeam客户端的抓包分析,没有丢包和延迟,语音正常,如下图:
  G.729呼叫
  由于vSBC-5000不做编解码,只是透传RTP包,G.729的包更小,负荷更加轻载。所以本次不做相应的测试。
  4、压力测试-降低资源
  将CPU减少到4核,进行相应的压力测试,用于评估性能,作为上线的参考。
  如下图,CPU已经调整为4核:
  压力测试情况如下:
  从web查看到的呼叫统计如下图:
  表明可以支持1000并发。
  整体并发要2000通道算,共计160M多。下图的带宽和计算相符,并且入和出是相同的,表示正常:
  从下图可以看到CPU和内存均正常。
  Eyebeam客户端的抓包分析,没有丢包和延迟,语音正常,如下图:
  五、测试结论
  由于毅航互联 vSBC-5000采用内核包转发模式,在4核/8核的KVM/QEUM虚拟机中,可以很好的支持1000并发。
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题

CTI论坛会员企业