毅航互聯(lián)vSBC-5000是純軟件實(shí)現,較多的部署在虛擬機或者云平臺中使用,需要有測試來(lái)確定在常見(jiàn)的配置模式下大概的性能數據,作為現場(chǎng)部署的參考。
由于毅航互聯(lián)vSBC-5000的功能非常多,本測試主要完成最簡(jiǎn)單情況下的通話(huà)測試,包括:不轉碼透傳通話(huà)、加密通話(huà)和基于sipp的壓力測試。
經(jīng)過(guò)上述測試驗證,毅航互聯(lián)vSBC-5000產(chǎn)品支持編碼透傳、基于TLS/SRTP的加密通話(huà)和1000并發(fā)通話(huà)。
注:用sipp帶媒體做壓力測試,發(fā)現并發(fā)超過(guò)500時(shí),sipp就很容易出現出現coredump、沒(méi)有響應或者控制終端直接和服務(wù)器斷開(kāi)等現象,網(wǎng)絡(luò )帶寬也嚴重偏離。因此,在此測試中引入毅航硬件SBC(SBC-2000),sipp只是做信令處理,與SBC-2000對接,由SBC-2000和vSBC-5000對接,保證vSBC-5000具有真實(shí)的媒體流量。
1、毅航互聯(lián)vSBC-5000
- 毅航互聯(lián)透傳SBC-5000(簡(jiǎn)稱(chēng)vSBC)提供類(lèi)似IMS網(wǎng)絡(luò )A-SBC和I-SBC的功能,用于網(wǎng)絡(luò )拓撲隱藏、NAT穿透、內外網(wǎng)隔離、VoIP安全和廣域網(wǎng)組網(wǎng)等場(chǎng)景,也可以用于協(xié)議轉換、SIP信令整形、視頻會(huì )議、WebRTC接入等SBC場(chǎng)景。
- 毅航互聯(lián)vSBC支持雙機主備冗余功能(HA),主備切換不影響通話(huà),現有通話(huà)不會(huì )中斷,滿(mǎn)足運營(yíng)級要求。
- 毅航互聯(lián)vSBC支持話(huà)單,可用于計費等運營(yíng)場(chǎng)景。
- 毅航互聯(lián)vSBC是純軟件實(shí)現,可部署在專(zhuān)用服務(wù)器、通用服務(wù)器、虛擬機(VMware、KVM、VirtualBox)和云平臺(阿里云、騰訊云、百度云、華為云等)。
- 毅航互聯(lián)vSBC具有高性能和大容量的特點(diǎn)。呼叫:500呼叫/秒,5000并發(fā)。注冊:500事務(wù)/秒,5000并發(fā)。
- 毅航互聯(lián)vSBC不執行媒體的編解碼轉換,并且采用內核包轉發(fā),具有極高的性能。
2、DELL R720機架式服務(wù)器
本測試的宿主服務(wù)器采用DELL PowerEdge R720機架式服務(wù)器。配置兩顆intel E5-2690 v2 CPU,32G內存。
具體參數見(jiàn)網(wǎng)站:
https://www.dell.com/zh-cn/work/shop/povw/poweredge-r720
注意:DELL此產(chǎn)品已經(jīng)下架,類(lèi)似產(chǎn)品為R740。
3、CentOS 7.5操作系統
宿主服務(wù)器和虛擬機均使用CentOS 7.5 64bits linux操作系統。
具體性能參數見(jiàn)網(wǎng)站:
https://www.centos.org
4、毅航互聯(lián)SBC-2000
- 毅航互聯(lián) 硬SBC由SBC 0500,SBC 1000,SBC 2000等系列產(chǎn)品組成,與毅航互聯(lián) TG1000/TG4000網(wǎng)關(guān)共享相同平臺、軟件和架構。
- 毅航互聯(lián)SBC面向運營(yíng)商、互聯(lián)網(wǎng)企業(yè)和呼叫中心,為客戶(hù)的SIP網(wǎng)絡(luò )提供強大的安全、編解碼轉換、內外網(wǎng)穿透、注冊代理、路由、信令流控/轉換、QoS/ACL等功能。
- 毅航互聯(lián)SBC秉承毅航互聯(lián)iSX4000多媒體交換機的“雙星網(wǎng)”架構,采用高性能DSP/VoIP處理芯片、多核嵌入式CPU處理器、千兆無(wú)阻塞網(wǎng)絡(luò )交換和高性能主機CPU,構成分布式計算網(wǎng)絡(luò ),以極低的功耗實(shí)現極高的性能。
- 毅航互聯(lián)SBC設備最大支持2000并發(fā)會(huì )話(huà)和2000路語(yǔ)音媒體轉碼。除傳統電信編解碼(G.711/G.729/G.723),還支持3G/4G編解碼(AMR NB/AMR WB/GSM FR/EFR),以及互聯(lián)網(wǎng)編解碼(OPUS/SILK/iLBC)。另外,毅航互聯(lián)SBC還支持高清語(yǔ)音(G.722編碼)。
- 毅航互聯(lián)SBC在必要時(shí),可以插入中繼模塊或者STM-1光接口板,完成與傳統PSTN網(wǎng)絡(luò )的對接。
- 毅航互聯(lián)SBC支持HA高可用配置,主備切換時(shí)信令和語(yǔ)音通話(huà)保持不中斷。
二、測試環(huán)境
1、測試整體結構
為了簡(jiǎn)化,測試部件分成四個(gè)部分:
- vSBC-5000:包括運行vSBC-5000軟件的載體服務(wù)器;
- Eyebeam 1.5:包括運行eyebeam的電腦,模擬電話(huà);
- sipp:壓力測試時(shí),模擬高并發(fā);
- SBC-2000:標準產(chǎn)品,將單純信令的sipp呼叫轉換為帶媒體的SIP呼叫。
整體的測試結構簡(jiǎn)化如下圖:

功能測試
功能測試時(shí),呼叫直接在vSBC-5000接通和包轉發(fā),不涉及到SBC-2000。
sipp壓力測試
sipp壓力測試時(shí),由發(fā)起呼叫的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)
硬件規格
由于使用虛擬機進(jìn)行測試,分配的CPU和內存如下圖:

注:常規測試配置為8核,后續會(huì )做基于4核的性能測試。
[root@localhost ~]# free
total used free shared buff/cache available
Mem: 8008980 3520676 3798084 393640 690220 3806660
Swap: 2097148 2048 2095100
3、宿主機的配置
CPU為:

注:服務(wù)器配置了兩顆E5-2690 V2 CPU。
4、Eyebeam 1.5
使用測試版本。
由于eyebeam在counterpath已經(jīng)下線(xiàn)和不提供下載,測試版本是從其他一些網(wǎng)站上下載的測試版本,測試后已經(jīng)不再使用。
具體見(jiàn):https://www.counterpath.com/
5、硬SIP話(huà)機
采用億聯(lián)T21P。
6、SBC-2000硬件SBC
SBC-2000配置8塊MGW-VOIP板,總并發(fā)可以做到4096(alaw/ulaw)。
為了避免NAT穿透對包可能產(chǎn)生影響,本設備不配置NAT穿透,直接和vSBC-5000做媒體的對接。
三、測試配置
本節主要列出與呼叫測試相關(guān)的配置,其他常規的配置見(jiàn)使用手冊。
1、vSBC-5000
配置SIP協(xié)議棧
SIP棧采用缺省配置,IP地址為10.10.99.28,配置完成后,直接激活。

配置SIP注冊中繼組
為測試用的SIP分機配置賬號,如下圖:

從圖上已經(jīng)可以看到兩個(gè)分機都已經(jīng)注冊上了SBC。
配置SBC-2000呼叫中繼組
SBC-2000中繼組是雙向的:呼入和應答在同一個(gè)中繼組中,配置如下圖:

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

配置SBC-2000測試路由
從SBC-2000呼入然后再呼出到SBC-2000的路由,如下圖:

2、SBC-2000
配置SIP協(xié)議棧
SIP棧采用缺省配置,IP地址為10.10.210.15,配置完成后,直接激活。

配置sipp壓力測試中繼組
sipp發(fā)起呼叫和接收呼叫的中繼組配置如下圖:

配置vSBC-5000中繼組
中繼組配置如下圖:

路由配置
需要配置兩條路由:sipp_c(發(fā)起呼叫)到vSBC和vSBC到sipp_a(應答呼叫)。如下圖:

3、Eyebeam 1.5
Eyebeam的配置較為簡(jiǎn)單,見(jiàn)相關(guān)的手冊說(shuō)明。
4、億聯(lián)T21P配置
億聯(lián)話(huà)機的配置也較為簡(jiǎn)單,見(jiàn)相關(guān)的手冊說(shuō)明。
5、sipp腳本
發(fā)起呼叫采用如下的腳本:
由于G.711的包長(cháng)度比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:本腳本會(huì )使用G.711 alaw編解碼做協(xié)商,但是不會(huì )發(fā)RTP包。
應答呼叫的腳本:
./sipp -sf sipp_uas_basic.xml -i 10.10.99.30
不處理接收RTP包。
四、測試
1、alaw通話(huà)測試
兩個(gè)SIP電話(huà)間通過(guò)不同編碼的互打,通話(huà)正常。
呼叫
在中繼組配置中,將alaw作為第一優(yōu)先級,此時(shí)發(fā)起alaw通話(huà),配置如下圖:

通話(huà)時(shí),語(yǔ)音正常,通過(guò)抓包,可以確認此時(shí)為alaw呼叫。

2、加密通話(huà)測試
億聯(lián)話(huà)機配置成TLS/SRTP模式,然后和eyebeam通話(huà),由vSBC執行SRTP/RTP的互相轉換。
vSBC-5000配置TLS中繼組
使用vSBC的web配置新的TLS中繼組,以及在中繼組中配置新的用戶(hù)號碼:400002。如下圖:

vSBC-5000配置TLS路由
配置SRTP-RTP的轉換路由,如下圖:

億聯(lián)話(huà)機配置加密通話(huà)模式
配置一個(gè)新的400002賬號,信令使用TLS傳輸,配置如下:

媒體配置強制加密,這樣就會(huì )采用SRTP,如下圖:

vSBC-5000查詢(xún)注冊狀態(tài)
在web上可以查詢(xún)到話(huà)機已經(jīng)注冊,如下圖:

呼叫測試
通過(guò)億聯(lián)話(huà)機呼叫eyebeam,由vSBC-5000執行SRTP-RTP間的相互轉換,通話(huà)語(yǔ)音清晰。由于億聯(lián)話(huà)機和vSBC間通過(guò)TLS傳輸,信令不可見(jiàn),因此在抓包中看不到。
可以通過(guò)SIP的日志查詢(xún)出億聯(lián)話(huà)機的信令:
可以通過(guò)SIP的日志查詢(xún)出億聯(lián)話(huà)機的信令:

信令是TLS傳輸,媒體為SRTP加密。

呼叫給eyebeam時(shí),已經(jīng)將信令轉換為UDP傳輸和RTP媒體模式了。
媒體包也可以看到相應的轉換:

3、壓力測試
壓力測試時(shí),由sipp打滿(mǎn),然后通過(guò)SIP電話(huà)抽聽(tīng)語(yǔ)音是否正常。
alaw呼叫
sipp呼叫保持時(shí)間大概是25s,將呼叫頻度改為40CAPS,保證穩定的呼叫是1000并發(fā)。在此條件下,用SIP電話(huà)抽聽(tīng)語(yǔ)音正常。
./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查看到的呼叫統計如下圖:

單個(gè)中繼組的并發(fā)是400CAPS,和計算相符。(40CAPS*25s保持時(shí)間=1000并發(fā),由于是收到呼叫在轉發(fā)出去,總并發(fā)是2000)
帶寬計算:
整體并發(fā)要2000通道算,共計160M多。下圖的帶寬和計算相符,并且入和出是相同的,表示正常:

從下圖可以看到CPU和內存均正常。

Eyebeam客戶(hù)端的抓包分析,沒(méi)有丟包和延遲,語(yǔ)音正常,如下圖:

G.729呼叫
由于vSBC-5000不做編解碼,只是透傳RTP包,G.729的包更小,負荷更加輕載。所以本次不做相應的測試。
4、壓力測試-降低資源
將CPU減少到4核,進(jìn)行相應的壓力測試,用于評估性能,作為上線(xiàn)的參考。
如下圖,CPU已經(jīng)調整為4核:

壓力測試情況如下:
從web查看到的呼叫統計如下圖:

表明可以支持1000并發(fā)。
整體并發(fā)要2000通道算,共計160M多。下圖的帶寬和計算相符,并且入和出是相同的,表示正常:

從下圖可以看到CPU和內存均正常。

Eyebeam客戶(hù)端的抓包分析,沒(méi)有丟包和延遲,語(yǔ)音正常,如下圖:

五、測試結論
由于毅航互聯(lián) vSBC-5000采用內核包轉發(fā)模式,在4核/8核的KVM/QEUM虛擬機中,可以很好的支持1000并發(fā)。