< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

Re: [reSIProcate] RFC 3263, reSIProcate vs sipX


Hi,

I posted this right before the holiday last week, no doubt it got lost in a
haze of turkey and football.  Since then I figured out my compile problem.
I was missing gperf.  I installed that, along with a new openssl and
Berkeley db, and things generally ran fine.

My other questions remain, and I'm still curious what people here think
about sipX vs resiprocate.  There is a resip/stack/test/testDns program that
appears to do exactly what I need, so my goal now is to identify the
supporting classes it needs and extract them from the rest of the stack.
Aside from just getting it to compile, any advice on what to leave in or out
will help too.

Regards,
Dave

---------Original message--------------
Hi all,

I've got a question about the SIP stack code.  This seemed like the right
list, my apologies if it should go to the user list.

I have a working SIP stack that does not support 3263 SRV and NAPTR lookups.
It only does a basic gethostbyname from DNS.  My mission is to add 3263
support, so I checked the most popular open source SIP stacks looking for a
DNS access class that I could pick up and drop into my stack.  The big ones
appear to be reSIProcate and sipX.  They both look good but have very
different designs, so I thought I'd check here for some help in picking one.

sipX has a class called SipSrvLookup that, at first glance, appears to do
exactly what I need.  On the other hand, reSIProcate looks like it has lot
more going on, so I wonder what functionality it must have that the other
does not.  I had more trouble figuring out where to start with this one, so
I have some questions that maybe yall can help with here:

- First, any general things to keep in mind in choosing between the two will
help.  I think I saw a FAQ on this somewhere, which led me to believe
reSIProcate has a lot more features, but I'm not sure particularly how that
applies to my case.  One thing I noticed is that reSIProcate has a lot more
abstraction around the DNS layer.  Does this buy you much?

- I need to call some method that will do "find me a SIP server using RFC
3263 methods if possible, otherwise gethostbyname."  In sipX this method
looks like SipSrvLookup::servers.  In reSIProcate, is it
DnsInterface::lookup?  That method returns a DnsResult object, which I guess
contains a list of servers that you search using its lookup method.
Hopefully I don't need to change my application code much.

- Once I identify the method I need to call, I need to pick out the
supporting classes that it needs.  I don't need the whole stack, just the
3263 part of it.  I guess this will be parts of resip/stack and rutil/dns?
Any help with this will simplify things a lot.

 <deleted stuff about compile problem>

Thanks for your help!

Dave