Un teléfono VoIP consta de componentes de hardware y software. El software requiere componentes de red estándar, como una pila de red TCP/IP, implementación de cliente para DHCP y el sistema de nombres de dominio (DNS).Además, se necesita una pila de protocolos de señalización de VoIP, como para el protocolo de inicio de sesión (SIP), H.323, Skinny Client Control Protocol (Cisco) y Skype.Para los flujos de medios, en la mayoría de los sistemas de VoIP se utiliza el protocolo de transporte en tiempo real (RTP). Para la codificación de la voz y de los medios, hay una variedad de codificadores disponibles, como por ejemplo para el audio G.711, GSM, iLBC, Speex, G.729, G.722, G.722.2 (AMR-WB), otros códecs de audio, y para vídeo H.263, H.263+, H.264. El software de interfaz de usuario controla el funcionamiento de los componentes de hardware, y puede responder a las acciones del usuario con mensajes a una pantalla de visualización.
Cliente STUNEdit
Para permitir las comunicaciones VoIP, los paquetes SIP/RTP deben ser utilizados y el cliente STUN sería el componente clave para las comunicaciones VoIP con la gestión de los paquetes SIP/RTP. Un cliente Session Traversal Utilities for NAT (STUN) se utiliza en algunos teléfonos VoIP basados en SIP, ya que los cortafuegos de la interfaz de red a veces bloquean los paquetes SIP/RTP. En este caso se requiere algún mecanismo especial para permitir el enrutamiento de los paquetes SIP de una red a otra. STUN se utiliza en algunos de los teléfonos sip para permitir que los paquetes SIP/RTP crucen los límites de dos redes IP diferentes. Un paquete se vuelve imposible de enrutar entre dos elementos sip si una de las redes usa un rango de direcciones IP privadas y la otra está en un rango de direcciones IP públicas. El aturdimiento es un mecanismo que permite atravesar esta frontera. Hay mecanismos alternativos para atravesar el NAT, STUN es sólo uno de ellos. STUN o cualquier otro mecanismo de cruce de NAT no es necesario cuando los dos teléfonos SIP que se conectan son enrutables entre sí y no existe ningún firewall entre ellos.
Cliente DHCPEditar
El software de cliente DHCP simplifica la conexión de un dispositivo a una red IP. El software configura automáticamente la red y los parámetros del servicio VoIP.