DHCP works very well in residential VoIP. The phone may have a NATedaddress, but as long as the home router passes the location option, the query to the provider will have the right thing to get the DHCP system to return the location of the residence. If you don't like DHCP, use HELD, but you still have some remnants of the VPN problem. Don't confuse DHCP for LISdiscovery with DHCP for location configuration. Both work, but DHCP discovery of a HELD server works.
I concur.If you have a router which does not pass on DHCP Option 99, you can always initiate a PPPoE tunnel from your ATA and do a DHCP Option 99 fetching through it.
There is nothing wrong with having multiple PPPoE sessions from your home to your ISP, and one dedicated to VoIP.
Furthermore, this will be an excellent mean to use PPPoE to prioritize the username/password for a VoIP PPPoE session over the username/ password for Internet access, for two sessions coming from the same home.
The ATAs we use here can be patched to support DHCP Option 99 fetching through a PPPoE session. All you need is to put a little Ethernet switch between your DSL modem / Cable Modem and your ATA and to allow for the possibility that both your ATA as well as your Router will launch a PPPoE tunnel to your ISP.
I'll send you a sticker you can can put on your router here... plug here and die - this box does not pass on location.
This architecture has the added bonus of accelerating the transition to IPv6.
For those concerned with that, our wholesale cable modem incumbent cable operator, permits up to 3 public IPs behind a single cable modem, and I use a switch behind my CM to assign a separate public IP for my VoIP PBX SIPtrunk client, from the public IP address of my router, which currently is too dumb to relay DHCP Option 99.
So all I need is to have the DHCP server programmed to send a PIDF-LO. And for my SIP client to support SIP LOCATION CONVEYANCE. And for it not to never send a BYE if I dial 9-1-1, even if I hang-up. F.