Ein VoIP-Telefon besteht aus den Komponenten Hardware und Software. Für die Software werden Standard-Netzwerkkomponenten wie ein TCP/IP-Netzwerkstack, eine Client-Implementierung für DHCP und das Domain Name System (DNS) benötigt, außerdem ein VoIP-Signalisierungsprotokollstack, z. B. für das Session Initiation Protocol (SIP), H.323, Skinny Client Control Protocol (Cisco) und Skype.Für Medienströme wird in den meisten VoIP-Systemen das Real-time Transport Protocol (RTP) verwendet. Für die Sprach- und Medienkodierung steht eine Vielzahl von Kodierern zur Verfügung, z. B. für Audio: G.711, GSM, iLBC, Speex, G.729, G.722, G.722.2 (AMR-WB), andere Audiocodecs, und für Video H.263, H.263+, H.264. Die Benutzerschnittstellensoftware steuert den Betrieb der Hardwarekomponenten und kann auf Benutzeraktionen mit Meldungen auf einem Bildschirm reagieren.
STUN clientEdit
Um die VoIP-Kommunikation zu ermöglichen, sollten die SIP/RTP-Pakete verwendet werden, und der STUN-Client wäre die Schlüsselkomponente für die VoIP-Kommunikation mit Verwaltung der SIP/RTP-Pakete. Ein STUN-Client (Session Traversal Utilities for NAT) wird bei einigen SIP-basierten VoIP-Telefonen verwendet, da Firewalls an Netzwerkschnittstellen manchmal SIP/RTP-Pakete blockieren. In diesem Fall ist ein spezieller Mechanismus erforderlich, um die Weiterleitung von SIP-Paketen von einem Netz zum anderen zu ermöglichen. STUN wird in einigen SIP-Telefonen verwendet, damit die SIP/RTP-Pakete die Grenzen zwischen zwei verschiedenen IP-Netzen überschreiten können. Ein Paket kann zwischen zwei SIP-Elementen nicht weitergeleitet werden, wenn eines der Netze einen privaten IP-Adressbereich verwendet und das andere im öffentlichen IP-Adressbereich liegt. Stun ist ein Mechanismus, der diese Grenzüberschreitung ermöglicht. Es gibt alternative Mechanismen zur Überwindung von NAT, STUN ist nur einer von ihnen. STUN oder ein anderer NAT-Traversal-Mechanismus ist nicht erforderlich, wenn die beiden SIP-Telefone, die sich verbinden, voneinander routbar sind und keine Firewall dazwischen liegt.
DHCP clientEdit
Die DHCP-Client-Software vereinfacht den Anschluss eines Geräts an ein IP-Netzwerk. Die Software konfiguriert automatisch die Netzwerk- und VoIP-Dienstparameter.