Softphone

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. 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.

Applications
See Comparison of VoIP software

Communication protocols
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).

Some softphones also support the Inter-Asterisk eXchange protocol (IAX), a protocol supported by the open-source software application Asterisk.

Features
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.

Requirements
To make voice calls via the Internet, a user typically requires the following:
 * A modern PC with a microphone and speaker, or with a headset, or USB phone.
 * Reliable high-speed Internet connectivity like digital subscriber line (DSL), or cable service.
 * Account with an Internet telephony service provider or IP PBX provider.
 * Mobile or landline phone.