[Kamailio-Users] Does enum_query support wildcard and non-terminal NAPTR record ?

Klaus Darilion klaus.mailinglists at pernau.at
Fri Nov 28 12:49:26 CET 2008



jerome boileau schrieb:
> Hi,
> 
> I'm testing an ENUM DNS server (BIND9) with Openser 1.2.0. It seems that
> Openser Enum module doesn't support wildcard and non terminal NAPTR record. 
> 
> Enum module is working well when the NAPTR record is defined in the ENUM DNS
> with complete phone number and ‘u’ flag. Here is an example of the NAPTR
> record:
> 1.2.3.4.5.6.7.8.9.3.3.enum1.net   IN  NAPTR 10 100 "u" "E2U+sip"
> "!^.*$!sip:+33987654321 at example.com!".
> 
> When I declared a wildcard in the ENUM DNS (ie: *.enum1.net  IN  NAPTR 10
> 100 "u" "E2U+sip" "!^.*$!sip:+33987654321 at example.com!".), enum_query
> function didn't find the NAPTR record. 
> The following message is returned in the log, enum_query(): No NAPTR record
> found for 1.2.3.4.5.6.7.8.9.3.3.enum1.net.

Openser is not able to differ between wildcard and normal records. The 
wildcard handling is done in the DNS server. So, there can not be a 
problem with openser, but with your zone file.

e.g. this should work:
======================
*.enum1.net   IN  NAPTR 10 100 "u" "E2U+sip"
Here 1.2.3.4.5.6.7.8.9.3.3.enum1.net  should return the wildcard NAPTR

e.g this does not work:
=======================
*.enum1.net   IN  NAPTR 10 100 "u" "E2U+sip"
1.2.3.enum1.net   IN  NAPTR 10 100 "u" "E2U+sip"
Here 4.enum1.net  should return the wildcard NAPTR,
but 1.2.3.4.5.6.7.8.9.3.3.enum1.net  will return NXDOMAIN as wildcard 
works only if there are not other records below the lable.


regardind non-terminal NAPTR. AFAIK they are not supported. IMO they are 
impossible to understand and implement correctly :-)

regards
Klaus
> 
> Should resolver (ie resolve.c source file) or enum module be modified to
> handle wildcard or is it just a parameter to set ?
> 
> In case of wildcard CNAME record instead of NAPTR, openser behave in the
> same way, the CNAME record was not found.  
> 
> I also tried to use a non-terminal NAPTR to forward the ENUM DNS query
> towards another domain. Here is the NAPTR record declared in the ENUM DNS:
> 1.2.3.4.5.6.7.8.9.3.3.enum1.net   IN  NAPTR 10 100 "" ""
> "!^.*([0-9]{11})$!\\1.enum2.net!".
> 
> By using sip_match function, the enum_query (ie do_query) function discards
> the NAPTR record without ‘u’ flag. 
> I removed the check on the flag (comment sip_match function) so the NAPTR
> record is not discarded. 
> But instead of looking for the terminal NATR record, enum_query function
> overwrites the Request URI with the non-terminal NAPTR record.
> 
> Is the handling of non terminal NAPTR fixed in a new version of enum module
> ? If not, is it planned ?
> 
> Thanks in advance for your help.
> 
> Best regards,
> 
> Jérôme 




More information about the Users mailing list