Project DiaStar™- Developer Resources

From ProjectDiaStar

Jump to: navigation, search

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.

Personal tools