Meta-repository to test interop between latest versions of opensips, kamailio, sippy b2bua and rtpproxy
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
install_depends
lib
test_cases
.gitignore
.travis.yml
LICENSE
README.md
a_test1.py
alice.py
b_test1.py
bob.py
functions
kamailio.cfg.in
opensips.cfg.in
rtpproxy.b2bua.output
rtpproxy.common.output.in
rtpproxy.go-b2bua.output
rtpproxy.kamailio.output.in
rtpproxy.opensips.output.in
rtpproxy.stats.input
test_run.sh

README.md

Build Status

VoIP Intergated Tests Suite

Description

This is a "meta-repository" to test interoperability of several popular open-source VoIP components and their ability to handle basic SIP call scenarios, both individually and working as a simple VoIP switching system.

The basic test setup looks like the following:

Alt text

In the course of the test, first UA, which we call "Alice", initiates number of distinct SIP sessions to SSuT, which is configured to forward those sessions to the second UA ("Bob") and pin the media to the RTPProxy. The Bob either answers or rejects the specific session (depending on scenario id passed in the user section of the RURI) and Alice verifies that the particular scenario has completed in the expected way.

Both Alice and Bob also check that the SSuT rewrites the SDP correctly in all relevant INVITEs, 183s, 200s and ACKs, replacing original random media IP/port with the IP/port of the RTPProxy, which signifies proper execution of the RTPProxy Control Protocol (RTPPC) between the particular SSuT and the RTPProxy.

Also, upon test completion some basic statistics is pulled from the RTPProxy to verify that the number of RTPPC requests/replies matches pre-determined value specific for that SSuT and that there were no errors detected in the protocol exchange or generated by the RTPProxy internal checkups.

TODO

  • Add more SSuTs (e.g. Asterisk)

  • Add more scenarios (e.g. SIP over IPv6, packet loss)

  • Test actual media end-to-end via the RTPProxy / SSuT

  • You name it :)