You have to be careful about the architecture of all this. In the original version of the code, it stepped through the operations mandated by RFC 3263. This led to the obvious results, such as, it wouldn't look for A records for the domain name if it found SRV records.
The problem with this strategy is that it requires several round-trips between the sipXtackLib routine and the DNS server, which takes a bit of time, even if the server is on the same host. The code was modified to make all possible queries in parallel. This results in a useless queries in almost all circumstances, but it makes the overall process faster, as all of the round-trips are done in parallel. Logging has another paradox. In principle, there's no reason to log a warning just because a certain class of DNS records is not found for a domain name, as it's a routine circumstance. But in practice, when one is tracing a failed call, one wants to know "Did it get the DNS records for this domain name?" Failed DNS lookups (or invalid domain names) are a common cause of failure, and the person diagnosing the problem has a hard time knowing if the DNS succeeded or failed (long after the fact) if a note isn't put into the log file when a DNS lookup turns up empty. Dale _______________________________________________ sipx-dev mailing list [email protected] List Archive: http://list.sipfoundry.org/archive/sipx-dev/
