On Thu, Oct 30, 2014 at 6:36 PM, Corey Farrell <[email protected]> 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

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to