Een VoIP-telefoon bestaat uit de hardware- en softwarecomponenten. Voor de software zijn standaard netwerkcomponenten nodig, zoals een TCP/IP-netwerkstack, clientimplementatie voor DHCP en het Domain Name System (DNS).Daarnaast is een VoIP-signaleringsprotocolstack nodig, zoals voor het Session Initiation Protocol (SIP), H.323, Skinny Client Control Protocol (Cisco) en Skype.Voor mediastreams wordt in de meeste VoIP-systemen het Real-time Transport Protocol (RTP) gebruikt. Voor spraak- en mediacodering is een verscheidenheid aan coders beschikbaar, zoals voor audio: G.711, GSM, iLBC, Speex, G.729, G.722, G.722.2 (AMR-WB), andere audiocodecs, en voor video H.263, H.263+, H.264. Gebruikersinterfacesoftware regelt de werking van de hardwarecomponenten, en kan op gebruikersacties reageren met berichten op een beeldscherm.
STUN clientEdit
Om de VoIP-communicatie mogelijk te maken, moet gebruik worden gemaakt van de SIP/RTP-pakketten en de STUN client zou het belangrijkste onderdeel zijn voor VoIP-communicatie met het beheer van de SIP/RTP-pakketten. Een Session Traversal Utilities for NAT (STUN) cliënt wordt op sommige op SIP gebaseerde VoIP-telefoons gebruikt omdat firewalls op netwerkinterfaces soms SIP/RTP-pakketten blokkeren. In dit geval is een speciaal mechanisme vereist om de routering van SIP-pakketten van het ene netwerk naar het andere mogelijk te maken. STUN wordt gebruikt in sommige van de sip telefoons om de SIP/RTP pakketten in staat te stellen de grenzen van twee verschillende IP netwerken te overschrijden. Een pakket wordt onroutable tussen twee sip-elementen als een van de netwerken privé IP adresbereik gebruikt en het andere in openbaar IP adresbereik is. Stun is een mechanisme om deze grensovergang mogelijk te maken. Er zijn alternatieve mechanismen om NAT te traverseren, STUN is er slechts één van. STUN of enig ander NAT traversal mechanisme is niet nodig wanneer de twee SIP telefoons die verbinding maken vanaf elkaar te routeren zijn en er geen firewall tussen zit.
DHCP clientEdit
DHCP client software vereenvoudigt het aansluiten van een apparaat op een IP-netwerk. De software configureert automatisch het netwerk en de VoIP-service parameters.