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
$ python run.py mod_sipp.py scripts-sipp/uac-bad-ack.xml