[asterisk-users] better enumlookup handler

Brian J. Murrell brian at interlinx.bc.ca
Wed May 7 15:56:45 CDT 2008


On Wed, 2008-05-07 at 13:40 -0700, John Todd wrote:
> 
> 1) The ENUMLOOKUP function is currently being "fixed" for TRUNK. 

Ahhh.  Sweet.  I wonder how difficult a backport will be.

> Take a look at http://bugs.digium.com/view.php?id=8089 for the 
> current status.  Testing would be appreciated.

Will do.  I'm afraid I don't have any way to test TRUNK however.  I only
have my production system and taking the phone offline just does not fly
here.  :-(

> 2) I will generate a dialplan subroutine that will hand back an array 
> of SIP URIs for a given number, and I'll post it here and on the 
> voip-info.org wiki - that's pretty easy.

Cool.  But one need not be limited to SIP of course.  IAX2, and even
others depending on what one might want to allow their users to do.
i.e. a mailto could even be used to send a mail with a voice attachment.

> I agree that one query 
> should result in a static and ordered set of URIs for that particular 
> attempt cycle.

Great.

> 3) Your last comment about "keeping state" is difficult to square 
> with the intent of NAPTR lookups.  The point is to have dynamic NAPTR 
> replies in case the distant system wishes to change the inbound 
> behavior towards their systems, so caching that data is almost always 
> a Bad Idea for more than a few seconds.

Ahhh.  Yes.  I failed to explain that part correctly.  I only meant
caching the data long enough to iterate through a list of ENUMLOOKUP()s
as a single "transaction".  Clearly returning an array makes more sense.
I was just trying to make a suggestion that would appease a desire to
not disturb the API of ENUMLOOKUP().

> Creating an array of results 
> and then having that variable follow the caller through a very short 
> timeframe of cascading attempts makes sense to avoid re-ordering 
> confusion, but I would say that a completely new lookup to the DNS 
> should happen after the interval described by the last-attempted set 
> of responses.  In other words, if we get back three SIP URIs from the 
> NAPTR lookup, then try each in turn until they all fail.

Agreed.

> Each 
> failure (depending on how your SIP timers are set) may take 20 
> seconds.  Therefore, for that particular user session, don't do 
> another DNS query for 60 seconds, which is how long it takes all 
> three current URIs time out.

Right.  I still like an array of all URIs returned from one lookup
better though.

> 4) SRV records are an entirely different story, and unrelated to 
> NAPTR queries, even though it seems they are very similar.

Yeah, I think the spirit was there in suggesting SRV records, but the
technicalities of this use case make it impossible to use SRV records.

> 5) AGI scripts for DNS lookups: This makes me feel like I need a shower.

Agreed.  But it's the shortest distance between point A and B for a
price.  In my installation I'm willing to pay it.  Other installations
might not.

b.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.digium.com/pipermail/asterisk-users/attachments/20080507/33d30ecf/attachment.pgp 


More information about the asterisk-users mailing list