[asterisk-dev] Recommendations for using a SIP stack with Asterisk

Joshua Colp jcolp at digium.com
Tue Nov 13 06:29:41 CST 2012


Faidon Liambotis wrote:
> On 11/13/12 13:14, Saúl Ibarra Corretgé wrote:
>> I have some experience in this area and I can tell you we had to patch
>> PJSIP and there was no way around.
>
> If that's the case, then I'd say that PJSIP would be the wrong choice then.

So, the underlying SIP stacks being considered are all very generic at 
their core. For the most part you can muck around how you want. Where it 
gets into being specific is the higher level APIs that help you out and 
reduce code duplication. Take for example being a user agent. All of the 
stacks in question have a higher level API that provide this, but aren't 
generally designed to be extended. If you want to do stuff they never 
envisioned then you've got to modify things. There is no one size fits 
all, unless you scrap all of the higher level APIs and do it all 
yourself. Then you'd probably not have to change things (probably). 
Doing that is a ton of work though since you are essentially writing 
your own user agent layer and not just application logic.

>> Well, dependencies can be troublesome, look at libstrp. Upstream looks
>> abandoned and the version some distros package didn't contain all fixes
>> which were on CVS and some of them were pretty critical. Guess what,
>> PJSIP bundles it. And PortAudio. And more of them, see third_party/.
>
> Yikes! So, this embedding effect recurses into PJSIP, where it bundles
> all kinds of forked libraries within it? Where does that stop? This is
> no way to maintain a project, that's a maintainability and security
> nightmare.

For the purposes of Asterisk none of that would be used and I would 
expect stripped out.

-- 
Joshua Colp
Digium, Inc. | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at:  www.digium.com  & www.asterisk.org



More information about the asterisk-dev mailing list