This invention provides a system, method and apparatus for facilitating handoffs from a first communication network to a second communication network, the first communication network and second communication network being heterogeneous with respect to each other. The system, method and apparatus may further include a contextual information server, which stores contextual elements corresponding to a user device and the operating environment of the user device, and a handoff decision function module that evaluates at least one of the contextual elements to determine whether to handoff user device communications from the first communication network to the second communication network. The method and apparatus may further include obtaining at least one contextual element corresponding to a user device and the operating environment of the user device, evaluating the at least one contextual element with a handoff decision function module to establish a handoff decision, establishing a handoff decision, and notifying the user device of the handoff decision. The method for facilitating handoffs from a first communication network to a second communication network may further include receiving a received signal strength indication, receiving a link quality determination, receiving a characteristic of the user device, and determining the location of the user device.