A method of locating a cellular terminal comprising the steps of: detecting a handover event of the cellular terminal from a first network signal transmission region to a second network signal transmission region; determining whether the handover event exists in a database; if the handover event exists in the database extracting from the database a location of the handover event to determine a location of the cellular terminal; the method characterized in that: if the handover event does not exist in the database determining whether a reverse handover exists in the database; if the reverse handover event exists in the database extracting a location of the reverse handover event from the database to determine the location of the cellular terminal; if the reverse handover event does not exist in the database determining a location of the first network signal transmission region and the second network signal transmission region to determine the location of the cellular terminal; if the location of the first network signal transmission region and the second network signal transmission region is not in the database transmitting a request from the database to a network provider for location information corresponding to at least one of the identified regions. detecting a handover event of the cellular terminal from a first network signal transmission region to a second network signal transmission region; determining whether the handover event exists in a database; if the handover event exists in the database extracting from the database a location of the handover event to determine a location of the cellular terminal; the method characterized in that: if the handover event does not exist in the database determining whether a reverse handover exists in the database; if the reverse handover event exists in the database extracting a location of the reverse handover event from the database to determine the location of the cellular terminal; if the reverse handover event does not exist in the database determining a location of the first network signal transmission region and the second network signal transmission region to determine the location of the cellular terminal; if the location of the first network signal transmission region and the second network signal transmission region is not in the database transmitting a request from the database to a network provider for location information corresponding to at least one of the identified regions. if the handover event does not exist in the database determining whether a reverse handover exists in the database; if the reverse handover event exists in the database extracting a location of the reverse handover event from the database to determine the location of the cellular terminal; if the reverse handover event does not exist in the database determining a location of the first network signal transmission region and the second network signal transmission region to determine the location of the cellular terminal; if the location of the first network signal transmission region and the second network signal transmission region is not in the database transmitting a request from the database to a network provider for location information corresponding to at least one of the identified regions.