Sip Registration Issues

Here is my issue. I would like for my endpoints … my phones to actually perform DNS resolution each time they register. I have it set to register every 3 minutes. Here is a scenario to better explain my self.

  1. Phone boots up fresh. The registration process takes place, the Sip Server is a URL which DNS resolution is performed and the phone registers.
  2. 3 minutes later the phone needs to register again, it sees that it already has an IP address in memory from the last time it had performed the DNS resolution and that IP address is still alive so it does not perform a DNS resolution.

This is where I want it to perform the DNS resolution every time no matter if it has an IP address currently that it sees is alive or not.

Questions:

  1. Is this handled at the asterisk level or the phone level. I would have to assume the phone level.
  2. Is there a standard practice to make this type of functionality occur that I am not familiar with??

Any ideas or direction would be greatly appreciated.

Any ideas anyone?

DNS entities have a TTL value. I would bet the phone will recheck the DNS at this interval. Standards range from 1-3 hours.

Anything in the phones logs?

Hi!

Why?

If I am understanding your problem correctly your PBX IP is dynamic and changes extremely frequently and you want your phone to pickup the most current IP…

If it changes so frequently then you must continually lose connection between your phones and your PBX so it’s a definitely less than optimal situation…

What you are asking I doubt is doable by the way, you can only approximate it (more or this later)…

Assuming I understood you right, definitely phone level… It’s the phone which asks the current IP associated with an hostname to its local DNS…

That depends on what you mean by standard practice… As @kolpinkb said if you want the IP associated to a hostname to be resolved more frequently you lower its TTL (Time-To-Live), that’s standard practice for DNS…

As to whether there is a standard practice for VoIP as to what you should when you are in the situation that would require you to do that, I do not know…

For me standard practice would be to put the PBX on a static (Internet) IP…

(On the local network it is, most likely, already static…)

Some things to keep in mind if you want to lower the TTL…

  • Don’t put it too low as this augments the load on DNS server (or make sure your servers can handle it).
  • Not all DNS servers/proxies respect those TTLs, don’t be surprised if they are not always respected…
  • If you are using your own domain name (and not one specifically intended for dynamic DNS entries), only lower the TTL on the PBX record, not on all records… You don’t want the low TTL you put on your PBX to be the same one you use for your MTA (mail server), web site, etc… as that could make your main disappear from the Internet in a matter of minute solely because of a DNS problem… Higher TTLs make you visible from the DNS that still have your entries in their cache while the DNS problem is fixed…

(At least, normally… If you do then maybe you should consider to host those things on a VPS or something similar and not on the network whose IP changes so frequently…)

Good luck and have a nice day!

Nick