Multimedia Networking Last time Principles � Classify multimedia � Multimedia Networking Applications applications � Streaming stored audio and video � Identify the network Today services the apps � Real-time Multimedia: Internet Phone need study � Making the best of best effort service � Protocols for Real-Time Interactive Applications - RTP, RTCP, SIP � Mechanisms for providing QoS � Distributing Multimedia: content Protocols and distribution networks Architectures � Beyond Best Effort � Specific protocols � Scheduling and Policing Mechanisms for best-effort � Integrated Services and � Architectures for Differentiated Services QoS � RSVP 10/5-07 Datakommunikation - Jonny Pettersson, UmU Real-Time (Phone) Over IP’s Best-Effort � Settings � talk spurts � 8 Kbytes/sec � sample every 20 msec � packet of 160 Bytes + application header over UDP � up to 20 % loss is tolerable � TCP instead of UDP? 10/5-07 Datakommunikation - Jonny Pettersson, UmU Recovery From Jitter � End-to-end delays � max 400 msec tolerated � Delay jitter is handled by using � timestamps � sequence numbers � delaying playout • fixed amount • variable amount 10/5-07 Datakommunikation - Jonny Pettersson, UmU 1
Recovery From Packet Loss � Loss is in a broader sense: � packet never arrives or arrives later than its scheduled playout time � FEC - Forward Error Correction � Simple or-ing � Mixed quality streams � Interleaving � Repair of packet 10/5-07 Datakommunikation - Jonny Pettersson, UmU Summary: Internet Multimedia: bag of tricks � use UDP to avoid TCP congestion control (delays) for time-sensitive traffic � client-side adaptive playout delay: to compensate for delay � server side matches stream bandwidth to available client-to-server path bandwidth � chose among pre-encoded stream rates � dynamic server encoding rate � error recovery (on top of UDP) � FEC, interleaving � retransmissions, time permitting � conceal errors: repeat nearby data 10/5-07 Datakommunikation - Jonny Pettersson, UmU Real-Time Protocol (RTP) � RTP specifies a packet � RTP runs in the end structure for packets systems carrying audio and � RTP packets are video data encapsulated in UDP � RFC 3550 segments � RTP packet provides � Interoperability: If two Internet phone � payload type identification applications run RTP, � packet sequence then they may be able numbering to work together � timestamping 10/5-07 Datakommunikation - Jonny Pettersson, UmU 2
RTP and QoS � RTP does not provide any mechanism to ensure timely delivery of data or provide other quality of service guarantees � RTP encapsulation is only seen at the end systems: it is not seen by intermediate routers � Routers providing best-effort service do not make any special effort to ensure that RTP packets arrive at the destination in a timely matter 10/5-07 Datakommunikation - Jonny Pettersson, UmU Real-Time Protocol (RTP) � Specifies header fields � Payload Type : types of encoding � Sequence Number : to detect packet loss � Timestamp : the sampling instant of the first audio/video byte in the packet � Synchronization Source identifier (SSRC) : an id for the source of a stream 10/5-07 Datakommunikation - Jonny Pettersson, UmU Real-Time Control Protocol (RTCP) � Works in conjunction � Statistics include with RTP number of packets � Each participant in sent, number of RTP session packets lost, periodically transmits interarrival jitter, etc. RTCP control packets � Feedback can be used to all other to control participants performance � Each RTCP packet contains sender and/or � Sender may modify receiver reports its transmissions based on feedback � report statistics useful to application 10/5-07 Datakommunikation - Jonny Pettersson, UmU 3
RTCP - Continued - For an RTP session there is typically a single multicast address; all RTP and RTCP packets belonging to the session use the multicast address - RTP and RTCP packets are distinguished from each other through the use of distinct port numbers - To limit traffic, each participant reduces his RTCP traffic as the number of conference participants increases 10/5-07 Datakommunikation - Jonny Pettersson, UmU RTCP Packets Source description packets: Receiver report packets: � SSRC of the RTP stream, � e-mail address of sender, fraction of packets lost, last sender's name, SSRC of sequence number, average associated RTP stream interarrival jitter � Provide a mapping between Sender report packets: the SSRC and the user/host name � SSRC of the RTP stream, the timestamp and the current time of the last RTP � 5% of total bandwidth packet, the number of � 25% of that for the packets sent, and the sender number of bytes sent � 75% for the receivers 10/5-07 Datakommunikation - Jonny Pettersson, UmU SIP � Session Initiation Protocol � Comes from IETF SIP long-term vision � All telephone calls and video conference calls take place over the Internet � People are identified by names or e-mail addresses, rather than by phone numbers � You can reach the callee, no matter where the callee roams, no matter what IP device the callee is currently using 10/5-07 Datakommunikation - Jonny Pettersson, UmU 4
SIP Services � Setting up a call � Determine current IP address of callee � Provides mechanisms for caller to let � Maps mnemonic callee know she identifier to current IP wants to establish a address call � Call management � Provides mechanisms � Add new media streams so that caller and during call callee can agree on � Change encoding during media type and call encoding � Invite others � Provides mechanisms � Transfer and hold calls to end call 10/5-07 Datakommunikation - Jonny Pettersson, UmU Setting up a call to a known IP address • Alice’s SIP invite Bob Alice message indicates her port number & IP address. Indicates encoding that 167.180.112.24 193.64.210.89 INVITE bob@193.64.210.89 Alice prefers to receive c=IN IP4 167.180.112.24 m=audio 38060 RTP/AVP 0 (PCM ulaw) port 5060 Bob's terminal rings • Bob’s 200 OK message 200 OK c=IN IP4 193.64.210.89 m=audio 48753 RTP/AVP 3 indicates his port number, port 5060 IP address & preferred ACK encoding (GSM) port 5060 µ Law audio • SIP messages can be port 38060 sent over TCP or UDP; here sent over RTP/UDP GSM port 48753 •Default SIP port number is 5060 time time 10/5-07 Datakommunikation - Jonny Pettersson, UmU Setting up a call (more) � Rejecting the call � Codec negotiation: � Bob can reject with � Suppose Bob doesn’t have PCM ulaw encoder replies “busy,” “gone,” “payment required,” � Bob will instead reply with “forbidden” 606 Not Acceptable � Media can be sent over RTP Reply and list encoders he can use or some other protocol � Alice can then send a new INVITE message, advertising an appropriate encoder 10/5-07 Datakommunikation - Jonny Pettersson, UmU 5
Example of SIP message • Here we don’t know INVITE sip:bob@domain.com SIP/2.0 Bob’s IP address. Via: SIP/2.0/UDP 167.180.112.24 Intermediate SIP From: sip:alice@hereway.com servers will be To: sip:bob@domain.com necessary Call-ID: a2e3a@pigeon.hereway.com Content-Type: application/sdp • Alice sends and Content-Length: 885 receives SIP messages using the SIP default c=IN IP4 167.180.112.24 port m=audio 38060 RTP/AVP 0 Notes: • Alice specifies in Via: � HTTP message syntax header that SIP client � sdp = session description protocol sends and receives SIP messages over UDP � Call-ID is unique for every call 10/5-07 Datakommunikation - Jonny Pettersson, UmU Name translation and user locataion � Result can be based on: � Caller wants to call � time of day (work, home) callee, but only has � caller (don’t want boss to callee’s name or e-mail call you at home) address � status of callee (calls sent to voicemail when callee is � Need to get IP already talking to address of callee’s someone) current host: Service provided by SIP � user moves around servers: � DHCP protocol � SIP registrar server � user has different IP devices (PC, PDA, car � SIP proxy server device) 10/5-07 Datakommunikation - Jonny Pettersson, UmU SIP Registrar � When Bob starts SIP client, client sends SIP REGISTER message to Bob’s registrar server (similar function needed by Instant Messaging) Register Message: REGISTER sip:domain.com SIP/2.0 Via: SIP/2.0/UDP 193.64.210.89 From: sip:bob@domain.com To: sip:bob@domain.com Expires: 3600 10/5-07 Datakommunikation - Jonny Pettersson, UmU 6
Recommend
More recommend