Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology.

Slides:



Advertisements
Similar presentations
The Real Time Transport Protocol (RTP) Jonathan Rosenberg Chief Scientist.
Advertisements

Service QoE Monitoring in the Access Network Bart De Vleeschauwer Ghent University – IBBT-IMEC Department of Information Technology
RTP/RTCP multimedia protocols for the Internet Center for Software Development CSD, BITS - Pilani CopyRight:
IPv4 - The Internet Protocol Version 4
Multimedia Streaming Protocols. signalling and control protocols protocols conveying session setup information and VCR-like commands (play, pause, mute,
1 IP - The Internet Protocol Relates to Lab 2. A module on the Internet Protocol.
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
RTP: A Transport Protocol for Real-Time Applications Provides end-to-end delivery services for data with real-time characteristics, such as interactive.
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
User Control of Streaming Media: RTSP
Real-time Transport Protocol (RTP) Recommendations for SIPREC (draft-eckel-siprec-rtp-rec-01) Charles Eckel IETF-81, Quebec City, July.
1 Fall 2005 Hardware Addressing and Frame Identification Qutaibah Malluhi CSE Department Qatar University.
Lecture15 Java Media Framework IV. Processing Individual Frames The JMF’s BufferToImage and ImageToBuffer classes can be used to obtain frame images from.
Streaming Media. Unicast Redundant traffic Multicast One to many.
An Introduction to the Real-time Transport Protocol (RTP) Ye Xia WebTP Meeting 12/12/00.
Real-time Transport Protocol Matt Boutell CS457: Computer Networks November 15, 2001.
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 1. RTP/RTCP.
CS335 Principles of Multimedia Systems Multimedia Over IP Networks -- II Hao Jiang Computer Science Department Boston College Nov. 8, 2007.
1 Java Media Framework: RTP Multimedia Systems: Module 3 Lesson 2 Summary: r RTP m RTP/RTCP Basics m Scenarios r JMF RTP Implementation m Reception m Transmission.
University of Delaware
RTP/RTCP – Real Time Transport Protocol/ Real Time Control Protocol Presented by Manoj Sivakumar.
RTP: A Transport Protocol for Real-Time Applications
RTP/RTCP(RFC 1889) Real-time transport protocol (RTP) is the de facto standard media transport protocol in the Internet Media transport: audio, vedio,
RTP/RTCP Overview Hank Peng. Audio/Video Transport (avt) Chartered 1992-Mar-05 – to specify a protocol for real-time transmission of audio and video over.
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
Advance Computer Networks Lecture#14
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
Multimedia Over IP: RTP, RTCP, RTSP “Computer Science” Department of Informatics Athens University of Economics and Business Λουκάς Ελευθέριος.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
Foreleser: Carsten Griwodz
Real Time Protocol (RTP) 김 준
Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot.
Team Members Atcharawan Jansprasert Padmoja Roy Rana Almakabi Ehsan Eslamlouevan Manya Tarawalie.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Streaming Media Control n The protocol components of the streaming n RTP/RTCP n RVSP n Real-Time Streaming Protocol (RTSP)
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
CS 4396 Computer Networks Lab
Chapter 9 Hardware Addressing and Frame Type Identification 1.Delivering and sending packets 2.Hardware addressing: specifying a destination 3. Broadcasting.
BAI513 - PROTOCOLS RTP - RTCP BAIST – Network Management.
RTP – Real-time Transport Protocol Elbert Tsay, Brad Bargabus, Patrick Lim, Henry Quach The Five Packeteers (minus 1  )
RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
An Extensible RTCP Control Framework for Large Multimedia Distributions Paper by: Julian Chesterfield Eve M. Schooler Presented by: Phillip H. Jones.
IETF WG Presentation1 Urooj Rab Audio/Video Transport.
3/10/2016 Subject Name: Computer Networks - II Subject Code: 10CS64 Prepared By: Madhuleena Das Department: Computer Science & Engineering Date :
RTP/RTCP/RTSP Ben Biro CISC 856 – Spring '10 University of Delaware Thanks to Professor Amer, Henning Schulzrinne, Colin Perkins, Amit Hetawal.
1-D Interleaved Parity FEC draft-begen-fecframe-interleaved-fec-scheme-00 IETF 72 – July 2008 Ali C. Begen
7: Multimedia Networking7-1 protocols for real-time interactive applications RTP, RTCP, SIP.
Networked Multimedia Basics. Network Characteristics.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
The Transport Layer Congestion Control & UDP
Real-time Transport Control Protocol
RTP: A Transport Protocol for Real-Time Applications
RTP: A Transport Protocol for Real-Time Applications
Real-Time Transport Protocol
Klara Nahrstedt Spring 2012
IP - The Internet Protocol
Klara Nahrstedt Spring 2009
RTP/RTCP Background; Overview; Basic concepts; RTP RTCP
RTP: A Transport Protocol for Real-Time Applications
RTP: A Transport Protocol for Real-Time Applications
RTP – Real-time Transport Protocol
IP - The Internet Protocol
IP - The Internet Protocol
IP - The Internet Protocol
IP - The Internet Protocol
IP - The Internet Protocol
Presentation transcript:

Real-time Transport Protocol Kun-Ta Lee National Taipei University of Technology

Outline Introduction Introduction Definitions Definitions RTP RTP RTCP RTCP Translators and Mixers Translators and Mixers SSRC Identifier Allocation and Use SSRC Identifier Allocation and Use Security Security Summary of Protocol Constants Summary of Protocol Constants Reference Reference

Introduction (1) provides one-to-one or one-to-may delivery services for data whit real-time characteristics provides one-to-one or one-to-may delivery services for data whit real-time characteristics does not guarantee delivery or prevent out-of- order delivery does not guarantee delivery or prevent out-of- order delivery receiver allow to reconstruct the sender’s packet sequence receiver allow to reconstruct the sender’s packet sequence RTP is primarily designed to satisfy the needs of multi-participant application RTP is primarily designed to satisfy the needs of multi-participant application RTP control protocol (RTCP), to monitor the quality of service and to convey information about the participants in an on-going session RTP control protocol (RTCP), to monitor the quality of service and to convey information about the participants in an on-going session

Introduction (2) RTP Use Scenarios RTP Use Scenarios Simple Multicast Audio Conference Simple Multicast Audio Conference can change the encoding during a conference can change the encoding during a conference allow the receivers to reconstruct the timing produced by the source allow the receivers to reconstruct the timing produced by the source to know who is participating and how well they are receiving the audio data to know who is participating and how well they are receiving the audio data sends the RTCP packet when it leaves the conference sends the RTCP packet when it leaves the conference Audio and Video Conference Audio and Video Conference no direct coupling at the RTP level between audio and video no direct coupling at the RTP level between audio and video participant can choose only one medium in the conference participant can choose only one medium in the conference using timing information carried in the RTCP packets can be achieved synchronization for audio and video session using timing information carried in the RTCP packets can be achieved synchronization for audio and video session

Introduction (3) Mixers and Translators Mixers and Translators Mixer (RTP-level relay): mixes reconstructed audio streams into a single stream and translates the audio encoding to a lower-bandwidth one and forwards he lower-bandwidth packet stream across the low-speed link. Mixer (RTP-level relay): mixes reconstructed audio streams into a single stream and translates the audio encoding to a lower-bandwidth one and forwards he lower-bandwidth packet stream across the low-speed link. Translator (RTP-level realy): translates different format Translator (RTP-level realy): translates different format Translator out-side Translator in-side Firewall

Definitions (1) RTP payload: the data transported by RTP in a packet RTP payload: the data transported by RTP in a packet RTP packet: a data packet consisting of the fixed RTP header RTP packet: a data packet consisting of the fixed RTP header RTCP packet: a control packet consisting of a fixed header part similar to that o RTP data packet, followed by structured elements that vary depending upon the RTCP packet type RTCP packet: a control packet consisting of a fixed header part similar to that o RTP data packet, followed by structured elements that vary depending upon the RTCP packet type

Definitions (2) application media encapsulation RTP RTCP Source port + Dstination port + Message length + Checksum + UDP Data UDP IPv4/IPv6 Ethernet AAL5 ATM

Definitions (3) Port: transport layer UDP port Port: transport layer UDP port Transport address: an IP address and a UDP port, packets are transmitted from a source transport address to a destination transport address Transport address: an IP address and a UDP port, packets are transmitted from a source transport address to a destination transport address RTP Session RTP Session the session is defined by a particular pair of destination transport addresses (one network address plus a port pair for RTP and RTCP) the session is defined by a particular pair of destination transport addresses (one network address plus a port pair for RTP and RTCP) in a multimedia session, each medium is carried in a separate RTP session with its own RTCP packets. in a multimedia session, each medium is carried in a separate RTP session with its own RTCP packets. Synchronization source (SSRC) Synchronization source (SSRC) the source of s stream of RTP packets the source of s stream of RTP packets 32-bit numeric 32-bit numeric randomly chosen, unique randomly chosen, unique not use the same SSRC identifier for all the RTP sessions in a multimedia session not use the same SSRC identifier for all the RTP sessions in a multimedia session binding of the SSRC identifiers is provided through RTCP binding of the SSRC identifiers is provided through RTCP Contributing source (CSRC): the source of a stream of RTP packets that has contributed to the combined stream produced by an RTP mixer Contributing source (CSRC): the source of a stream of RTP packets that has contributed to the combined stream produced by an RTP mixer

Definitions (4) End system: generates the content to be sent in RTP packets and/or consumes the content of received RTP packets End system: generates the content to be sent in RTP packets and/or consumes the content of received RTP packets Mixer Mixer receives RTP packet from one or more source receives RTP packet from one or more source possibly changes the data format possibly changes the data format combines the packets in some manner and forwards a new RTP packet combines the packets in some manner and forwards a new RTP packet generate its own timing for the combined stream generate its own timing for the combined stream new packets that from a mixer will be identified as having the mixer as their synchronization source new packets that from a mixer will be identified as having the mixer as their synchronization source Translator Translator forwards RTP packets with their synchronization source identifier intact forwards RTP packets with their synchronization source identifier intact convert encodings without mixing convert encodings without mixing replicate from multicast to unicast replicate from multicast to unicast

Definitions (5) end system SSRC=17 end system SSRC= DVI4 L16 translator GSM GSM ( Group Speciale Mobile ) Mixer SSRC= SSRC=5 CSRC=17 39

Definitions (6) Monitor Monitor An application, that receives RTCP packets (reception report) sent by participants in an RTP session An application, that receives RTCP packets (reception report) sent by participants in an RTP session estimates the current quality of service, fault diagnosis and long-term statistics estimates the current quality of service, fault diagnosis and long-term statistics Non-RTP means Non-RTP means in addition to RTP to provide a usable service in addition to RTP to provide a usable service example: negotiate the encryption algorithm, define dynamic mappings between RTP payload type values and payload formats they represent for formats that do not have a predefined payload type value example: negotiate the encryption algorithm, define dynamic mappings between RTP payload type values and payload formats they represent for formats that do not have a predefined payload type value Simple applications, electronic mail or a conference database may also be used Simple applications, electronic mail or a conference database may also be used

0x00 payload (audio, video, … ) header extension contributing source identifier (CSRC) synchronization source identifier (SSRC) timestamp RTP Packet (1) V2P X CSRC count Mpayload typesequence number opt UDP packet first twelve octets are present in every RTP hacket first twelve octets are present in every RTP hacket the list of CSRC identifiers is present only when inserted by a mix the list of CSRC identifiers is present only when inserted by a mix

version (V): 2 bits version (V): 2 bits V=0 → “ avt ” audio tool. ; V=1 → first draft version of RTP V=0 → “ avt ” audio tool. ; V=1 → first draft version of RTP padding (P): 1 bit padding (P): 1 bit the last octet of the padding contains a count of how many padding octets should be ignored the last octet of the padding contains a count of how many padding octets should be ignored 0x00 payload (audio, video, … ) header extension contributing source identifier (CSRC) synchronization source identifier (SSRC) timestamp RTP Packet (2) V2P X CSRC count Mpayload typesequence number opt UDP packet

extension (X): 1 bit extension (X): 1 bit if the extension bit is set, the fixed header is followed by exactly one header extension if the extension bit is set, the fixed header is followed by exactly one header extension 0x00 payload (audio, video, … ) header extension contributing source identifier (CSRC) synchronization source identifier (SSRC) timestamp RTP Packet (3) V2P X CSRC count Mpayload typesequence number opt UDP packet

CSRC count (CC): 4 bits CSRC count (CC): 4 bits the CSRC count contains the number of CSRC identifiers that follow the fix header the CSRC count contains the number of CSRC identifiers that follow the fix header Maker (M): 1 bit Maker (M): 1 bit intended to allow significant events such as frame boundaries to be marked in the packet stream intended to allow significant events such as frame boundaries to be marked in the packet stream 0x00 payload (audio, video, … ) header extension contributing source identifier (CSRC) synchronization source identifier (SSRC) timestamp V2P X CSRC count Mpayload typesequence number opt UDP packet RTP Packet (4)

payload type (PT): 7 bits payload type (PT): 7 bits identifies the format of the RTP payload and determines its interpretation by the application identifies the format of the RTP payload and determines its interpretation by the application Default mappings for audio and video is specified in the companion profile Internet-Draft draft-ietf-avt-profile Default mappings for audio and video is specified in the companion profile Internet-Draft draft-ietf-avt-profile 0x00 payload (audio, video, … ) header extension contributing source identifier (CSRC) synchronization source identifier (SSRC) timestamp V2P X CSRC count Mpayload typesequence number opt UDP packet RTP Packet (5)

sequence number : 16 bits sequence number : 16 bits increments by one for each RTP data packet sent increments by one for each RTP data packet sent used by the receiver to detect packet loss and to restore packet sequence used by the receiver to detect packet loss and to restore packet sequence 0x00 payload (audio, video, … ) header extension contributing source identifier (CSRC) synchronization source identifier (SSRC) timestamp V2P X CSRC count Mpayload typesequence number opt UDP packet RTP Packet (6)

timestamp : 32 bits timestamp : 32 bits timestamp reflects the sampling instant of the first octet in the RTP data packet timestamp reflects the sampling instant of the first octet in the RTP data packet 0x00 payload (audio, video, … ) header extension contributing source identifier (CSRC) synchronization source identifier (SSRC) timestamp V2P X CSRC count Mpayload typesequence number opt UDP packet RTP Packet (7)

SSRC : 32 bits SSRC : 32 bits identifies the synchronization source identifies the synchronization source this identifier is chosen randomly this identifier is chosen randomly all RTP implementations must be prepared to detect and resolve collisions all RTP implementations must be prepared to detect and resolve collisions 0x00 payload (audio, video, … ) header extension contributing source identifier (CSRC) synchronization source identifier (SSRC) timestamp V2P X CSRC count Mpayload typesequence number opt UDP packet RTP Packet (8)

CSRC list: 0 to 15 itemse, 32 bits each CSRC list: 0 to 15 itemse, 32 bits each the CSRC list identifies the contributing source for the payload contained in this packet the CSRC list identifies the contributing source for the payload contained in this packet if there are more than 15 contributing sources, only 15 may be identified if there are more than 15 contributing sources, only 15 may be identified inserted by mixer inserted by mixer 0x00 payload (audio, video, … ) header extension contributing source identifier (CSRC) synchronization source identifier (SSRC) timestamp V2P X CSRC count Mpayload typesequence number opt UDP packet RTP Packet (9)

0x00 payload (audio, video, … ) opt. header extension defined by profilelength header extension header extension the first 16 bits of header extension are left open for distinguishing identifiers or parameters the first 16 bits of header extension are left open for distinguishing identifiers or parameters 16-bit length field that counts the number of 32-bit words in the extension 16-bit length field that counts the number of 32-bit words in the extension RTP Packet (10) contributing source identifier (CSRC) synchronization source identifier (SSRC) timestamp V2P X CSRC count Mpayload typesequence number opt UDP packet

RTCP Functions provide feedback on the quality of the data distribution provide feedback on the quality of the data distribution this feedback function is performed by the RTCP sender and receiver reports this feedback function is performed by the RTCP sender and receiver reports RTCP carries a persistent transport-level identifier for an RTP source called the canonical name or CNAME RTCP carries a persistent transport-level identifier for an RTP source called the canonical name or CNAME SSRC identifier may change if a conflict is discovered or a program is restarted SSRC identifier may change if a conflict is discovered or a program is restarted receivers require the CNAME to keep track of each participant receivers require the CNAME to keep track of each participant receivers require the CNAME to associate multiple data stream for a given participant in a set of related RTP sessions receivers require the CNAME to associate multiple data stream for a given participant in a set of related RTP sessions each participant send its control packets to all the others, each can independently observe the number of participants each participant send its control packets to all the others, each can independently observe the number of participants convey minimal session control information convey minimal session control information for example participant identification to be displayed in the user interface for example participant identification to be displayed in the user interface

RTCP Packet Format SR: sender report, for transmission and reception statistics from participants that are active senders SR: sender report, for transmission and reception statistics from participants that are active senders RR: receiver report, for reception statistics from participants that are not active senders RR: receiver report, for reception statistics from participants that are not active senders SDES: source description items, including CNAME SDES: source description items, including CNAME BYE: indicates end of participation BYE: indicates end of participation APP: application specific functions APP: application specific functions

profile-specific extensions... SSRC_2 (SSRC of first source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (first section - header) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info version (V): 2 bits version (V): 2 bits V=0 → “ avt ” audio tool. ; V=1 → first draft version of RTP V=0 → “ avt ” audio tool. ; V=1 → first draft version of RTP

profile-specific extensions... SSRC_2 (SSRC of first source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (first section - header) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info padding (P): 1 bit padding (P): 1 bit the last octet of the padding contains a count of how many padding octets should be ignored the last octet of the padding contains a count of how many padding octets should be ignored In a compound RTCP packet, padding should only be required on the last individual packet In a compound RTCP packet, padding should only be required on the last individual packet

profile-specific extensions... SSRC_2 (SSRC of first source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (first section - header) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info reception report count (RC): 5 bits reception report count (RC): 5 bits the number of reception report blocks contained in this packet the number of reception report blocks contained in this packet

profile-specific extensions... SSRC_2 (SSRC of first source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (first section - header) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info packet type (PT): 8 bits packet type (PT): 8 bits the constant 200 to identify this as an SR packet the constant 200 to identify this as an SR packet

profile-specific extensions... SSRC_2 (SSRC of first source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (first section - header) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info length: 16 bits length: 16 bits including the header and any padding including the header and any padding 1 unit = 32-bit 1 unit = 32-bit

profile-specific extensions... SSRC_2 (SSRC of first source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (first section - header) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info SSRC: 32 bits SSRC: 32 bits synchronization source identifier for the originator of this SR packet synchronization source identifier for the originator of this SR packet

profile-specific extensions... SSRC_2 (SSRC of first source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (second section – sender info) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info NTP timestamp: 64 bits NTP timestamp: 64 bits indicates the wallclock time when this report was sent indicates the wallclock time when this report was sent

profile-specific extensions... SSRC_2 (SSRC of first source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (second section – sender info) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info RTP timestamp: 32 bits RTP timestamp: 32 bits

profile-specific extensions... SSRC_2 (SSRC of first source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (second section – sender info) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info sender ’ s packer count: 32 bits sender ’ s packer count: 32 bits total number of RTP data packets transmitted by the sender since starting transmission up until the time this SR packet was generated total number of RTP data packets transmitted by the sender since starting transmission up until the time this SR packet was generated

profile-specific extensions... SSRC_2 (SSRC of first source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (second section – sender info) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info sender ’ s octet count: 32 bits sender ’ s octet count: 32 bits total number of payload octets (not including header or padding) transmitted in RTP data packets by the sender since starting transmission up until the time this SR packet was generated total number of payload octets (not including header or padding) transmitted in RTP data packets by the sender since starting transmission up until the time this SR packet was generated

RTCP Packet - SR (third section – reception report blocks) contains 0 ~ more reception report blocks depending on the number of other source heard by this sender since the last report contains 0 ~ more reception report blocks depending on the number of other source heard by this sender since the last report conveys statistics on the reception of RTP packets from a single synchronization source conveys statistics on the reception of RTP packets from a single synchronization source receivers do not carry over statistics when a source changes its SSRC identifier due to a collision receivers do not carry over statistics when a source changes its SSRC identifier due to a collision

profile-specific extensions... SSRC_2 (SSRC of second source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (third section – reception report blocks) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info SSRC_n (source identifier): 32 bits SSRC_n (source identifier): 32 bits the source ’ s SSRC to which the information in this reception report block pertains the source ’ s SSRC to which the information in this reception report block pertains

profile-specific extensions... SSRC_2 (SSRC of second source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (third section – reception report blocks) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info fraction lost: 8 bits fraction lost: 8 bits the fraction of RTP data packets from source SSRC_n lost since the previous SR or RR packet was sent the fraction of RTP data packets from source SSRC_n lost since the previous SR or RR packet was sent

profile-specific extensions... SSRC_2 (SSRC of second source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (third section – reception report blocks) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info cumulative number of packers lost: 24 bits cumulative number of packers lost: 24 bits the total number of RTP data packets from source SSRC_n that have been lost since the beginning of reception the total number of RTP data packets from source SSRC_n that have been lost since the beginning of reception

profile-specific extensions... SSRC_2 (SSRC of second source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (third section – reception report blocks) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info extended highest sequence number received: 32 bits extended highest sequence number received: 32 bits the low 16 bits contain highest sequence number received in an RTP data packer from source SSRC_n the low 16 bits contain highest sequence number received in an RTP data packer from source SSRC_n the most significant 16 bits extend that sequence number with the corresponding count of sequence number cycles the most significant 16 bits extend that sequence number with the corresponding count of sequence number cycles

profile-specific extensions... SSRC_2 (SSRC of second source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (third section – reception report blocks) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info Interarrival jitter: 32 bits Interarrival jitter: 32 bits an estimate of the statistical variance of the RTP data packer interarrival time an estimate of the statistical variance of the RTP data packer interarrival time

profile-specific extensions... SSRC_2 (SSRC of second source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (third section – reception report blocks) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info Last SR timestamp (LSR): 32 bits Last SR timestamp (LSR): 32 bits the middle 32 bits out of 64 in the NTP timestamp received as part of the most recent RTCP sender report packer form source SSRC_n the middle 32 bits out of 64 in the NTP timestamp received as part of the most recent RTCP sender report packer form source SSRC_n if no SR has been received yet, the field is set to zero if no SR has been received yet, the field is set to zero

profile-specific extensions... SSRC_2 (SSRC of second source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (third section – reception report blocks) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info Delay since last SR (DLSR): 32 bits Delay since last SR (DLSR): 32 bits the delay, between receiving the last SR packer form source SSRC_N and sending this reception report block the delay, between receiving the last SR packer form source SSRC_N and sending this reception report block if no SR has been received yet from SSRC_n, the field is set to zero if no SR has been received yet from SSRC_n, the field is set to zero

profile-specific extensions... SSRC_2 (SSRC of second source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) sender ’ s octet count sender ’ s packet count RTP tiemstamp RTCP Packet - SR (fourth section – extensions blocks) NTP timestamp, least significant word NTP timestamp, most significant word SSRC of sender V2P RC PT=SR=200length Report Block 1 Report Block 2 header sender info profile-specific extensions profile-specific extensions if there is additional information that should be reported regularly about the sender or receivers if there is additional information that should be reported regularly about the sender or receivers

profile-specific extensions... SSRC_2 (SSRC of second source) Delay since last SR(DLSR) last SR (LSR) interarrival jitter extended highest sequence number received fraction lost cumulative number of packets lost SSRC_1 (SSRC of first source) RTCP Packet - RR SSRC of sender V2P RC PT=RR=201length Report Block 1 Report Block 2 header is the same as that of the SR packet except that the packer type field contains the constant 201 and the five words of sender information are omitted is the same as that of the SR packet except that the packer type field contains the constant 201 and the five words of sender information are omitted

RTCP Packet – Source Description SDES items … SSRC/CSRC_2 SDES items … SSRC/CSRC_1 V2P SC PT=SDES=202length header chunk 1 version (V), padding (P), length: version (V), padding (P), length: as described for the SR packet as described for the SR packet packet type (PT): 8 bits packet type (PT): 8 bits contains the constant 202 to identify this as an RTCP SDES packet contains the constant 202 to identify this as an RTCP SDES packet source count (SC): 5 bits source count (SC): 5 bits the number of SSRC/CSRC chunks contained in this SDES packet the number of SSRC/CSRC chunks contained in this SDES packet chunk 2

RTCP Packet – Source Description some SDES itmes some SDES itmes CNAME CNAME Name Name Phone Phone Loc Loc Tool Tool Note Note

RTCP Packet – Source Description item CNAME=1 lengthUser and domain name … type field: 8 bits type field: 8 bits CNAME=1 CNAME=1 length field: 8 bits length field: 8 bits not include type field and length field not include type field and length field user and domain name field: be no longer than 255 octets user and domain name field: be no longer than 255 octets examples: or for a multi-user system examples: or for a multi-user examples: sleepy.megacorp.com or for the system with no user name examples: sleepy.megacorp.com or for the system with no user name

RTCP Packet – Source Description item NAME=2 lengthcommon name of source … type field: 8 bits type field: 8 bits NAME=2 NAME=2 length field: 8 bits length field: 8 bits not include type field and length field not include type field and length field common name of source field: be no longer than 255 octets common name of source field: be no longer than 255 octets it may be any form desired by the user it may be any form desired by the user examples: John Doe, Recycler, Megacorp examples: John Doe, Recycler, Megacorp

RTCP Packet – Source Description item =3 length address of source … type field: 8 bits type field: 8 bits =3 =3 length field: 8 bits length field: 8 bits not include type field and length field not include type field and length field address of source field: be no longer than 255 octets address of source field: be no longer than 255 octets address is formatted according to RFC 822 address is formatted according to RFC 822 example, “ ” example, “ ”

RTCP Packet – Source Description item PHONE=4 lengthPhone number of source … type field: 8 bits type field: 8 bits PHONE=4 PHONE=4 length field: 8 bits length field: 8 bits not include type field and length field not include type field and length field phone number of source field: be no longer than 255 octets phone number of source field: be no longer than 255 octets phone number phone number

RTCP Packet – Source Description item LOC=5 lengthgeographic location of site type field: 8 bits type field: 8 bits LOC=5 LOC=5 length field: 8 bits length field: 8 bits not include type field and length field not include type field and length field geographic location of site field: be no longer than 255 octets geographic location of site field: be no longer than 255 octets

RTCP Packet – Source Description item TOOL=6 lengthname/version of source appl … type field: 8 bits type field: 8 bits TOOL=6 TOOL=6 length field: 8 bits length field: 8 bits not include type field and length field not include type field and length field name/version of source appl field: be no longer than 255 octets name/version of source appl field: be no longer than 255 octets e.g., videotool 1.2 e.g., videotool 1.2

RTCP Packet – Source Description item NOTE=7 lengthnote about the source … type field: 8 bits type field: 8 bits NOTE=7 NOTE=7 length field: 8 bits length field: 8 bits not include type field and length field not include type field and length field note about the source field: be no longer than 255 octets note about the source field: be no longer than 255 octets Should be used only carry exceptional information Should be used only carry exceptional information

length RTCP Packet – BYE Reason for leaving … SSRC/CSRC V2P SC PT=BYE=203length version (V), padding (P), length: version (V), padding (P), length: as described for the SR packet as described for the SR packet packet type (PT): 8 bits packet type (PT): 8 bits contains the constant 203 to identify this as an RTCP BYE packet contains the constant 203 to identify this as an RTCP BYE packet source count (SC): 5 bits source count (SC): 5 bits the number of SSRC/CSRC identifiers included in this BYE packer the number of SSRC/CSRC identifiers included in this BYE packer opt

application-dependent data … name (ASCII) RTCP Packet – Application defined SSRC/CSRC V2P subtype PT=APP=204length version (V), padding (P), length: version (V), padding (P), length: as described for the SR packet as described for the SR packet subtype (PT): 5 bits subtype (PT): 5 bits Defined under one unique name Defined under one unique name Name: 4 octets Name: 4 octets a name chosen by the person defining the set of APP packets to be unique with respect to other APP packets this application might receive a name chosen by the person defining the set of APP packets to be unique with respect to other APP packets this application might receive

RTCP packet structure SRSDECBYE SSRC sender report site 1site 2 SSRC reason packet if encrypted: random 32-bit integer compound packet DUP packet

Translators and Mixers add or remove encryption add or remove encryption change the encoding of the data or the underlying protocols change the encoding of the data or the underlying protocols replicate between multicast address and one or more unicast address replicate between multicast address and one or more unicast address

RTCP Processing in Translators SR sender information SR sender information forwards the SSRC information received forwards the SSRC information received change the “ sender ’ s octet(byte) count ” change the “ sender ’ s octet(byte) count ” change the “ sender ’ s packer count ” change the “ sender ’ s packer count ” change the “ RTP timestamp ” change the “ RTP timestamp ” SR/RR reception report blocks SR/RR reception report blocks forwards the SSRC information received forwards the SSRC information received change the sequence numbers change the sequence numbers

RTCP Processing in Translators SDES SDES forward without change the SDES information forward without change the SDES information if bandwidth is limited, filter non-CNAME SDES information if bandwidth is limited, filter non-CNAME SDES information send SDES CNAME information about itself send SDES CNAME information about itself BYE BYE forward BYE packets unchanged forward BYE packets unchanged APP APP forward APP packets unchanged forward APP packets unchanged

RTCP Processing in Mixers SR sender information SR sender information generates its own SR packets generates its own SR packets SR/RR reception report blocks SR/RR reception report blocks generates its own reception reports generates its own reception reports SDES SDES forward without change the SDES information forward without change the SDES information if bandwidth is limited, filter non-CNAME SDES information if bandwidth is limited, filter non-CNAME SDES information

RTCP Processing in Mixers BYE BYE Mixer need to forward BYE packets Mixer need to forward BYE packets generate BYE packets whit their own SSRC identifiers generate BYE packets whit their own SSRC identifiers APP APP application-specific application-specific

Cascaded Mixers E1 T1 E2 E3 E4 E5 E6 E7 M1 M2 M3 T2 E3:64 End System Translator Mixer Source: SSRC (CSRCs) M2:12 (64) E5:45 M3:89 (64,45) E2:1 E1:17 E4:47 M1:48 (1,17)E4:47 M1:48 (1,17) E6:15 M1:48 (1,17) E4:47 M3:89 (64,45)

SSRC Identifier Allocation and Use SSRC identifier is random 32-bit number SSRC identifier is random 32-bit number SSRC identifier is required to be globally unique within an RTP session SSRC identifier is required to be globally unique within an RTP session using the MD5(RFC 1321-The MD5 Message-Digest Algorithm) routing to generates a random 32-bit identifier using the MD5(RFC 1321-The MD5 Message-Digest Algorithm) routing to generates a random 32-bit identifier probability of Collision probability of Collision W. Feller, An Introduction to Probability Theory and its Applications, Volume 1, vol. 1. New York, New York: John Wiley and Sons, Third ed, 1968 W. Feller, An Introduction to Probability Theory and its Applications, Volume 1, vol. 1. New York, New York: John Wiley and Sons, Third ed, 1968 worst-cast: 1 – exp (-N**2/2**(L+1)), N is the number of source and L the length of the identifier (here,32 bits), For N=1000, the probability 10**(-4) worst-cast: 1 – exp (-N**2/2**(L+1)), N is the number of source and L the length of the identifier (here,32 bits), For N=1000, the probability 10**(-4) N/2**L, N is the number of source and L the length of the identifier, For N=1000, the probability 2*10**(-7) N/2**L, N is the number of source and L the length of the identifier, For N=1000, the probability 2*10**(-7)

SSRC Identifier Allocation and Use Collision Resolution and Loop Detection Collision Resolution and Loop Detection the same SSRC identifier but a different source transport address the same SSRC identifier but a different source transport address if a source discovers that another source is using the same SSRC identifier as its own, if must send an RTCP BYE packet for the old identifier and choose another random one. if a source discovers that another source is using the same SSRC identifier as its own, if must send an RTCP BYE packet for the old identifier and choose another random one. if a receiver discovers that two other source are colliding, it may keep the packets from one and discard the packets from other if a receiver discovers that two other source are colliding, it may keep the packets from one and discard the packets from other detect by different source transport address or CNAMEs detect by different source transport address or CNAMEs

SSRC Identifier Allocation and Use loop examples: loop examples: a translator may incorrectly forward a packet to the same multicast group form which it has received the packet a translator may incorrectly forward a packet to the same multicast group form which it has received the packet two translators incorrectly set in parallel two translators incorrectly set in parallel T1 T2

SSRC Identifier Allocation and Use loop or collision algorithm loop or collision algorithm an identifier is not found in the table an identifier is not found in the table an identifier is found in the table an identifier is found in the table an identifier collision or loop is indicated an identifier collision or loop is indicated a collision or loop of the participant ’ s own data a collision or loop of the participant ’ s own data

Security confidentiality confidentiality only the intended receiver(s) can decode the received packet only the intended receiver(s) can decode the received packet confidentiality of the content is achieved by encryption confidentiality of the content is achieved by encryption Data Encryption Standard (DES) Data Encryption Standard (DES) authentication and message integrity authentication and message integrity not defined not defined

Summary of Protocol Constants payload type payload type RTCP packet types RTCP packet types SR 200 SR 200 RR 201 RR 201 SDES 202 SDES 202 BYT 203 BYT 203 APP 204 APP 204 SDES types SDES types END 0 END 0 CNAME 1 CNAME 1 NAME 2 NAME PHONE 4 PHONE 4 LOC 5 LOC 5 TOOL 6 TOOL 6 NOTE 7 NOTE 7

Reference RFC 1889 RFC 1889 RFC 1890 RFC 1890 RFC 3550 RFC 3550 RFC 3551 RFC /7/rtp.pdf /7/rtp.pdf