Telefon VoIP składa się z komponentów sprzętowych i programowych. Oprogramowanie wymaga standardowych komponentów sieciowych, takich jak stos sieciowy TCP/IP, implementacja klienta dla DHCP, oraz system nazw domenowych (DNS).Dodatkowo potrzebny jest stos protokołów sygnalizacyjnych VoIP, takich jak dla protokołu SIP (Session Initiation Protocol), H.323, Skinny Client Control Protocol (Cisco), oraz Skype.Dla strumieni mediów, w większości systemów VoIP używany jest Real-time Transport Protocol (RTP). Do kodowania głosu i mediów dostępne są różne kodery, takie jak dla dźwięku: G.711, GSM, iLBC, Speex, G.729, G.722, G.722.2 (AMR-WB), inne kodeki audio, a dla wideo H.263, H.263+, H.264. Oprogramowanie interfejsu użytkownika kontroluje działanie komponentów sprzętowych i może odpowiadać na działania użytkownika za pomocą komunikatów na ekranie wyświetlacza.
STUN clientEdit
Aby umożliwić komunikację VoIP, należy wykorzystać pakiety SIP/RTP, a klient STUN będzie kluczowym komponentem dla komunikacji VoIP z zarządzaniem pakietami SIP/RTP. Klient Session Traversal Utilities for NAT (STUN) jest używany w niektórych telefonach VoIP opartych na protokole SIP, ponieważ firewalle na interfejsie sieciowym czasami blokują pakiety SIP/RTP. W takim przypadku wymagany jest specjalny mechanizm umożliwiający routing pakietów SIP z jednej sieci do drugiej. STUN jest używany w niektórych telefonach sip, aby umożliwić pakietom SIP/RTP przekraczanie granic dwóch różnych sieci IP. Pakiet staje się nieroutowalny pomiędzy dwoma elementami sip, jeśli jedna z sieci używa prywatnego zakresu adresów IP, a druga jest w publicznym zakresie adresów IP. Stun jest mechanizmem umożliwiającym takie przekraczanie granic. Istnieją alternatywne mechanizmy pokonywania NAT, STUN jest tylko jednym z nich. STUN lub jakikolwiek inny mechanizm NAT nie jest wymagany, gdy dwa łączące się telefony SIP są routowalne od siebie i nie ma pomiędzy nimi zapory sieciowej.
Klient DHCPEdit
Oprogramowanie klienta DHCP upraszcza podłączenie urządzenia do sieci IP. Oprogramowanie automatycznie konfiguruje parametry sieci i usługi VoIP.