Voice over IP Networks (Windows Embedded CE 6.0)
1/5/2010
Although the implementation is different, Voice over IP (VoIP) networks perform the same basic functions as circuit-switched networks: signaling and media transport. For more information about signaling, media transport, circuit-switched networks, and the PSTN, see Circuit-Switched Networks.
The primary difference between VoIP and PSTN networks is that a VoIP network is "packet-switched" and the PSTN is circuit-switched.
VoIP networks do not maintain a single contiguous electrical circuit during a phone call. Instead, all signaling and media transport information is transmitted in relatively small "packets."
This means that VoIP networks have the same characteristics as other packet-switched networks. The Internet (or other IP-based network) treats a VoIP packet like any other packet (although quality of service functionality, if it exists, can affect how the network treats VoIP packets).
This means that each packet can take a different route to the destination, that packets can arrive out of order, and so on.
An analog network like the PSTN transmits audio as analog electrical waves on a wire. In contrast, in a VoIP network, sound is converted to binary data (digitized) and sent in discrete packets.
Following is an overview of how a VoIP network implements signaling and media transport operations.
Signaling (Call Control) and Signaling Protocols
Signaling is the functionality that creates and ends a connection. A VoIP phone uses one or more signaling protocols to create or end a connection.
Signaling is separate from media transport, which transfers voice (and other media) data. In VoIP networks signaling and media transport use completely separate protocols and can even transfer information over separate networks.
A phone uses signaling protocols to place or receive a call. Two common signaling protocols for VoIP networks are Session Initiation Protocol (SIP) and H.323. Your VoIP phone is able to communicate in one (or more) of these signaling protocols.
SIP is a protocol that resembles HTTP in its text-based format and request-response nature. It was designed specifically for VoIP communication and is the signaling protocol included with Windows Embedded CE. However, you can implement H.323 or another signaling protocol.
When you dial a number on a SIP phone, the phone sends SIP messages that signal that you want to talk to the specified recipient. These messages are routed through various network intermediaries until they reach the recipient's phone.
When the recipient answers the call, the recipient's phone replies with a response that signals that the phone has been picked up, and includes its IP address (or fully qualified domain name). The calling phone then uses this IP address to send media data (but not signaling information) directly to the phone.
For additional introductory information about SIP, including a brief discussion of network intermediaries and how servers provide SIP functionality, see Session Initiation Protocol and SIP Servers.
Media Transport and Transport Protocols
When a call is connected, the media transport part of the network handles the transfer of sound or other media information, like video, through a media transport protocol.
SIP's call setup provides each phone with the IP address of the other phone. Media transport then occurs, using a media transport protocol, directly between phones using the IP addresses. (Additional signaling generally uses the original network intermediaries.)
The media transport protocol usually used in VoIP networks is the Real-time Transport Protocol (RTP). RTP is optimized for transferring audio and video over packet-switched networks. RTP generally sits on top of UDP in a protocol stack (although it can use other underlying protocols).
RTP provides a basic set of additional services useful for media transport. For example, UDP doesn't provide a way to order packets. Two applications using only UDP to communicate can't identify if audio information has arrived out of sequence and so can't reorder the information. Although audio playback does not necessarily suffer if a few packets are lost, the audio data in packets that do arrive must be played back in the correct order.
The VoIP phone implementation provided with Windows Embedded CE uses RTP to transfer media information. You can implement other media transport protocols if you desire.
For additional introductory information about RTP, see Real-time Transport Protocol.