Saturday, September 13, 2008

Implementation


Because UDP does not provide a mechanism to ensure that data packets are delivered in sequential order, or provide Quality of Service (QoS) guarantees, VoIP implementations face problems dealing with latency and jitter. This is especially true when satellite circuits are involved, due to long round-trip propagation delay (400–600 milliseconds for links through geostationary satellites). The receiving node must restructure IP packets that may be out of order, delayed or missing, while ensuring that the audio stream maintains a proper time consistency. This function is usually accomplished by means of a jitter buffer in the voice engine.

Another challenge is routing VoIP traffic through firewalls and address translators. Private Session Border Controllers are used along with firewalls to enable VoIP calls to and from protected networks. Skype uses a proprietary protocol to route calls through other Skype peers on the network, allowing it to traverse symmetric NATs and firewalls. Other methods to traverse firewalls involve using protocols such as STUN or ICE.

VoIP challenges:

Available bandwidth
Network Latency
Packet loss
Jitter
Echo
Security
Reliability
In rare cases, decoding of pulse dialing
Many VoIP providers do not decode pulse dialing from older phones. The VoIP user may use a pulse-to-tone converter, if needed.[citation needed]

Fixed delays cannot be controlled but some delays can be minimized by marking voice packets as being delay-sensitive (see, for example, Diffserv).

The principal cause of packet loss is congestion, which can sometimes be managed or avoided. Carrier VoIP networks avoid congestion by means of teletraffic engineering.

Variation in delay is called jitter. The effects of jitter can be mitigated by storing voice packets in a jitter buffer upon arrival and before producing audio, although this increases delay. This avoids a condition known as buffer underrun, in which the voice engine is missing audio since the next voice packet has not yet arrived.

Common causes of echo include impedance mismatches in analog circuitry and acoustic coupling of the transmit and receive signal at the receiving end.

No comments: