Andy weighs in on the 911 / VoIP issue, noting that it's still not solved. He proffers two solutions:
GPS chips in the routers – I know this is very 1984ish, but there would be very little question where the call came from (unless someone is using a VPN)
1-Area Code + 911–> This requires some smarts on the part of the caller but it would automatically route the call to a PSAP (Public Service Access Point) close to the location.
Unfortunately, neither are good solutions. In order to benefit from a GPS chip planted in a router, it would need to have a clear line of sight to the sky. I would imagine that most people keep their routers indoors. And for area code + 911, there would still need to be a mechanism implemented that would allow precise location of the caller.
No, the best answer is in the telephone companies and cable companies databases already. They already know the subscriber billing address, and the CO where the DSL modem is attached, or the location of the DSLAM. Appropriate standards would force the physical address of the asset to be disclosed as opposed to the logical address (phone number, IP, etc).
It wouldn't be hard to conclude that the reason e911 doesn't work is because it's a convenient and politically popular argument against VoIP, rather than any technical issue.