Abstract: A software application enables a mobile device to make and receive voice calls, video calls, and text messages over a data network using VoIP. The application may run in the background and intercept outgoing and incoming calls. When the outgoing or incoming call is to/from another user of the application, the application may launch an appropriate screen and make/receive the call or text via Voice-over-Internet Protocol (VoIP). Otherwise, the call or text functionality may be performed by native functionality of the mobile device via a GSM network.