一、簡介
在國產(chǎn)替代和信創(chuàng)的大趨勢(shì)下,企業(yè)服務(wù)的關(guān)鍵軟件適配國產(chǎn)CPU和國產(chǎn)操作系統(tǒng)成為必然。SBC作為企業(yè)通信的關(guān)鍵部件,一定要能夠適配國產(chǎn)系統(tǒng),保證具有相同的功能、性能和兼容性。
毅航互聯(lián)SoftSBC-1000作為主流的企業(yè)通信SBC之一,已經(jīng)完成國產(chǎn)系統(tǒng)的移植和適配,并由本文檔做相應(yīng)的測(cè)試記錄。作為選型和上線的參考。
目前,國產(chǎn)CPU有較多的選擇(如:華為鯤鵬、龍芯等),考慮到在通訊領(lǐng)域和云平臺(tái)的因素,選擇“華為鯤鵬920” ARM64 CPU作為適配的CPU平臺(tái)。操作系統(tǒng)選擇主流的“銀河麒麟高級(jí)服務(wù)器操作系統(tǒng)V10”ARM版本。
測(cè)試在物理服務(wù)器上進(jìn)行(寶德自強(qiáng)PT620K鯤鵬臺(tái)式機(jī)),以保證原生適配和性能。
為了便于評(píng)估云平臺(tái)上的性能,本測(cè)試是在上述服務(wù)器上的虛擬機(jī)中進(jìn)行的。
由于毅航互聯(lián)SoftSBC-1000的功能非常多,本測(cè)試主要完成最簡單情況下的通話測(cè)試,包括:不轉(zhuǎn)碼透?jìng)魍ㄔ、轉(zhuǎn)碼通話和壓力測(cè)試。
經(jīng)過上述測(cè)試驗(yàn)證,毅航互聯(lián)SoftSBC-1000產(chǎn)品適配“華為鯤鵬920”CPU和“銀河麒麟高級(jí)服務(wù)器操作系統(tǒng)V10”ARM版本。
1、毅航互聯(lián)SoftSBC-1000
毅航互聯(lián)純軟SBC產(chǎn)品與基于硬件的SBC產(chǎn)品共享相同平臺(tái)、軟件和架構(gòu)。純軟SBC產(chǎn)品將媒體接入、編解碼處理和錄音等由硬件轉(zhuǎn)換為純軟件實(shí)現(xiàn),利用通用CPU的處理能力提供與硬件SBC相同的功能。
毅航互聯(lián)純軟SBC跑在通用服務(wù)器上,可本地部署,可云化部署,不需專用的硬件設(shè)備。
毅航互聯(lián)純軟SBC面向運(yùn)營商、互聯(lián)網(wǎng)企業(yè)和呼叫中心,為客戶的SIP網(wǎng)絡(luò)提供強(qiáng)大的安全、編解碼轉(zhuǎn)換、內(nèi)外網(wǎng)穿透、注冊(cè)代理、路由、信令流控/轉(zhuǎn)換、QoS/ACL等功能。
毅航互聯(lián)純軟SBC采用Soft iSX4000 HMP模塊替代硬件。HMP模塊在編解碼層面針對(duì)主機(jī)CPU做了大量的優(yōu)化,可以提供更高的性能。純軟SBC秉承毅航互聯(lián)硬件SBC的分布式架構(gòu)和模塊化部署,構(gòu)成分布式計(jì)算網(wǎng)絡(luò),以極低的功耗實(shí)現(xiàn)極高的性能。
毅航互聯(lián)純軟SBC設(shè)備最大支持1000并發(fā)會(huì)話和1000路語音媒體轉(zhuǎn)碼。除傳統(tǒng)電信編解碼(G.711/G.729/G.723),還支持3G/4G編解碼(AMR-NB/AMR-WB),以及互聯(lián)網(wǎng)編解碼(OPUS/iLBC)。另外,毅航互聯(lián)SBC還支持高清語音(G.722編解碼)。
毅航互聯(lián)純軟SBC支持雙機(jī)熱備,主備切換時(shí)信令和語音通話保持不中斷,用戶無感知。
注意:媒體轉(zhuǎn)碼能力和編解碼類型、CPU型號(hào)和數(shù)量有關(guān)系。
2、寶德自強(qiáng)PT620K鯤鵬臺(tái)式機(jī)
寶德自強(qiáng)PT620K鯤鵬臺(tái)式機(jī)基于8核鯤鵬920高性能通用微處理器,主頻 2.6GHz,16G DDR4內(nèi)存,2T硬盤。
具體參數(shù)見網(wǎng)站:
http://www.powerleader.com.cn/product_100/1105.html
3、銀河麒麟高級(jí)服務(wù)器操作系統(tǒng)V10
銀河麒麟高級(jí)服務(wù)器操作系統(tǒng)V10是針對(duì)企業(yè)級(jí)關(guān)鍵業(yè)務(wù),適應(yīng)虛擬化、云計(jì)算、大數(shù)據(jù)、工業(yè)互聯(lián)網(wǎng)時(shí)代對(duì)主機(jī)系統(tǒng)可靠性、安全性、性能、擴(kuò)展性和實(shí)時(shí)性的需求,依據(jù)CMMI 5級(jí)標(biāo)準(zhǔn)研制的提供內(nèi)生安全、云原生支持、國產(chǎn)平臺(tái)深入優(yōu)化、高性能、易管理的新一代自主服務(wù)器操作系統(tǒng);同源支持飛騰、龍芯、申威、兆芯、海光、鯤鵬等自主CPU及x86平臺(tái);可支撐構(gòu)建大型數(shù)據(jù)中心服務(wù)器高可用集群、負(fù)載均衡集群、分布式集群文件系統(tǒng)、虛擬化應(yīng)用和容器云平臺(tái)等,可部署在物理服務(wù)器和虛擬化環(huán)境、私有云、公有云和混合云環(huán)境;應(yīng)用于政府、國防、金融、教育、財(cái)稅、公安、審計(jì)、交通、醫(yī)療、制造等領(lǐng)域。
具體性能參數(shù)見網(wǎng)站:
https://www.kylinos.cn/scheme/server/1.html
二、測(cè)試環(huán)境
1、測(cè)試整體結(jié)構(gòu)
為了簡化,測(cè)試部件分成三個(gè)部分:
SoftSBC-1000:包括運(yùn)行SoftSBC-1000軟件的載體服務(wù)器,服務(wù)器CPU配置為華為鯤鵬920 ARM64;
Eyebeam 1.5:包括運(yùn)行eyebeam的電腦,模擬電話;
億聯(lián)SIP硬話機(jī):模擬電話;
sipp:壓力測(cè)試時(shí),模擬高并發(fā)。
整體的測(cè)試結(jié)構(gòu)簡化如下圖:

2、SoftSBC-1000SoftSBC-1000軟件
測(cè)試版本為:iGatewayPackageOpeneular-1.0.0.release.aarch64.tar.gz
操作系統(tǒng)
操作系統(tǒng)如下:
[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)
硬件規(guī)格
由于使用虛擬機(jī)進(jìn)行測(cè)試,分配的CPU和內(nèi)存如下圖:
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、宿主機(jī)的配置
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
使用測(cè)試版本。
由于eyebeam在counterpath已經(jīng)下線和不提供下載,測(cè)試版本是從其他一些網(wǎng)站上下載的測(cè)試版本,測(cè)試后已經(jīng)不再使用。
具體見:https://www.counterpath.com/
5、硬SIP話機(jī)
采用億聯(lián)T21P。
三、測(cè)試配置
本節(jié)主要列出與呼叫測(cè)試相關(guān)的配置,其他常規(guī)的配置見使用手冊(cè)。
1、SoftSBC-1000
配置SIP協(xié)議棧
SIP棧采用缺省配置,IP地址為10.10.0.52,配置完成后,直接激活。

配置SIP注冊(cè)中繼組
為測(cè)試用的SIP分機(jī)配置賬號(hào),如下圖:

從圖上已經(jīng)可以看到兩個(gè)分機(jī)都已經(jīng)注冊(cè)上了SBC。
配置sipp呼叫中繼組
sipp呼入和應(yīng)答在不同的中繼組中,分別用sipp_c和sipp_a表示,配置如下圖:

配置分機(jī)互打路由
為了保證兩個(gè)中繼組間的分機(jī)互打,需要配置路由,如下圖:

配置sipp測(cè)試路由
從sipp_c到sipp_a的路由,如下圖:

2、Eyebeam 1.5
Eyebeam的配置較為簡單,見相關(guān)的手冊(cè)說明。
3、億聯(lián)T21P配置
億聯(lián)話機(jī)的配置也較為簡單,見相關(guān)的手冊(cè)說明。
4、sipp腳本
發(fā)起呼叫采用如下的腳本:
如果使用G.711時(shí),腳本如下:
./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:本腳本會(huì)使能發(fā)G.711 alaw的RTP包。
如果使用G.729時(shí),腳本如下:
./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:本腳本會(huì)使能發(fā)G.729的RTP包。
應(yīng)答呼叫的腳本:
./sipp -sf sipp_uas_basic.xml -i 10.10.99.30 -rtp_echo -mp 6000
將收到的RTP包全部echo回去。
四、測(cè)試
1、通話測(cè)試
兩個(gè)SIP電話間通過不同編碼的互打,通話正常。
alaw呼叫
在中繼組配置中,將alaw作為第一優(yōu)先級(jí),此時(shí)發(fā)起alaw通話,配置如下圖:

通話時(shí),語音正常,通過抓包,可以確認(rèn)此時(shí)為alaw呼叫。

G.729呼叫
在億聯(lián)話機(jī)的配置界面,將G.729編碼調(diào)整到最高優(yōu)先級(jí),將進(jìn)行G.729呼叫,如下圖:

測(cè)試時(shí)語音正常。
通過抓包分析,一端是G.729,一端是G.711,由SBC執(zhí)行轉(zhuǎn)碼。如下圖:

2、壓力測(cè)試
壓力測(cè)試時(shí),由sipp打滿,然后通過SIP電話抽聽語音是否正常。
alaw呼叫
由于alaw的語音文件長度大概是25s,將呼叫頻度改為16CAPS,保證穩(wěn)定的呼叫是400并發(fā)。在此條件下,用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查看到的呼叫統(tǒng)計(jì)如下圖:

單個(gè)中繼組的并發(fā)是400CAPS,和計(jì)算相符。
帶寬計(jì)算:
由于兩個(gè)sipp均在同一臺(tái)服務(wù)器的兩個(gè)虛擬機(jī)中,整體并發(fā)要按800通道算,共計(jì)65M多。下圖的帶寬和計(jì)算相符,并且入和出是相同的,表示正常:

從下圖可以看到CPU和內(nèi)存均正常。

Eyebeam客戶端的抓包分析,沒有丟包和延遲,語音正常,如下圖:

G.729呼叫
由于G.729對(duì)CPU的消耗較高,同等的配置情況下,已經(jīng)達(dá)不到原有的并發(fā)。因此,將測(cè)試時(shí),系統(tǒng)并發(fā)修改到150并發(fā)。
發(fā)起呼叫的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
此時(shí),CAPS為6,在語音25s長度的情況下,并發(fā)為150。
在穩(wěn)定時(shí),并發(fā)如下圖:

入和出的帶寬基本上相同,可以認(rèn)為是正常的,如下圖:

在此負(fù)荷的情況下,CPU已經(jīng)非常高,如下圖:

Eyebeam客戶端的抓包分析,沒有丟包和延遲,語音正常,如下圖:

對(duì)比G.711的壓力測(cè)試,最大延遲和最大抖動(dòng)都有所上升。
五、測(cè)試結(jié)論
毅航互聯(lián) SoftSBC-1000很好地適配了“華為鯤鵬920”CPU和“銀河麒麟高級(jí)服務(wù)器操作系統(tǒng)V10”ARM版本,達(dá)到X86版本的同等功能和類似的性能。