Açık Kaynak

How to Elastix VoIP stress test

Mayıs 24, 2011 by admin in Açık Kaynak with 0 Comments

In this small HowTo you will learn how to setup a basic stress-test for your Elastix 1.6 environment. This method uses the hardware and software you want to test in a controlled environment. We discourage stress-testing production machines. As always, use this entirely at your own risk, Sunshine Networks can in no way be held responsible for any damaged caused by using this How-To. Here is a simple diagram of how our test was done. We installed Elastix 1.6 on the server with and this is the server we will be testing. On another server we installed CentOS 5 ( it happens to be another Elastix 1.6 server ) with IP which will act as the client making lots of calls to the server.
Our test setup :

Step 1 : The Server
After you have installed Elastix 1.6 on the server, we’ll need to make some small modifications. Login to the server as root using putty.exe or another SSH program. Then :
Edit /etc/asterisk/sip.conf and put the following at the absolute top :


Edit /etc/asterisk/extensions.conf and put the following at the absolute top :

exten => 3001,1,Answer()
exten => 3001,2,SetMusicOnHold(default)
exten => 3001,3,WaitMusicOnHold(20)
exten => 3001,4,Hangup()
Then reload asterisk :
# asterisk -rx “reload”
That’s all you need to do on the server side ! Easy eh ?
Step 2 : The Client
Login to your client using putty or another SSH client as root user. Then :
Install SIPP and start SIPP in client mode ( this is the what will be throwing SIP traffic at your server )
# yum install libpcap-devel openssl-devel ncurses-devel -y && yum groupinstall “Development Tools” -y
# wget http://sourceforge.net/projects/sipp/files/sipp/3.1/sipp.3.1.src.tar.gz/download
# tar zxvf sipp.3.1.src.tar.gz && cd sipp.svn && make pcapplay_ossl
That’s great ! You’ve compiled Sipp from source, and it’s ready to go.
Run SIPp with these options to tell it to be the client:

# ./sipp -sn uac_pcap -d 10000 -s 3001 -l 10 -mp 6000 -r 5 -t un -i

Options explained :

-d = Each Call Duration = 10000ms = 10 seconds
-s = We’re calling number 3001 on We created this number by adding the information in Step 1.
-l = Max Amount of simultaneous calls. In this case, we’re having 10 simultaneous calls
-mp = local echo port number.
-i = Sets the local IP address for ‘Contact:’,’Via:’, and ‘From:’ headers. This is needed to send RTP successfully.
-r = Call rate. We’re making 5 new calls per second to the server
-t un = We want it to be realistic and use 1 UDP socket per call , this is what -t un does
That’s all ! You should test using different settings, different codecs, codec translation on the server.

Tagged , , ,

Related Posts

Leave a reply

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Önceki yazıyı okuyun:
Ve Sonunda Bizim De Bir Kahramanımız Var! Süpercan

Türkiye’nin ilk kahramanı Süpercan, geçtiğimiz günlerde oyunu ile Türkiye’nin gündemine oturdu. TTÇocuk sponsorluğunda Sobee Stüdyoları tarafından geliştirilen Süpercan “Kahramanların Kahramanı”...