A softphone is a software program for making telephone calls over the Internet using a general purpose computer rather than dedicated hardware. The softphone can be installed on a piece of equipment such as a desktop, mobile device, or other computer and allows the user to place and receive calls without requiring an actual telephone set.[1] Often, a softphone is designed to behave like a traditional telephone, sometimes appearing as an image of a handset with a display panel and buttons with which the user can interact. A softphone is usually used with a headset connected to the sound card of the PC or with a USB phone.[2]
To communicate, both end-points must support the same voice-over-IP protocol, and at least one common audio codec.
Many service providers use the Session Initiation Protocol (SIP) standardized by the Internet Engineering Task Force (IETF). Skype, a popular service, uses proprietary protocols, and Google Talk leveraged the Extensible Messaging and Presence Protocol (XMPP). [3]
Some softphones also support the Inter-Asterisk eXchange protocol (IAX), a protocol supported by the open-source software application Asterisk.
A typical softphone has all standard telephony features (DND, Mute, DTMF, Flash, Hold, Transfer etc.) and often additional features typical for online messaging, such as user presence indication, video, wide-band audio. Softphones provide a variety of audio codecs, a typical minimum set is G.711 and G.729.
To make voice calls via the Internet, a user typically requires the following: