Академический Документы
Профессиональный Документы
Культура Документы
23/07/2010
Brief overview of VoIP and applications Challenges of VoIP IP Support for Voice Protocols used for VoIP (current views)
RTP RSVP SIP
1 July 2006
RTCP H.323
Objectives
Understand the current state of the art in Internet Telephony. Describe the key protocols involved in VoIP and their roles in this new technology. Discuss the limitations of current VoIP technology. Identify key factors influencing the growth of Internet telephony services for global communications.
1 July 2006 Copyright RMIT University 3
References
Internet RFCs
RFC1889 - RTP RFC 2205 - 2209 - RSVP
ITU-T
H.323 - Packet-based multimedia communications systems
Introduction
Many companies have seen advantages in minimising costs by transporting voice over IP networks. This has set the stage for standards development and the design of terminals and gateways and the rolling out of services on a global scale. Reliability Quality
Introduction
Adding voice to packet networks generates many challenges:
interoperability packet loss delay scalability
1 July 2006
1 July 2006
23/07/2010
1 July 2006
1 July 2006
1 July 2006
1 July 2006
10
More on Challenges
Voice quality has to be comparable to PSTN Underlying network must meet strict performance criteria including:
minimising call rejections network latency packet loss disconnects
Voice calls from a mobile PC via the Internet Internet call centres
1 July 2006 Copyright RMIT University 11
1 July 2006
12
23/07/2010
More on Challenges
Call control (signalling) must make the telephone calling process transparent so that the callers need not know the technology involved. PSTN / VoIP service interworking. System management and security and accounting and consolidated with PSTN Operation Sub Systems
1 July 2006 Copyright RMIT University 13
PSTN
Telephone Client PSTN
IP
Gateway
PSTN
Access
HE L TT WE P KA AC RD
Vectra Office
PC Client
Above chart from IEEE Network May/June 1999 Author Bill Goodman Internet Telephony and Modem Delay
1 July 2006 Copyright RMIT University 14
Management tools
to configure network nodes, monitor performance, and manage capacity and flow on a dynamic basis.
PC to PC Voice
Multimedia PCs can utilise this technique without connecting to the PSTN. System emulates an Internet Chat group and can be combined with multimedia whiteboards.
1 July 2006 Copyright RMIT University 17 1 July 2006 Copyright RMIT University 18
23/07/2010
We shall look at SIP, RTP, RTCP and RSVP to see their functions. This will be followed by a brief overview of H.323.
1 July 2006
Intramedia synchronisation
Packets within the same stream can suffer different delays (jitter). Applications use playout buffers to compensate for this jitter. RTP provides timestamps to assist in this.
1 July 2006
21
1 July 2006
22
Frame Indication
Video and audio are sent in logical units called frames. It is used to mark B of Frame and E of Frame for upper layers.
1 July 2006
23
The RTP protocol has a companion protocol called the Real Time Control Protocol (RTCP).
1 July 2006 Copyright RMIT University
24
23/07/2010
RTP Header
The RTP Header provides the timing information for purposes of audio and video synchronization and to determine whether packets have been lost or have arrived out of order. The header also specifies the payload type that allows for multiple data and compression types. To set up an RTP session, the application defines a particular pair of destination transport addresses (one network address and a pair of ports for RTP and RTCP)
1 July 2006
25
1 July 2006
26
RTP Header
Bit: 0 V=2 1
P
RTP Header
31
2
X
4 CC
7
M
8
PT
15
Sequence Number
The first twelve octets are always present in every RTP packet.
Version (V) (2 bits): Version of RTP. Padding (P) (1 bit): If set, the packet contains one or more additional padding octets at the end which are not part of the payload. The last octet of the padding contains a count of how many padding octets should be ignored.
1 July 2006 Copyright RMIT University 27
Extension (X) (1 bit): If set, the fixed header is followed by exactly one header extension. CSRC count (CC) (4 bits): The number of CSRC identifiers that follow the fixed header. This number is more than one if the payload of the RTP packet contains data from several sources. Marker (M) (1 bit): Defined by a profile, the market is intended to allow significant events such as frame boundaries to be marked in the packet stream. Payload Type (PT) (7 bits): Identifies the format of the RTP payload and determines its interpretation by the application. Sequence Number (16 bits): Increments by one for each RTP data packet sent, may be used by the receiver to detect packet loss and to restore packet sequence. The initial value is randomly set.
1 July 2006 Copyright RMIT University 28
RTP Header
Timestamp (32 bits): The sampling instant of the first octet in the RTP data packet. May be used for synchronization and jitter calculations. The initial value is randomly set. SSRC (32 bits): Randomly chosen number to distinguish synchronization sources within the same RTP session. It indicates where the data was combined, or the source of the data if there is only one source. CSRC List: 0 to 15 items, 32 bits each. Contributing sources for the payload contained in this packet. The number of identifiers is given by the CC field.
1 July 2006 Copyright RMIT University 29
Intermedia Synchronisation
Audio and video are often carried as separate streams but need to be synchronised at the receiver (eg lip sync)
1 July 2006
30
23/07/2010
Session Control
Allows you to send small notes or say goodbye!!
1 July 2006
31
1 July 2006
32
1 July 2006
34
RTSP
RTSP or Real-time Streaming Protocol is a client-server multimedia presentation control protocol designed for controlling streaming data over IP networks. It is defined in RFC 2326. It was jointly developed by RealNetworks, Netscape Communications, and Columbia University. It was published in 1998 as a Proposed Standard by the IETF. Streaming breaks data into many packets sized appropriately for the bandwidth available between the client and server.
1 July 2006 Copyright RMIT University 35
RTSP
When the client has received enough packets, the user software can be playing one packet, decompressing another and receiving the third. The user can begin listening immediately without the need to download the entire file. RTSP is an application-level protocol designed to work with lower level protocols such as RTP and RSVP to provide a complete streaming service across IP networks.
1 July 2006 Copyright RMIT University 36
23/07/2010
RTSP
RTSP provides VCR-style remote control functionality for audio and video streams, i.e., pause, fast forward, reverse, and absolute positioning. Sources of data can include live data feeds or stored files. Because of this RTSP is considered to be more of a framework rather than a protocol. RTSP aims to be what HTTP is to textual data and graphics data. However, there are key differences between RTSP and HTTP:
1 July 2006 Copyright RMIT University 37
RTSP
HTTP is a stateless protocol whilst RTSP isnt. The RTSP server has to has to maintain session states in order to correlate RTSP requests with a stream. HTTP is basically an asymmetric protocol, where the client issues requests and the server responds. In RTSP, both the client and server can issue requests.
Listed below are the methods to support the services and operations of RTSP:
OPTIONS: The client or the server tells the other party the options that it can accept. DESCRIBE: The client retrieves the description of a presentation or media object identified by the request URL from the server.
1 July 2006
38
RTSP
ANNOUNCE: When sent from client to server, ANNOUNCE posts the description of a presentation or media object identified by the request URL to a server. When sent from server to client, ANNOUNCE updates the session description in real-time. SETUP: The client asks the server to allocate resources for a stream and start an RTSP session. PLAY: The client asks the server to start sending data on a stream allocated via SETUP. PAUSE: The client temporarily halts the stream delivery without freeing server resources. TEARDOWN: The client asks the server to stop delivery of the specified stream and free resources associated with it. GET_PARAMETER: Retrieves the value of a parameter of a presentation or a stream specified in the URI.
1 July 2006 Copyright RMIT University 39
RTSP
SET_PARAMETER: Sets the value of a parameter for a presentation or stream specified by the URI. REDIRECT: The server informs the clients that it must connect to another server location. The mandatory location header indicates the URL the client should connect to. RECORD: The client initiates recording a range of media data according to the presentation description.
1 July 2006 Copyright RMIT University 40
RSVP Protocol
Reference: RFC 2205 - 2209 General purpose signalling protocol that allows network resources to be reserved for a connectionless data stream, based on receiver controlled requests.
RSVP
RSVP was jointly developed with Xerox Corp.s Palo Alto Research Center (PARC), MIT and the Information Sciences Institute of University of California (ISI).
Reserve Reserve 1 July 2006 Reserve 41 1 July 2006 Copyright RMIT University 42
23/07/2010
RSVP
RSVP sits on top of IP. However, it is not a routing protocol but an internet control protocol. RSVP relies on the underlying routing protocols to find where it should deliver the reservation requests. RSVP works with unicast and multicast routing protocols. The RSVP reservation process does not actually transmit the data nor does it provide the requested QoS. But it does guarantee that network resources are available when the transmission takes place. It should also be noted that RSVP is just a general facility to distribute reservation parameters; it does not dictate how to set the connection parameters to achieve the requested QoS.
1 July 2006 Copyright RMIT University 43
Filterspec
Best-effort delivery
1 July 2006
44
Session: A data flow identified by its destination. Once a reservation is is made at a router by a particular destination, the router considers this as a session and allocates resources for the life of that session. A reservation request issued by a destination end system is called a flow descriptor and consists of a flowspec and filterspec.
1 July 2006 Copyright RMIT University 45
Signalling
There are currently 3 major protocols that support signalling in the IP network for VoIP applications, viz:
H.323 MGCP SIP
Signalling
MGCP - Media Gateway Protocol
A control protocol allowing for the monitoring of events in IP phones and gateways and to instruct them to send media to specific addresses.
1 July 2006
23/07/2010
H.323 Protocol
Reference: ITU-T H.323 Title: Packet-based Multimedia
Communications Systems
H.323 Protocol
Provides: Call control Conferencing functions Call management Capability negotiation Supplementary services
Conceived originally for multimedia conferencing on a LAN, but now extended to cover Internet Telephony. (Revised in 1998)
1 July 2006
49
1 July 2006
50
H.323 Protocol
This Recommendation describes terminals and other entities that provide multimedia communications services over Packet Based Networks (PBN) which may not provide a guaranteed Quality of Service. H.323 entities may provide real-time audio, video and/or data communications.
H.323 Protocol
Support for audio is mandatory, while data and video are optional, but if supported, the ability to use a specified common mode of operation is required, so that all terminals supporting that media type can interwork.
1 July 2006
51
1 July 2006
52
H.323 Protocol
The packet based network over which H.323 entities communicate may be a point-to-point connection, a single network segment, or an internetwork having multiple segments with complex topologies.
SIP
Reference: RFC3261 SIP provides the necessary protocol mechanisms so that end systems and proxy servers can provide services: call forwarding, including
the equivalent of 700-, 800- and 900- type calls; call-forwarding no answer; call-forwarding busy; call-forwarding unconditional; other address-translation services;
callee and calling ``number'' delivery, where numbers can be any (preferably unique) naming scheme;
1 July 2006 Copyright RMIT University 53 1 July 2006 Copyright RMIT University 54
23/07/2010
SIP
personal mobility, i.e., the ability to reach a called party under a single, location-independent address even when the user changes terminals; terminal-type negotiation and selection: a caller can be given a choice how to reach the party, e.g., via Internet telephony, mobile phone, an answering service, etc.; terminal capability negotiation; caller and callee authentication; blind and supervised call transfer; invitations to multicast conferences.
1 July 2006 Copyright RMIT University 55
SIP URI
SIP entities are identified using SIP URI (Uniform Resource Identifier). A SIP URI has form of sip:username@domain, for instance, sip:joe@company.com. As we can see, SIP URI consists of username part and domain name part delimited by @ (at) character. SIP URIs are similar to e-mail addresses, it is, for instance, possible to use the same URI for e-mail and SIP communication, such URIs are easy to remember.
1 July 2006 Copyright RMIT University 56
SIP
Extensions of SIP to allow third-party signaling (e.g., for click-to-dial services, fully meshed conferences and connections to multipoint control units (MCUs), as well as mixed modes and the transition between those) are available. SIP addresses users by an email-like address and reuses some of the infrastructure of electronic mail delivery such as DNS MX records or using SMTP EXPN for address expansion. SIP addresses (URLs) can also be embedded in web pages. SIP is addressing-neutral, with addresses expressed as URLs of various types such as SIP, H.323 or telephone (E.164).
1 July 2006 Copyright RMIT University 57
SIP
SIP can also be used for signaling Internet real-time fax delivery. This requires no major changes. Fax might be carried via RTP, TCP (e.g., the protocols discussed in the Internet fax WG) or other mechanisms. SIP is independent of the packet layer and only requires an unreliable datagram service, as it provides its own reliability mechanism. While SIP typically is used over UDP or TCP, it could, without technical changes, be run over IPX, or carrier pigeons, frame relay, ATM AAL5 or X.25, in rough order of desireability.
1 July 2006
58
1 July 2006
59
1 July 2006
60
10
23/07/2010
Voice Processing
Network Management
SNMP Messages
Call Processing
Signalling
Packet Processing
IP packets
61
1 July 2006
Conclusions
This technology is in its infancy! Many problems to overcome.
Hot topics:
Quality of service Echo cancellation Manageability
1 July 2006
65
1 July 2006
66
11
23/07/2010
Conclusions
Many of the protocols that currently support VoIP are not adequate for the task and will need modification before they can be really useful. Need to determine tariff structures also.
1 July 2006 Copyright RMIT University 67
12