毅航互聯vSBC-5000 linux虛擬機測試
更新時間:2021-09-03

一、簡介

毅航互聯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并發。

返回
互联彩票