1. A multitasking method, comprising: initiating a first user Voice Over Internet Protocol (VOIP) application at a first time; instantiating one or more communication sockets for the first user VOIP application; placing the first user VOIP application into a non-executing state at a second time; after placing the first user VOIP application into a non-executing state at the second time, receiving an automatic notification associated with the one or more communication sockets for the first user VOIP application at a third time; in response to receiving the automatic notification associated with the one or more communication sockets for the first user VOIP application at the third time, placing the first user VOIP application from the non-executing state into a background state; and after the first user VOIP application has responded to the automatic notification associated with the one or more communication sockets for the first user VOIP application at the third time, returning the first user VOIP application to the non-executing state, wherein the first time precedes the second time and the second time precedes the third time, and wherein the one or more communication sockets for the first user VOIP application are maintained during the first, second, and third times.