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

Re: [reSIProcate] RFC 3263, reSIProcate vs sipX


The 3263 implementation inside the Dns classes is quite strong - there are several of us that have been making sure it's a correct and complete implementation of the specs and there is some work that anticipates addressing the blacklisting problems described in the sip- nit-future draft (that's expired, but should be resurrected soon - you can find the most recent copy at softarmor).

As Byron points, start at DnsResult and look at what it relies on. You've probably already picked up that it uses ares, and the copy of ares we have here has significant local modification.

RjS

On Nov 28, 2006, at 11:09 AM, Byron Campen wrote:

I have recently done some work on the resip DNS code to get it up to snuff. testDns is much, much bigger now, but it needs a test DNS zone-file to be set up in a very particular way for it to work. I want to try to have this done sometime this week.

As for isolating the DNS code, you will need to pull a lot of rutil with it. Also, you'll need resip/stack/DnsResult.[hc]xx (where all the 3263 logic is) and resip/stack/DnsInterface.[hc]xx to make it all go. I know for sure this drags resip/stack/Tuple.[hc] xx in as well, and possibly other stuff.

Best regards,
Byron Campen

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
_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel

_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel