As it can take up to six minutes to get a location fix, it goes by the tower first.
However, in many parts of the USA you still might get connected to the State Highway Patrol instead of a local E911 center. They will ask where you are and direct your call appropriately.
There have also been cases where the tower was in one jurisdiction, but the emergency was in another, and that caused deaths because of delays figuring out location and the correct response agency.
So Mobile E911 RULE #1: always state your location first. And your cell number. They might not have either and if your call gets dropped, they might not know how to call you back.
In addition:
- A phone doesn't have to be currently activated to make E911 calls.
- The phone is allowed to use any compatible carrier, whether you have an account with them or not.
Using GPS would be very complicated (and in some cases impossible), as there would need to be some way for the 911 agent (or other emergency service around the world) to communicate with your phone, tell it to find its location using GPS and then report that back to the agent on the phone.
Interestingly, with CDMA carriers like Verizon, that's what happens automatically: the network asks the phone to use its A-GPS and give back either raw data or its position. This is done over an internal network control channel, and does not use the internet like most A-GPS implementations.
GSM carriers locate the phone using towers alone, which is not as accurate.