It ain't easy I will tell you that.
I wish I had read this article from GPS World when I got started down this path [Wireless Choices for LBS, by Arnold Gun and Kirk Burroughs from Qualcomm [PDF] add to this some papers from the Qualcomm site and the whole thing will get into perspective and start to make sense:
- E911 drove the whole process
- First need: someone calls, we need to know where he/she is.
- You need to keep both data and voice channels open.
- Architecture designed to fit need in #2: the sequence starts at the phone provider level, from the control plane.
- Enter LBS, Location-Based Services. "Ok, we implement E911, what do we get?"
- Ok, deal. User starts the sequence asking for his/her location, no voice channel can be used, only data. There you get the user plane.
Some crunching is done at this server with triangulation from cell towers and who knows what. After that is repeated a good number of times, the MS gets a "fix". If you care about this, check some previous posts on the subject. A lot of details involved to make the whole picture.
Unless you have access to a Location Server from your phone provider on your cell, you won't have location information available. Period. Except on Motorola iDen phones which in some cases might make use of the backend SirfLoc servers if they are available but that won't preclude the phones to obtain a real fix because they actually include a full GPS receiver. And in this case Nextel is keeping the backend servers (and the API) open for access.