Header
Home | Set as homepage | Add to favorites
  Search the Site     » Advanced Search
Sections
Syndication


Blogroll:

||||| ALL Cisco-Network ARTICLES |||||  
CCIE Journey,
The CCIE Journey,


VoIP Challenges

Feb 05,2011 by alperen

image


Good speech quality is a strong requirement of any commercial network,
wireless or otherwise. Traditionally, this has been achieved through 64-
Kbps (G.711) voice coding and the use of circuit-switching, which establishes
a dedicated transmission path from the source to the destination.
Nowadays, more advanced speech coding schemes can approach the quality
of G.711 with a much lower bandwidth requirement. The GSM Enhanced
Full-Rate Coder is one such advanced coding scheme and many others are
available. Good speech coding is not the only requirement, however. Other
requirements include low-transmission delay, low jitter (delay variation), and the requirement that everything transmitted at one end is received at
the other (low loss).
These requirements are somewhat contradictory when viewed from an
IP perspective. For example, the requirement for low loss could be achieved
through the use of TCP at layer 4. That, however, would cause excessive
delay, both at the start of the transfer when a TCP connection needs to be
established and during the transfer when acknowledgements and retransmissions
would cause a delay in the delivery of the voice packets. In order
to minimize delay, one could use UDP at layer 4. UDP, however, offers no
protection against packet loss.
Given the choice between UDP or TCP, the issue is whether we consider
minimizing delay to be more important than eliminating packet loss. The
answer is that, for speech, excessive delay and excessive jitter are far more
disturbing than occasional packet loss. Obviously, excessive packet loss is
unacceptable, but a limited amount (less than 5 percent) can be tolerated
without noticeable speech quality degradation. Consequently, when transporting
voice, UDP is chosen at layer 4, rather than TCP.
It is clear, however, that something more than UDP is required if VoIP is
to offer reasonable voice quality. At a minimum, the destination application
needs to know the coding scheme being used by the source application so
that the voice packets can be decoded. The application also needs timing
information so that packets can be played out to the user in a synchronized
manner and help mitigate against delay in the network. Moreover, the
application needs to know when packets are lost, so that a previous packet
could be replayed to fill the gap if appropriate.
In order to fulfill these needs, a protocol known as the Real-Time Transport
Protocol (RTP) has been developed. This protocol resides above UDP in
the protocol stack. Whenever a packet of coded voice is to be sent, it is sent
as the payload of an RTP packet. That packet contains an RTP header,
which provides information such as the voice coding scheme being used, a
sequence number, a timestamp for the instant at which the voice packet
was sampled, and an identification for the source of the voice packet.
RTP has a companion protocol, the RTP Control Protocol (RTCP). RTCP
does not carry coded voice packets. Rather, RTCP is a signaling protocol
that includes a number of messages, which are exchanged between session
users. These messages provide feedback regarding the quality of the session.
The type of information includes such details as lost RTP packets,
delay, and inter-arrival jitter.
Whenever an RTP session is opened, an RTCP session is also implicitly
opened. This means that, when a UDP port number is assigned to an RTP session for the transfer of voice packets (or any other media packets, such
as video), a separate port number is assigned for RTCP messages. An RTP
port number will always be even, and the corresponding RTCP port number
will be the next highest number, and hence odd. Thus, if we again consider
the IP protocol stack for voice transport, it appears as shown in Figure 8-2.
It should be noted that RTP and RTCP do not guarantee minimal delays,
low jitter, or low packet loss. In order to do that, other protocols are
required. RTP and RTCP simply provide information to the applications at
either end so that those applications can deal with loss, delay, or jitter with
the least possible impact to the user.
235 times read

Related news

No matching news for this article
Did you enjoy this article?
(total 0 votes)

comment Comments (0 posted) 

More Top News
CCSP-Cisco Certified Security Professional
Most Popular
Most Commented
Featured Author