(I think this is tough in the general VoIP case because the Internet itself supports anonymity and location transparency—which in my opinion are usually good things that are not primarily used to murder people. Even if VoIP operators verify some kind of information about subscribers' identities before allowing them to establish service, it's not completely clear what they should ideally report to 911 services in all cases because they'll presumably never be certain of the end-user's identity and location at a particular moment. And for other purposes, users of the phone network might want to reduce how much the phone companies know about their whereabouts.)
Yeah, I didn't say the information didn't exist, I'm saying the phone company makes it basically impossible to get, and certainly the most difficult for home customers.
because the Internet itself supports anonymity and location transparency
I don't care. If you're calling me, I should be able to find out who's paying for the call, and the phone company knows this info. Sure, there's still an "over 9000 proxies" bug, but that's not the problem. The problem is robocallers and telemarketers, and I should be able to configure my line to block every call that originates from any portion of that billing entity. Heck, when I describe it that way it could be blockchain'd!
Easily spoofed, and the phone company will laugh in your face if you ask them for the billing address of the person who called you at 10:37pm on Nov 12, 2018.