Following figure describes the basic network topology:
We use two PCs to establish our test environment: PC1 and PC2.
PC1 is used to run miniSipServer, and PC2 is used to run SIP simulators. They are in the same network.
Both PC1 and PC2 are very simple and common PCs. Please refer to following table for details of their configurations:
Items | PC1 | PC2 |
---|---|---|
CPU | AMD Sempron(tm) 2200+ (1.5G HZ) | Intel Core Duo T2300 (1.66G HZ) |
Memory | 768M | 1G |
OS | Microsoft Windows XP Home Edition SP3 | Microsoft Windows XP Home Edition SP3 |
IP address | 192.168.1.100 | 192.168.1.103 |
In the PC1, we deploy miniSipServer V2.9 (build20100617) which can be download from our website.
In the PC2, we deploy two SIPPs. One is used to initiate SIP calls to miniSipServer, another is used to receive SIP calls from miniSipServer. SIPP is a free open source SIP test tool/traffic generator for the SIP protocol. We can download it from its website.
Following figure describes the basic elements in our test scenario:
We start two SIPPs. SIPP1 is the caller party to make calls to miniSipServer. miniSipServer receives the calls and route them to final SIPP2. In this test scenario, we only test SIP performance, not inlcude media streams. By default, the media stream will be end-to-end mode, that means it is unnecessary for miniSipServer to process media stream.
After establish connection, SIPP1 will release the calls. Following figure describes the basic call flow:
In our test process, we will test all miniSipServer versions, such as 20 clients, 50 clients,and so on. So it will be different for SIPP1 to make SIP traffic. For SIPP2, it is always the same script to start up to receive SIP calls.
The script to start up SIPP2: sipp 192.168.1.100:5060 -sn uas -p 5060
The scripts to start up SIPP1 for different versions are listed in blow table:
miniSIPServer version | SIPP1 script |
---|---|
20 clients | sipp 192.168.1.100:5060 -sn uac -p 5061 -r 3 -rp 1000 -m 30000 |
50 clients | sipp 192.168.1.100:5060 -sn uac -p 5061 -r 8 -rp 1000 -m 80000 |
100 clients | sipp 192.168.1.100:5060 -sn uac -p 5061 -r 15 -rp 1000 -m 200000 |
1000 clients | sipp 192.168.1.100:5060 -sn uac -p 5061 -r 85 -rp 1000 -m 500000 |
To make miniSipServer receives/sends SIP calls from/to SIPPs, we need configure following informations in miniSIPServer: "SIP trunk" and "analyze called number".
In "SIP trunk" configuraiton, we need add both SIPPs as peer servers, then miniSIPServer will treat the SIP messages from these SIPPs as valid.
Following figure describes the configurations of SIP trunks. Please click menu "data -> SIP trunk" to do that.
In the called number analysis table, we need make miniSipServer can route the call to SIPP2. The called number prefix from SIPP1 is "service", so we need configure the called number analysis item as following. Please click menu "dial plan -> analyze called number" to do that.
Based on above scenario and hardwares, we retrieve following performance result for miniSipServer:
Items | 20 clients | 50 clients | 100 clients | 1000 clients |
---|---|---|---|---|
Memory (MBytes) | 35 | 57 | 60 | 200 |
CPU (%) | 2% | 2% | 5% | 90% |
Call rate (Call per second) | 3 | 8 | 15 | 84 |
Successful call | 30000 | 80000 | 200000 | 500000 |
Failed call | 0 | 0 | 0 | 0 |