Research
carried out
| |
Head-of-Line Blocking (HOL) |
|
Head-of-the-Line (HOL) blocking is a phenomenon
that can occur when TCP is used as a transport
protocol in Session Initiation Protocol (SIP)
signalling. TCP assumes a single stream of
data and ensures that the segments of that
stream are delivered in the sequence in which
they are sent. In telephony call set-up most
of the segments in the stream will not be inter-related.
The majority will be independent from each
other. The problem occurs when sending independent
messages over an order-preserving TCP connection
which in turn causes the delivery of messages
sent later to be delayed within a receiver's
lower layer buffers until an earlier lost/delayed
message is retransmitted and arrives. Segments
behind the recovering packet are delayed even
though they may not be related to it. This
can have undesirable effects on the performance
of Applications using the protocol.
| |
Session
Initiation Protocol (SIP) |
|
The Session Initiation Protocol (SIP) is a
signalling protocol used for establishing sessions
in an IP network. A session could be a simple
telephone call between two parties or it could
be a collaborative multimedia conference session.
The ability to establish these sessions means
that a large amount of innovative services
become possible, such as voice enriched internet
content, make a voice call from a link on a
web page, Instant Messaging etc. The Voice
over IP (VoIP) community has adopted SIP as
its protocol of choice for signalling. At the
moment SIP is still evolving and being extended
as new technology arises.
When creating a session SIP specifies only
what it needs to specify. This saves on the
amount of data that needs to be sent, thus
making the whole process faster. SIP was developed
purely as a mechanism to establish sessions,
it is not concerned about the details of a
session, it just initiates, terminates and
modifies sessions. This simplicity means that
SIP is scaleable, extensible, and it sits comfortably
in different deployment scenarios and architectures.
SIP is a request response protocol that closely
resembles two other Internet protocols, HTTP
and SMTP. Using SIP, telephony becomes another
viable web application and integrates easily
into other Internet services. Therefore the
protocol is basically a simple toolkit that
converged-voice and multimedia services can
be created with.
VoIP (voice over IP) is basically voice delivered
using the Internet Protocol (IP). In general,
this means sending voice information in digital
form in individual packets rather than in the
circuit-committed protocols of the public switched
telephone network. A major advantage of VoIP
and Internet telephony is that it is cheaper
as it avoids the charges charged by local telephone
services. To help ensure that packets get delivered
in a timely fashion VoIP uses the real-time
protocol (RTP). When using public networks,
it is currently quite difficult to guarantee
Quality of Service (Qos) in a voice call, for
example to guarantee that the call will stay
at a certain standard 100% of the time. A more
suitable service is possible when provided
by private networks specifically for VoIP that
can guarantee a certain Quality of Service.
One technique used to help ensure faster packet
delivery is to ping all possible network Gateways
that have access to the public network and
choose the optimum path before establishing
a TCP connection with the other end.
In order to make any progress in this project,
two programming languages were vital. These
languages are C++ and Tcl. The C++ code is
discussed in greater detail in the chapter
concerning the physical implementation of the
protocol. The Tcl scripting can be seen in
the chapter concerning the simulation of the
protocol.
|