E0262 - Multimedia Communications
Anandi Giridharan
Electrical Communication Engineering, Indian Institute of Science,
Bangalore – 560012, India
Multimedia Communications
Voice over IP
Voice over IP (Real time protocols)
Internet Telephony called Voice over IP most important interactive Multimedia application.
Interactive- 2 parties sitting in two different computers over internet and chat using microphone and speaker connected to PC.
The term Internet telephony specifically refers to the provisioning of communications services (voice, fax, SMS, voice-messaging) over the public Internet, rather than via the public switched telephone network (PSTN).
Example: Chatting over Internet (PC to PC). Voice chat..
Delay plays important role. Large delay is not tolerable.
Speech pattern-Alternate speech and silence. Data packets are not generated continuously.
E0262 - Multimedia Communications
Packets for voice get generated only during the talk spurts, Every 20msec sender collects the data into chunks
160 bytes/chunk appxly for 8kbytes/sec.
Application-layer header is added to each chunk.
The data chunk and the header is encapsulated into a UDP packet and transmitted.
UDP is used to prevent un-predicted packet loss etc.
Packet Loss Analysis for quality loss Two main reason for packet loss
1. Normal packets loss ,
• IP packets are lost are not delivered at the destination.
•Since UDP is used, packets lost is lost.
2. Loss due to excessive delay
An IP packet arrives, but too late to be played better to drop such packets. Packet reaching late than actual time, packet is dropped.
• Delays < 150 msec are normally not detected.
• Delays > 400 msec can be annoying.(gaps and breaks in voice)
E0262 - Multimedia Communications
Jitters: Variable end to end delays in consecutive packets can cause jitters
How Jitters are handled
1. By Using sequence number with each packet.
We can avoid out-of-order playback.
2. By using Time-stamps in the packet header.
3. Delaying the playout.
The playout of packets are delayed so that
Protocols Used
a. Session Initiation Protocol (SIP) Most of the packets arrive before time out.
E0262 - Multimedia Communications
Session Initiation Protocol(SIP)
SIP is an application layer protocol.
Used to establish, manage and terminate multimedia sessions.
Two party, multi-casting, multi-party (different sessions can be supported for various applications)
• SIP can run on either TCP or UDP based on QoS.
Sender /Receiver Addressing
Instructs a SIP client to make a (usually UDP)
connection to voip-provider.example.net:5060 (which may be a gateway) and ask to be connected to the
destination user at 1-999-123-4567. The gateway may require the user REGISTER using SIP before placing this call.
SIP specifies Address:
IP address, email address, telephone number to identify sender and Receiver.
Specified in SIP standard address format.
E0262 - Multimedia Communications
Basic messages sent in the SIP environment INVITE – connection establishing request
ACK – acknowledgement of INVITE by the final message receiver BYE – connection termination
CANCEL – termination of non-established connection REGISTER – UA registration in SIP proxy
OPTIONS – inquiry of server options
Simple SIP Session
• Three Steps-
Establishing a session
Uses a 3-way handshake protocol.
Communication
Caller and callee uses two temporary ports for the purpose.
Terminating the session
Either party can initiate this.
E0262 - Multimedia Communications
Exchange of voice pkts
Caller Callee
Invite Respond
Bye
ok
The H.323 Standard
E0262 - Multimedia Communications
A standard that allows telephones on the public network to talk to computers on the Internet.
There will be Gateway and Gatekeeper in your network That will take care of synchronization
• Uses a gateway:
Connects the telephone network to the Internet.
Translates messages from one protocol stack to another. (voice pkts are generated by one kind of protocol) while sending out some translation is required while sending outside.
The H.323 voice/video over IP environment
E0262 - Multimedia Communications
Various Protocols Used
• H.323 uses a number of protocols:
G.71 or G723.1
Used for compression.
H.245
Allows parties to negotiate the compression method.
Q.931
For establishment and termination of connections.
H.225
Used for registration with the gatekeeper.
E0262 - Multimedia Communications
Typical operation
Various Protocols Used
• H.323 uses a number of protocols:
G.71 or G723.1
Used for compression.
H.245
Allows parties to negotiate the compression method.
Q.931
For establishment and termination of
Host sends a BC message; Gater keeper responds with its IP address Using H.225 host and gatekeeper negotiate BW required
Host, Gatekeeper, GW and telephone communicate using Q931 Connection setup.
All the four use H 245 to negotiate the compression method to be used.
The host and telephone exchange audio through the GW using RTP And RTCP protocols.
All four use Q.931 to terminate the connection.
E0262 - Multimedia Communications
Real time protocol
Real time protocol is used to handle real time traffic over the
internet. Example: Internet telephony, interactive audio/video.
RTP uses UDP .
RTP performs sequencing , time sequencing, mixing etc for real traffic requirements, constant data rate.
Giving applications feedback on the quality of a link (can help adapt to changing link conditions)
RTP UDP IP
Transport layer
Real time protocol and RTCP
Typical MM sessions:
Relay on RTP for transmitting data
Relay on RTCP for transmitting control information
E0262 - Multimedia Communications
RTCP-Real Time Control Protocol.
There are two channels used , RTP for send data and RTCP for send control information.
RTCP is the control part of RTP and provides the following:
Data delivery monitoring
Source identification of the packets
Allow session member to calculate the rate to send status messages.
These are important once session is initiated.
Any changes required will be taken care.
Port numbers
One port for RTP and one for RTCP.
The port number are assigned on demand.
For RTP , port number must be Even For RTCP , port number must be Odd.
E0262 - Multimedia Communications
Session Announcement Protocol (SAP)
Announcing MM sessions to audience.
Session announcement contain Session Description Protocol(describes mm sessions):
Subject of the session Date and time
Media streams and addresses SAP functions.
New session announcements Modify announcement
Delete
And support for relays
Multimedia over LAN
E0262 - Multimedia Communications
Multimedia over Internet
Internet was not designed to carry MM traffic.
Existing protocols: TCP: Unsuitable for real time MM traffic
UDP: Connection less protocol at transport
layer. Can deliver real time data.
Internet for MM traffic
Enhancements needed.
Multicasting: Used in Audio and Video conferencing.
IP is best effort Unicast approach.
IP Multicast: An extension to IP protocol supports Dynamic and distributed group membership
Multiple group membership Multiple send/receive nodes.
E0262 - Multimedia Communications
A virtual overlay network on top of internet.
Can be considered as Internet radio or TV To call up and view uncompressed movies.
It consist of multicast islands connected by tunnels.
Multicast Backbone(MBone)
Mbone Tools
Session Directory: sdr
This can be compared to TV guide. It shows planned and ongoing Mbone sessions.
White Board- distributed shared whiteboard that can be used by all participants .
NTE Network Text editor offers the functionality of a distributed word processor
VIC- Video transmission with great variety of codecs.
E0262 - Multimedia Communications
RSVP
Integrated services is a flow based QoS model designed for IP.
IP is a connectionless, datagram packet switching protocol, which cannot support QoS.
A Signaling protocol known as Resource ReServation Protocol is run over IP to provide QoS.
Two components of flow specification.
Rspec: Defines the resource that the flow needs to reserve.
Tsepc: Defines the traffic characteristics of the flow.
RTSP
The Real Time Streaming Protocol (RTSP) is a network control protocol designed for use in entertainment and communications systems to control streaming media servers.
The protocol is used for establishing and controlling media sessions between end points.