[asterisk-users] No retry after DNS failure
John Marvin
jm-asterisk at themarvins.org
Tue Aug 22 00:32:50 MST 2006
James Harper wrote:
> Are you sure that it was Asterisk? Did you try an nslookup after the
> network came up while Asterisk wasn't working? How long did you leave it
> before taking matters into your own hands?
Fairly sure. I didn't realize there was a problem until about 6 hours
after the power outage. Local calls go out via the PSTN, so I didn't
notice the problem until I tried to make a long distance call. It took a
few minutes to diagnose the problem. It was when I did a "sip show
peers" and noticed it was missing my outbound voip providers that I
realized there was a problem. A "sip reload" immediately brought them back.
>
> DNS will do negative caching as well as positive. If sip.sometel.com
> failed to resolve (because it doesn't exist or because your network
> wasn't up), your caching dns server or resolver or both may remember
> this as a 'negative cache' entry, so that it remembers that it doesn't
> exist.
>
I'm fairly sure there is a different error response between "name
doesn't exist" as opposed to a failure to connect to an authoratative
name server in the chain. For example if the name servers responsible
for .com said that sometel.com didn't exist, or the nameservers for
sometel.com said that sip.sometel.com didn't exist then that should be
negatively cached. But if the name servers for .com said that the IP
address for the name servers for sometel.com are xx.xx.xx.xx and then
your dns server can't connect to xx.xx.xx.xx then a different error
response is returned, and I don't believe that is or should be
negatively cached.
> If your asterisk server is responsible for the network connection, then
> the ifup/pon script should take care of flushing the dns cache for you
> for exactly this reason.
>
> If you have another server or router that is responsible for the
> connection then the server running asterisk will have no idea that its
> negative cache is no longer valid.
Well, you may have hit upon a reason why others may not see this
problem. The asterisk server is not responsible for the connection, an
external DSL modem/router is responsible. However, I run a local DNS
server, so it is available to Asterisk. Perhaps Asterisk is more robust
when it can't contact the DNS server, as opposed to it being able to
contact the DNS server and the DNS server responds with an error.
Perhaps Asterisk doesn't differentiate how it behaves depending on the
type of error.
John
More information about the asterisk-users
mailing list