A VoIP phone or application may have many features an analog phone doesn't support, such as e-mail-like IDs for contacts that may be easier to remember than names or phone numbers, or easy sharing of contact lists among multiple accounts. Generally the features of VoIP phones follow those of Skype and other PC-based phone services, which have richer feature sets but may experience latency-related problems, because they rely on mainstream operating systems' IP and audio support.
As mainstream operating systems became better at voice applications with appropriate quality of service (QoS) guarantees, and 5G handoff (IEEE 802.21 etc.) becomes available from wireless carriers, tablets and smartphones became the dominant interfaces. iPhone, Android and the QNX OS used in 2012-and-later BlackBerry phones are widely capable of VoIP performance. Besides wireless, they also typically support USB, but not Ethernet or Power over Ethernet interfaces. The smartphone became the dominant VoIP phone because it works both indoors and outdoors, and shifts base stations/protocols easily. It achieves this by accepting higher access costs and call clarity, and other factors personal to the user. The PoE/USB VoIP phone was thus relegated to the role of a transitional device, except in traditional business office, where it is still widely used as a desk phone.
Components and software
A VoIP telephone consist of the hardware and software components.
The software requires standard networking components such as a TCP/IP network stack, client implementation for DHCP, and the Domain Name System (DNS).
In addition, a VoIP signalling protocol stack, such as for the Session Initiation Protocol (SIP), H.323, Skinny Client Control Protocol (Cisco), and/or Skype, is needed.
For media streams, the Real-time Transport Protocol (RTP) is used in most VoIP systems. For voice and media encoding, a variety of codecs are available, such as for audio: G.711, GSM, iLBC, Speex, G.729, G.722, G.722.2 (AMR-WB), other audio codecs, and for video H.263, H.263+, H.264. User interface software controls the operation of the hardware components, and may respond to user actions with messages to a display screen.
STUN client
To enable the VoIP communications, the SIP/RTP packets should be utilised and STUN client would be the key component for VoIP communications with management of the SIP/RTP packets.
A Session Traversal Utilities for NAT (STUN) client is used on some SIP-based VoIP phones as firewalls on network interface sometimes block SIP/RTP packets. Some special mechanism is required in this case to enable routing of SIP packets from one network to other. STUN is used in some of the sip phones to enable the SIP/RTP packets to cross boundaries of two different IP networks. A packet becomes unroutable between two sip elements if one of the networks uses private IP address range and other is in public IP address range. Stun is a mechanism to enable this border traversal. There are alternate mechanisms for traversal of NAT, STUN is just one of them. STUN or any other NAT traversal mechanism is not required when the two SIP phones connecting are routable from each other and no firewall exists in between.
DHCP client
DHCP client software simplifies connection of a device to an IP network. The software automatically configures the network and VoIP service parameters.
Hardware
The overall hardware may look like a telephone or mobile phone. A VoIP phone has the following hardware components
An handset with a headphone and a microphone, unless the whole telephone is a hand-held device containing these
Power source - a battery or DC/AC source; some VoIP phones receive electricity from Power over Ethernet
Some VoIP phones include an RJ-11 port to connect the phone to the PSTN
Other devices
There are several Wi-Fi enabled mobile phones and PDAs that have pre-installed SIP client software, or are capable of running IP telephony clients, including most smartphones.
Analog telephone adapters provide an interface for traditional analog telephones to a voice-over-IP network. They connect to the Internet or local area network using an Ethernet port and have jacks that provide a standard RJ11 interface that can accommodate a standard analog telephone.
Another type of gateway device acts as a simple cellular base station. Regular mobile phones can connect to this device, and make VoIP calls. While a license is required to run a cellular base station in most countries, these can be useful on ships, or in remote areas where a low-powered gateway transmitting on unused frequencies is likely to go unnoticed.
Some VoIP phones and ATAs also support PSTN phone lines directly.
Support for multiple VoIP accounts – the phone may register with more than one VoIP server/provider.
Accounts are usually set and memorized on the phone itself. A more sophisticated feature is dynamic download of account settings, also known as "extension mobility". This feature allows settings stored on a server to be downloaded to the phone, based on user login. The user logs into the phone and that phone becomes the user's extension. This feature requires both a client (phone) and a server, usually in the context of unified communications[2]