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@example.com!".
When I declared a wildcard in the ENUM DNS (ie: *.enum1.net IN NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:+33987654321@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.
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