毅航互联SBC 完成鲲鹏芯片与银河麒麟系统适配测试
更新时间:2021-08-20

一、简介

在国产替代和信创的大趋势下,企业服务的关键软件适配国产CPU和国产操作系统成为必然。SBC作为企业通信的关键部件,一定要能够适配国产系统,保证具有相同的功能、性能和兼容性。

毅航互联SoftSBC-1000作为主流的企业通信SBC之一,已经完成国产系统的移植和适配,并由本文档做相应的测试记录。作为选型和上线的参考。

目前,国产CPU有较多的选择(如:华为鲲鹏、龙芯等),考虑到在通讯领域和云平台的因素,选择“华为鲲鹏920”ARM64 CPU作为适配的CPU平台。操作系统选择主流的“银河麒麟高级服务器操作系统V10”ARM版本。

测试在物理服务器上进行(宝德自强PT620K鲲鹏台式机),以保证原生适配和性能。

为了便于评估云平台上的性能,本测试是在上述服务器上的虚拟机中进行的。


由于毅航互联SoftSBC-1000的功能非常多,本测试主要完成最简单情况下的通话测试,包括:不转码透传通话、转码通话和压力测试。

经过上述测试验证,毅航互联SoftSBC-1000产品适配“华为鲲鹏920”CPU和“银河麒麟高级服务器操作系统V10”ARM版本。


1、毅航互联SoftSBC-1000

毅航互联纯软SBC产品与基于硬件的SBC产品共享相同平台、软件和架构。纯软SBC产品将媒体接入、编解码处理和录音等由硬件转换为纯软件实现,利用通用CPU的处理能力提供与硬件SBC相同的功能。

毅航互联纯软SBC跑在通用服务器上,可本地部署,可云化部署,不需专用的硬件设备。

毅航互联纯软SBC面向运营商、互联网企业和呼叫中心,为客户的SIP网络提供强大的安全、编解码转换、内外网穿透、注册代理、路由、信令流控/转换、QoS/ACL等功能。

毅航互联纯软SBC采用Soft iSX4000 HMP模块替代硬件。HMP模块在编解码层面针对主机CPU做了大量的优化,可以提供更高的性能。纯软SBC秉承毅航互联硬件SBC的分布式架构和模块化部署,构成分布式计算网络,以极低的功耗实现极高的性能。

毅航互联纯软SBC设备最大支持1000并发会话和1000路语音媒体转码。除传统电信编解码(G.711/G.729/G.723),还支持3G/4G编解码(AMR-NB/AMR-WB),以及互联网编解码(OPUS/iLBC)。另外,毅航互联SBC还支持高清语音(G.722编解码)。

毅航互联纯软SBC支持双机热备,主备切换时信令和语音通话保持不中断,用户无感知。


注意:媒体转码能力和编解码类型、CPU型号和数量有关系。


2、宝德自强PT620K鲲鹏台式机

宝德自强PT620K鲲鹏台式机基于8核鲲鹏920高性能通用微处理器,主频2.6GHz,16G DDR4内存,2T硬盘。

具体参数见网站:

http://www.powerleader.com.cn/product_100/1105.html


3、银河麒麟高级服务器操作系统V10

银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主机系统可靠性、安全性、性能、扩展性和实时性的需求,依据CMMI 5级标准研制的提供内生安全、云原生支持、国产平台深入优化、高性能、易管理的新一代自主服务器操作系统;同源支持飞腾、龙芯、申威、兆芯、海光、鲲鹏等自主CPU及x86平台;可支撑构建大型数据中心服务器高可用集群、负载均衡集群、分布式集群文件系统、虚拟化应用和容器云平台等,可部署在物理服务器和虚拟化环境、私有云、公有云和混合云环境;应用于政府、国防、金融、教育、财税、公安、审计、交通、医疗、制造等领域。

具体性能参数见网站:

https://www.kylinos.cn/scheme/server/1.html






二、测试环境

1、测试整体结构

为了简化,测试部件分成三个部分:

SoftSBC-1000:包括运行SoftSBC-1000软件的载体服务器,服务器CPU配置为华为鲲鹏920 ARM64;

Eyebeam 1.5:包括运行eyebeam的电脑,模拟电话;

亿联SIP硬话机:模拟电话;

sipp:压力测试时,模拟高并发。


整体的测试结构简化如下图:




2、SoftSBC-1000

SoftSBC-1000软件

测试版本为:iGatewayPackageOpeneular-1.0.0.release.aarch64.tar.gz


操作系统

操作系统如下:

[root@localhost home]# uname -a

Linux localhost.localdomain 4.19.90-23.8.v2101.ky10.aarch64 #1 SMP Mon May 17 17:07:38 CST 2021 aarch64 aarch64 aarch64 GNU/Linux


[root@localhost home]# cat /etc/os-release

NAME="Kylin Linux Advanced Server"

VERSION="V10 (Tercel)"

ID="kylin"

VERSION_ID="V10"

PRETTY_NAME="Kylin Linux Advanced Server V10 (Tercel)"

ANSI_COLOR="0;31"


[root@localhost home]# cat /etc/system-release

Kylin Linux Advanced Server release V10 (Tercel)


硬件规格

由于使用虚拟机进行测试,分配的CPU和内存如下图:

processor : 0

model name    : ARMv8 CPU

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


processor : 1

model name    : ARMv8 CPU

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


processor : 2

model name    : ARMv8 CPU

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


processor : 3

model name    : ARMv8 CPU

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


processor : 4

model name    : ARMv8 CPU

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


[root@localhost home]# free

              total        used        free      shared  buff/cache   available

Mem:        3846976     2334080      573824       15296      939072      957504

Swap:       2297792     1024000     1273792


3、宿主机的配置

CPU为:

processor : 0

model name    : HUAWEI,Kunpeng 920

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


processor : 1

model name    : HUAWEI,Kunpeng 920

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


processor : 2

model name    : HUAWEI,Kunpeng 920

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


processor : 3

model name    : HUAWEI,Kunpeng 920

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


processor : 4

model name    : HUAWEI,Kunpeng 920

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


processor : 5

model name    : HUAWEI,Kunpeng 920

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


processor : 6

model name    : HUAWEI,Kunpeng 920

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


processor : 7

model name    : HUAWEI,Kunpeng 920

BogoMIPS : 200.00

Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

CPU implementer    : 0x48

CPU architecture: 8

CPU variant   : 0x1

CPU part : 0xd01

CPU revision  : 0


4、Eyebeam 1.5

使用测试版本。

由于eyebeam在counterpath已经下线和不提供下载,测试版本是从其他一些网站上下载的测试版本,测试后已经不再使用。

具体见:https://www.counterpath.com/


5、硬SIP话机

采用亿联T21P。




三、测试配置

本节主要列出与呼叫测试相关的配置,其他常规的配置见使用手册。


1、SoftSBC-1000

配置SIP协议栈

SIP栈采用缺省配置,IP地址为10.10.0.52,配置完成后,直接激活。



配置SIP注册中继组

为测试用的SIP分机配置账号,如下图:



从图上已经可以看到两个分机都已经注册上了SBC。


配置sipp呼叫中继组

sipp呼入和应答在不同的中继组中,分别用sipp_c和sipp_a表示,配置如下图:



配置分机互打路由

为了保证两个中继组间的分机互打,需要配置路由,如下图:



配置sipp测试路由

从sipp_c到sipp_a的路由,如下图:



2、Eyebeam 1.5

Eyebeam的配置较为简单,见相关的手册说明。


3、亿联T21P配置

亿联话机的配置也较为简单,见相关的手册说明。


4、sipp脚本

发起呼叫采用如下的脚本:


如果使用G.711时,脚本如下:

./sipp -i 10.10.99.60 -p 6060 -sf ./sipp_uac_pcap_g711a.xml 10.10.0.52:5060 -r 10 -rp 1000 -aa

sipp_uac_pcap_g711a.xml:本脚本会使能发G.711 alaw的RTP包。


如果使用G.729时,脚本如下:

./sipp -i 10.10.99.60 -p 6060 -sf ./sipp_uac_pcap_g729.xml 10.10.0.52:5060 -r 10 -rp 1000 -aa

sipp_uac_pcap_g729.xml:本脚本会使能发G.729的RTP包。


应答呼叫的脚本:

./sipp -sf sipp_uas_basic.xml -i 10.10.99.30 -rtp_echo -mp 6000

将收到的RTP包全部echo回去。



四、测试

1、通话测试

两个SIP电话间通过不同编码的互打,通话正常。

alaw呼叫

在中继组配置中,将alaw作为第一优先级,此时发起alaw通话,配置如下图:



通话时,语音正常,通过抓包,可以确认此时为alaw呼叫。



G.729呼叫

在亿联话机的配置界面,将G.729编码调整到最高优先级,将进行G.729呼叫,如下图:



测试时语音正常。

通过抓包分析,一端是G.729,一端是G.711,由SBC执行转码。如下图:



2、压力测试

压力测试时,由sipp打满,然后通过SIP电话抽听语音是否正常。


alaw呼叫

由于alaw的语音文件长度大概是25s,将呼叫频度改为16CAPS,保证稳定的呼叫是400并发。在此条件下,用SIP电话抽听语音正常。


./sipp -i 10.10.99.60 -p 6060 -sf ./sipp_uac_pcap_g711a.xml 10.10.0.52:5060 -r 16 -rp 1000 –aa


从web查看到的呼叫统计如下图:


单个中继组的并发是400CAPS,和计算相符。


带宽计算:

由于两个sipp均在同一台服务器的两个虚拟机中,整体并发要按800通道算,共计65M多。下图的带宽和计算相符,并且入和出是相同的,表示正常:


从下图可以看到CPU和内存均正常。


Eyebeam客户端的抓包分析,没有丢包和延迟,语音正常,如下图:



G.729呼叫

由于G.729对CPU的消耗较高,同等的配置情况下,已经达不到原有的并发。因此,将测试时,系统并发修改到150并发。

发起呼叫的sipp的脚本如下:

./sipp -i 10.10.99.60 -p 6060 -sf ./sipp_uac_pcap_g729.xml 10.10.0.52:5060 -r 6 -rp 1000 -aa


此时,CAPS为6,在语音25s长度的情况下,并发为150。


在稳定时,并发如下图:


入和出的带宽基本上相同,可以认为是正常的,如下图:


在此负荷的情况下,CPU已经非常高,如下图:


Eyebeam客户端的抓包分析,没有丢包和延迟,语音正常,如下图:



对比G.711的压力测试,最大延迟和最大抖动都有所上升。







五、测试结论

毅航互联SoftSBC-1000很好地适配了“华为鲲鹏920”CPU和“银河麒麟高级服务器操作系统V10”ARM版本,达到X86版本的同等功能和类似的性能。


返回