Some people buy the Intel CPU (Atom 230) to build an asterisk server. I did a simple test for codec transcoding. The purpose of test case is only for reference when you build a Atom CPU based asterisk server,
maybe the test environment is not really completed due to some limitations such as test tools, bandwidth of LAN, Network card, version of g729 and the duration of timing, but I try to give you a picture for asterisk server with transcoding. In this paper, I will cover installation of G729, testing tools, result of testing and some screens. Note: please download the PDF file for more details.
1) Installation of Open Source G729
Before installing g729 codec, make sure the asterisk server can run properly,
then go to the official website to get the binary files and copy those two files into the default path.
2) Set testing tools
Here, three tools are used: Sipp, tpcdump and wireshark. Please go to those official websites to get those tools.
You must use tcpdump or wireshark to get a G729 code pcap file.
The easy way to get G729 file is that, using Xlite-Pro version to call other SIP phone and record down the file with G729 codec by this:
tcpdump -T rtp -vvv dst 192.168.2.108 -w g729.pcap
This should capture the RTP stream from asterisk server and save it as g729.pcap file.
You must make sure the Xlite-pro solely use G729 codec.
You also can use Wireshark to capture G729 codec and save as G729.pcap. Capturing the G729 RTP stream by Wireshark filter:
(ip.dst == 192.168.2.10 && (rtp.p_type == 1
this will filter the G729 codec from 192.168.2.108. Once you get the G729 codec file, you put the file under pacp folder under Sipp:
After that, you have to edit the uac_pcap.xml to make sure Sipp will play with RTP stream.
Once the Sipp side is done, you have to add a sip account in asterisk server 1.
The sip is named sipp. Please add an account in asterisk sip.conf.
And you add other sip (for example 1000) account with codec allow=ulaw or alaw only. SIP 1000 will forward the sip call from Spp to asterisk 2, in asterisk 2, some sound files will be played for certain periods.
In this scenario, transcoding will be done from G729 to G711. If you do not set it properly, asterisk server will report codec compatibility error. The Sipp test can not be made, please double check that. Until this step, you can execute the Sipp command to test:
sipp sf uac_pcap.xml s 2005 192.168.2.108 r 20 rp 10000
sipp will call uac_pcap.xml file first, and go to asterisk dialplan, the context internal will be called with asterisk server 1. It will generate 20 calls in 10 seconds. You can test it with different time variables. You also can press =-*/ to increase the calls or decrease calls. You can monitor the calls during call connection time by running sip show channels under asterisk console,
3) Result of Testing
The results are summarized to give users some statistical data. The scenarios are:
The scenario one:
Sipp(g711)->asterisk-1 with Atom CPU (g711)->asterisk-2(g711)
The scenario two:
Sipp(g729)->asterisk-1 with Atom CPU (g729->g711)->asterisk-2(g711)