D-Modem/pjproject-2.11.1/tests/pjsua
2021-10-29 14:41:03 -04:00
..
scripts-call initial commit 2021-10-29 14:41:03 -04:00
scripts-media-playrec initial commit 2021-10-29 14:41:03 -04:00
scripts-pesq initial commit 2021-10-29 14:41:03 -04:00
scripts-pres initial commit 2021-10-29 14:41:03 -04:00
scripts-recvfrom initial commit 2021-10-29 14:41:03 -04:00
scripts-run initial commit 2021-10-29 14:41:03 -04:00
scripts-sendto initial commit 2021-10-29 14:41:03 -04:00
scripts-sipp initial commit 2021-10-29 14:41:03 -04:00
tools initial commit 2021-10-29 14:41:03 -04:00
wavs initial commit 2021-10-29 14:41:03 -04:00
config_site.py initial commit 2021-10-29 14:41:03 -04:00
inc_cfg.py initial commit 2021-10-29 14:41:03 -04:00
inc_const.py initial commit 2021-10-29 14:41:03 -04:00
inc_sdp.py initial commit 2021-10-29 14:41:03 -04:00
inc_sip.py initial commit 2021-10-29 14:41:03 -04:00
mod_call.py initial commit 2021-10-29 14:41:03 -04:00
mod_media_playrec.py initial commit 2021-10-29 14:41:03 -04:00
mod_pesq.py initial commit 2021-10-29 14:41:03 -04:00
mod_pres.py initial commit 2021-10-29 14:41:03 -04:00
mod_recvfrom.py initial commit 2021-10-29 14:41:03 -04:00
mod_run.py initial commit 2021-10-29 14:41:03 -04:00
mod_sendto.py initial commit 2021-10-29 14:41:03 -04:00
mod_sipp.py initial commit 2021-10-29 14:41:03 -04:00
README.TXT initial commit 2021-10-29 14:41:03 -04:00
run.py initial commit 2021-10-29 14:41:03 -04:00
runall.py initial commit 2021-10-29 14:41:03 -04:00

                           PJSUA TEST FRAMEWORK
                        =========================

0. What is this
---------------
This is the automated testing scripts for pjsua. It can do many things (just 
don't ask it to write good documentation :) ).


1. Requirements
---------------
To run the tests you need:
 - Python (tested with Python 2.5.2)
 - pjsua application, built and placed in pjsip-apps/bin directory
 - the pjsua must be built with:
     - SRTP enabled (the default)


2. Using
--------
To run all the tests:
  $ python [OPTIONS] runall.py

To run individual test:
  $ python [OPTIONS] run.py MODULE CONFIG

Where options:
  -e EXE	use EXE as pjsua executable
  -n		use null audio
  -r TEST	(for runall.py only) resume test at TEST

  
For each individual tests, the run.py is the main entry for the test. It 
imports the various inc_xxx.py files, and it will load the MODULE. The MODULE 
contains specific test flows, and we have few of them:

  - mod_run.py: 
  	a simple test which just run pjsua with the configuration from CONFIG 
	file and checks if pjsua can start properly.

  - mod_call.py: 
  	call testing where it spawns two pjsua instances each with configura-
	tions as specified in CONFIG file, makes one pjsua call the other, and 
	checks if the call can be established.

  - mod_pres.py:
  	presence testing

  - mod_sendto.py:
  	Simple UAC to send arbitrary SIP message to pjsua. Good to test
	various incoming INVITE scenarios

  - mod_media_playrec.py:
  	Mainly for resampling quality testing

  - mod_pesq.py
  	Measure call quality of various call settings with PESQ, for people 
	who have PESQ tool and license

Example:
  $ python run.py mod_run.py scripts-run/100_simple.py
  $ python run.py mod_call.py scripts-call/100_simple.py