Project DiaStar™- Developer Resources
From ProjectDiaStar
Contents |
Introduction
The links below lead to developer-level documentation on the DiaStar™ server and client software.
Source Code
Code is checked out from the Subversion repository via anonymous read-only access. For example to check out the latest code from the Subversion repository use the following command:
$ svn checkout svn://svn.projectdiastar.org/diastar/trunk diastar
You may also browse the repository.
Developer Documentation
The Doxygen code documentation is the main developer documentation for DiaStar.
Using SIPp for DiaStar Testing
Non-interactive and load testing of any SIP-based system can be easily done using the SIPp utility. There is a small collection of scripts tailored for DiaStar testing in SVN:
svn://svn.projectdiastar.org/tools/trunk/test_utilities/sipp
Important Note: As of this writing (17-apr-2010) SIPp 3.0 is needed to run these scripts. 3.1 truncates UDP port numbers, causing calls to fail.
Also note that the make option "pcapplay" must be given when building SIPp:
# make pcapplay
Video Conference Testing
-
conference_uac.sh -
conference_uac.xml - Various combinations of audio/video .pcap files to simulate a conference participant
Edit conference_uac.sh (UAC = User Agent Client) to adjust the following parameters as needed:
- REMOTE_SIP_ADDR - IP address of DiaStar system
- REMOTE_SIP_PORT - UDP port listening for incoming SIP calls on DiaStar system (ususally 5060)
- LOCAL_IP - IP address used by SIPp
- LOCAL_SIP_PORT - UDP port used by SIPp
- CALL_HOLD_TIME_MS - Delay in milliseconds when a pause is found in XML script
- SCENARIO_FILE - XML scenario file
- MEDIA_PORT - UDP port used by SIPp for RTP audio. Video is MEDIA_PORT+2
- MEDIA_IP_ADDRESS - IP address used by SIPp for RTP audio and video
- SERVICE_NAME - SIP user name (Dialplan extension)
- TOTAL_NUM_CALLS - total number of outbound calls for session
- CALL_RATE - call rate, calculated as CALL_RATE/RATE_PERIOD
- RATE_PERIOD - rate period, in milliseconds, used with CALL_RATE
Most likely adjustments will be IP addresses and SIP ports. TOTAL_NUM_CALLS, CALL_RATE, and RATE_PERIOD are set to do a single call, but can be reset to produce multiple calls at the desired frequency.
conference_uac.xml should be fine as is for interacting with DiaStar. The likely change would be to the tags play_pcap_audio and play_pcap_video to set them to a different pcap media file.
To use the SIPp conference UAC, download the media and dialplan for "animalconference" from:
svn://svn.projectdiastar.org/tools/trunk/demos/media/en_US/mpv3-es/CIF/animalconference svn://svn.projectdiastar.org/tools/trunk/demos/media/vox/animalconference svn://svn.projectdiastar.org/tools/trunk/demos/asterisk_dialplans/animalconference
With Diastar running and and connected to an Asterisk installation using the conference demo dialplan, start a conference with a SIP video phone. Then execute conference_uac.sh:
> ./conference_uac.sh
Inbound calls will be placed into conference #1 and the new caller(s) will be seen on the SIP video phone.
Wireshark and Woomera
A dissector (protocol analysis module) for the open source protocol analyzer Wireshark has been written. Instructions for its use can be found here
Additional Information
Be sure to consult the Developer Resources Section of the main DiaStar™ website for developer-related tools and additional documentation.
