A computer-implemented method comprising: monitoring, by a wireless client electronic device, a data signal quality level for the wireless client electronic device, wherein the data signal quality level is indicative of the level of data connectivity between the wireless client electronic device and a wireless data network; monitoring, by the wireless client electronic device, a cellular signal strength level for the wireless client electronic device, wherein the cellular signal strength level is indicative of the level of cellular connectivity between the wireless client electronic device and a cellular network; monitoring, by the wireless client electronic device, one or more location-based criteria with respect to the wireless client electronic device; receiving by the wireless client electronic device, a request for attempting voice communication between the wireless client electronic device and a second wireless client electronic device; if the cellular strength level is not sufficient to support the voice communication and the data signal quality level is sufficient to support the voice communication, enabling the voice communication between the wireless client electronic device and the second wireless client electronic device via the wireless data network; and if the cellular signal strength level is sufficient to support the voice communication, enabling the voice communication between the wireless client electronic device and the second wireless client electronic device via the cellular network; wherein, if the one or more location-based criteria includes information indicating that the wireless data network, to which the wireless client electronic device is connected to, often results in abrupt termination of voice calls when compared to cellular network voice calls, enabling, by the wireless client electronic device, the voice communication between the wireless client electronic device and the second wireless client electronic device via the cellular network. monitoring, by a wireless client electronic device, a data signal quality level for the wireless client electronic device, wherein the data signal quality level is indicative of the level of data connectivity between the wireless client electronic device and a wireless data network; monitoring, by the wireless client electronic device, a cellular signal strength level for the wireless client electronic device, wherein the cellular signal strength level is indicative of the level of cellular connectivity between the wireless client electronic device and a cellular network; monitoring, by the wireless client electronic device, one or more location-based criteria with respect to the wireless client electronic device; receiving by the wireless client electronic device, a request for attempting voice communication between the wireless client electronic device and a second wireless client electronic device; if the cellular strength level is not sufficient to support the voice communication and the data signal quality level is sufficient to support the voice communication, enabling the voice communication between the wireless client electronic device and the second wireless client electronic device via the wireless data network; and if the cellular signal strength level is sufficient to support the voice communication, enabling the voice communication between the wireless client electronic device and the second wireless client electronic device via the cellular network; wherein, if the one or more location-based criteria includes information indicating that the wireless data network, to which the wireless client electronic device is connected to, often results in abrupt termination of voice calls when compared to cellular network voice calls, enabling, by the wireless client electronic device, the voice communication between the wireless client electronic device and the second wireless client electronic device via the cellular network.