[asterisk-dev] Fwd: [asterisk-commits] mjordan: testsuite/asterisk/trunk r5811 - in /asterisk/trunk/tests/fax/pjsip:...

Matthew Jordan mjordan at digium.com
Thu Oct 30 19:41:25 CDT 2014


On Thu, Oct 30, 2014 at 6:36 PM, Corey Farrell <git at cfware.com> wrote:
> I'm confused about how this can be?  Unless I'm missing something a
> module dependency doesn't effect how the test runs, just if it runs.
> If chan_sip is not required then shouldn't we remove sip.conf from
> each of these tests config dirs?
>

So!

When we first started adding PJSIP tests, we discovered that the
sample sip.conf file - which is generally installed on build agents
and is used unless an explicit sip.conf is put into a test -
automatically binds chan_sip to port 5060. Needless to say, this plays
havoc with PJSIP tests, as both the res_pjsip stack and chan_sip war
with each other trying to bind to the address.

The solution was to use the module dependencies to see which channel
driver should be used for a test. The asterisk module (asterisk.py)
looks for a text file (conflicts.txt, stored in configs/) to determine
which modules conflict with each other. If a test depends on one of
those modules, then it noloads the others in that test's modules.conf.
See _get_module_conflicts in asterisk.py for what all it does.

Since the tests depended on both 'chan_sip' and the PJSIP modules,
hilarity ensued. Since 'chan_sip' was listed first, it noloaded away
the PJSIP related modules, and hence no channel could be created for
the tests.

>From a 'SIP stack' perspective, the fax tests for PJSIP should only
depend on the appropriate res_pjsip modules, and the SIP tests should
only depend on chan_sip.

-- 
Matthew Jordan
Digium, Inc. | Engineering Manager
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org



More information about the asterisk-dev mailing list