Multimedia Communications Voice over IP Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore 560012, India
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. Decent conversion, Data rate of 8000 bytes per second (Data rate) generated during each talk spurt (64 Kbps Bandwidth).
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) 3. Depending on encoding technique, packet loss rate of up to 20% can be tolerated.
Jitters: Variable end to end delays in consecutive packets can cause jitters E0262 - Multimedia Communications
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 Most of the packets arrive before time out. Protocols Used a. Session Initiation Protocol (SIP) b. ITU standard H.323
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 SIP specifies Address: IP address, email address, telephone number to identify sender and Receiver. Specified in SIP standard address format. sip:1-999-123-4567@voip-provider.example.ne 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.
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
Caller Invite Callee Respond ok Exchange of voice pkts Bye
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. E0262 - Multimedia Communications
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 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.
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 Transport layer IP
Real time protocol and RTCP Typical MM sessions: Relay on RTP for transmitting data Relay on RTCP for transmitting control information
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. V-version, P-padding, x-extension, M maker, PT -payload type, CC-CSRC count
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.
Multicast Backbone(MBone) 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.
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.
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.