real-time transport protocol kun-ta lee 2004.5.21 national taipei university of technology

68
Real-time Real-time Transport Transport Protocol Protocol Kun-Ta Lee Kun-Ta Lee 2004.5.21 2004.5.21 National Taipei University of Te National Taipei University of Te chnology chnology

Post on 21-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Real-time Real-time Transport Transport ProtocolProtocol

Kun-Ta LeeKun-Ta Lee2004.5.21 2004.5.21

National Taipei University of TechnoloNational Taipei University of Technologygy

Page 2: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

OutlineOutline IntroductionIntroduction DefinitionsDefinitions RTP RTP RTCP RTCP Translators and MixersTranslators and Mixers SSRC Identifier Allocation and UseSSRC Identifier Allocation and Use SecuritySecurity Summary of Protocol ConstantsSummary of Protocol Constants ReferenceReference

Page 3: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Introduction (1)Introduction (1) provides one-to-one or one-to-may delivery seprovides one-to-one or one-to-may delivery se

rvices for data whit real-time characteristicsrvices for data whit real-time characteristics does not guarantee delivery or prevent out-of-does not guarantee delivery or prevent out-of-

order deliveryorder delivery receiver allow to reconstruct the sender’s pareceiver allow to reconstruct the sender’s pa

cket sequencecket sequence RTPRTP is primarily designed to satisfy the needs is primarily designed to satisfy the needs

of multi-participant applicationof multi-participant application RTP RTP control protocol control protocol (RTCP)(RTCP), to monitor the , to monitor the

quality of service and to convey information aquality of service and to convey information about the participants in an on-going sessionbout the participants in an on-going session

Page 4: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Introduction (2)Introduction (2) RTP Use ScenariosRTP Use Scenarios

Simple Multicast Audio ConferenceSimple Multicast Audio Conference can change the encoding during a conferencecan change the encoding during a conference allow the receivers to reconstruct the timing produced by allow the receivers to reconstruct the timing produced by

the sourcethe source to know who is participating and how well they are to know who is participating and how well they are

receiving the audio datareceiving the audio data sends the RTCP packet when it leaves the conferencesends the RTCP packet when it leaves the conference

Audio and Video ConferenceAudio and Video Conference no direct coupling at the RTP level between audio and videono direct coupling at the RTP level between audio and video participant can choose only one medium in the conferenceparticipant can choose only one medium in the conference using timing information carried in the RTCP packets can using timing information carried in the RTCP packets can

be achieved synchronization for audio and video sessionbe achieved synchronization for audio and video session

Page 5: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Introduction (3)Introduction (3)

Mixers and TranslatorsMixers and Translators Mixer (RTP-level relay): mixes reconstructed aMixer (RTP-level relay): mixes reconstructed a

udio streams into a single stream and translateudio streams into a single stream and translates the audio encoding to a lower-bandwidth ons the audio encoding to a lower-bandwidth one and forwards he lower-bandwidth packet stre and forwards he lower-bandwidth packet stream across the low-speed link.eam across the low-speed link.

Translator (RTP-level realy): translates differeTranslator (RTP-level realy): translates different formatnt format

Translator out-sideTranslator in-side Firewall

Page 6: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Definitions (1)Definitions (1)

RTP payload: the data transported by RTP payload: the data transported by RTP in a packetRTP in a packet

RTP packet: a data packet consisting of RTP packet: a data packet consisting of the fixed RTP headerthe fixed RTP header

RTCP packet: a control packet RTCP packet: a control packet consisting of a fixed header part similar consisting of a fixed header part similar to that o RTP data packet, followed by to that o RTP data packet, followed by structured elements that vary structured elements that vary depending upon the RTCP packet typedepending upon the RTCP packet type

Page 7: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Definitions (2)Definitions (2)application

mediaencapsulation

RTP RTCP

Source port + Dstination port + Message length + Checksum + UDP DataUDP

IPv4/IPv6

EthernetAAL5

ATM

Page 8: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Definitions (3)Definitions (3) Port: transport layer UDP portPort: transport layer UDP port Transport address: an IP address and a UDP port, packets are Transport address: an IP address and a UDP port, packets are

transmitted from a source transport address to a destination transmitted from a source transport address to a destination transport addresstransport address

RTP SessionRTP Session the session is defined by a particular pair of destination transport the session is defined by a particular pair of destination transport

addresses (one network address plus a port pair for RTP and RTCP)addresses (one network address plus a port pair for RTP and RTCP) in a multimedia session, each medium is carried in a separate RTP in a multimedia session, each medium is carried in a separate RTP

session with its own RTCP packets.session with its own RTCP packets. Synchronization source (SSRC)Synchronization source (SSRC)

the source of s stream of RTP packetsthe source of s stream of RTP packets 32-bit numeric 32-bit numeric randomly chosen, uniquerandomly chosen, unique not use the same SSRC identifier for all the RTP sessions in a not use the same SSRC identifier for all the RTP sessions in a

multimedia sessionmultimedia session binding of the SSRC identifiers is provided through RTCPbinding of the SSRC identifiers is provided through RTCP

Contributing source (CSRC): the source of a stream of RTP Contributing source (CSRC): the source of a stream of RTP packets that has contributed to the combined stream produced by packets that has contributed to the combined stream produced by an RTP mixeran RTP mixer

Page 9: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Definitions (4)Definitions (4) End system: generates the content to be sent in RTP packEnd system: generates the content to be sent in RTP pack

ets and/or consumes the content of received RTP packetsets and/or consumes the content of received RTP packets MixerMixer

receives RTP packet from one or more sourcereceives RTP packet from one or more source possibly changes the data formatpossibly changes the data format combines the packets in some manner and forwards a new RTP pcombines the packets in some manner and forwards a new RTP p

acketacket generate its own timing for the combined streamgenerate its own timing for the combined stream new packets that from a mixer will be identified as having the minew packets that from a mixer will be identified as having the mi

xer as their synchronization source xer as their synchronization source TranslatorTranslator

forwards RTP packets with their synchronization source identifieforwards RTP packets with their synchronization source identifier intactr intact

convert encodings without mixingconvert encodings without mixing replicate from multicast to unicastreplicate from multicast to unicast

Page 10: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Definitions (5)Definitions (5)

end systemSSRC=17

end systemSSRC=39

192.35.149.52

128.119.40.186

DVI4

L16

translator192.26.8.84

GSM

GSM (Group Speciale Mobile)Mixer

SSRC=5

192.20.225.101

SSRC=5

CSRC=17 39

Page 11: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Definitions (6)Definitions (6) MonitorMonitor

An application, that receives RTCP packets An application, that receives RTCP packets (reception report) sent by participants in an RTP (reception report) sent by participants in an RTP sessionsession

estimates the current quality of service, fault estimates the current quality of service, fault diagnosis and long-term statisticsdiagnosis and long-term statistics

Non-RTP meansNon-RTP means in addition to RTP to provide a usable servicein addition to RTP to provide a usable service example: negotiate the encryption algorithm, example: negotiate the encryption algorithm,

define dynamic mappings between RTP payload define dynamic mappings between RTP payload type values and payload formats they represent for type values and payload formats they represent for formats that do not have a predefined payload type formats that do not have a predefined payload type valuevalue

Simple applications, electronic mail or a Simple applications, electronic mail or a conference database may also be usedconference database may also be used

Page 12: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

0x00

payload (audio, video, …)

header extension

contributing source identifier (CSRC)

synchronization source identifier (SSRC)

timestamp

RTP Packet (1)RTP Packet (1)

V2 P XCSRCcount

M payload type sequence number

op

t.op

t.op

t.

80 16 24 32

UD

P

packet

first twelve octets are present in every RTP hacketfirst twelve octets are present in every RTP hacket the list of CSRC identifiers is present only when inserted by a the list of CSRC identifiers is present only when inserted by a

mixmix

Page 13: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

version (V): 2 bitsversion (V): 2 bits V=0 → “avt” audio tool. ; V=1 → first draft version of RTPV=0 → “avt” audio tool. ; V=1 → first draft version of RTP

padding (P): 1 bitpadding (P): 1 bit the last octet of the padding contains a count of how many padding octets should be ignoredthe 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)RTP Packet (2)

V2 P XCSRCcount

M payload type sequence number

op

t.op

t.op

t.

80 16 24 32

UD

P

packet

Page 14: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

extension (X): 1 bitextension (X): 1 bit if the extension bit is set, the fixed header is followed if the extension bit is set, the fixed header is followed

by exactly one header extensionby exactly one header extension

0x00

payload (audio, video, …)

header extension

contributing source identifier (CSRC)

synchronization source identifier (SSRC)

timestamp

RTP Packet (3)RTP Packet (3)

V2 P XCSRCcount

M payload type sequence number

op

t.op

t.op

t.

80 16 24 32

UD

P

packet

Page 15: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

CSRC count (CC): 4 bitsCSRC count (CC): 4 bits the CSRC count contains the number of CSRC identifiers that follow the fix headerthe CSRC count contains the number of CSRC identifiers that follow the fix header

Maker (M): 1 bitMaker (M): 1 bit intended to allow significant events such as frame boundaries to be marked in the packet intended to allow significant events such as frame boundaries to be marked in the packet

streamstream

0x00

payload (audio, video, …)

header extension

contributing source identifier (CSRC)

synchronization source identifier (SSRC)

timestamp

V2 P XCSRCcount

M payload type sequence number

op

t.op

t.op

t.

80 16 24 32

UD

P

packet

RTP Packet (4)RTP Packet (4)

Page 16: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

payload type (PT): 7 bitspayload type (PT): 7 bits identifies the format of the RTP payload and determines its interpretation by the applicatidentifies the format of the RTP payload and determines its interpretation by the applicat

ionion Default mappings for audio and video is specified in the companion profile Internet-DrafDefault mappings for audio and video is specified in the companion profile Internet-Draf

t draft-ietf-avt-profilet draft-ietf-avt-profile

0x00

payload (audio, video, …)

header extension

contributing source identifier (CSRC)

synchronization source identifier (SSRC)

timestamp

V2 P XCSRCcount

M payload type sequence number

op

t.op

t.op

t.

80 16 24 32

UD

P

packet

RTP Packet (5)RTP Packet (5)

Page 17: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

sequence number : 16 bitssequence number : 16 bits increments by one for each RTP data packet sentincrements by one for each RTP data packet sent used by the receiver to detect packet loss and to restore packet used by the receiver to detect packet loss and to restore packet

sequencesequence

0x00

payload (audio, video, …)

header extension

contributing source identifier (CSRC)

synchronization source identifier (SSRC)

timestamp

V2 P XCSRCcount

M payload type sequence number

op

t.op

t.op

t.

80 16 24 32

UD

P

packet

RTP Packet (6)RTP Packet (6)

Page 18: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

timestamp : 32 bitstimestamp : 32 bits timestamp reflects the sampling instant of the first timestamp reflects the sampling instant of the first

octet in the RTP data packetoctet in the RTP data packet

0x00

payload (audio, video, …)

header extension

contributing source identifier (CSRC)

synchronization source identifier (SSRC)

timestamp

V2 P XCSRCcount

M payload type sequence number

op

t.op

t.op

t.

80 16 24 32

UD

P

packet

RTP Packet (7)RTP Packet (7)

Page 19: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

SSRC : 32 bitsSSRC : 32 bits identifies the synchronization sourceidentifies the synchronization source this identifier is chosen randomlythis identifier is chosen randomly all RTP implementations must be prepared to detect and resolve collisionsall 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

V2 P XCSRCcount

M payload type sequence number

op

t.op

t.op

t.

80 16 24 32

UD

P

packet

RTP Packet (8)RTP Packet (8)

Page 20: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

CSRC list: 0 to 15 itemse, 32 bits eachCSRC list: 0 to 15 itemse, 32 bits each the CSRC list identifies the contributing source for the payload contained in this packetthe 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 identifiedif there are more than 15 contributing sources, only 15 may be identified inserted by mixerinserted by mixer

0x00

payload (audio, video, …)

header extension

contributing source identifier (CSRC)

synchronization source identifier (SSRC)

timestamp

V2 P XCSRCcount

M payload type sequence number

op

t.op

t.op

t.

80 16 24 32

UD

P

packet

RTP Packet (9)RTP Packet (9)

Page 21: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

0x00

payload (audio, video, …)

op

t.

header extension

defined by profile length

header extensionheader extension the first 16 bits of header extension are left open for distinguishing the first 16 bits of header extension are left open for distinguishing

identifiers or parametersidentifiers or parameters 16-bit length field that counts the number of 32-bit words in the extension16-bit length field that counts the number of 32-bit words in the extension

RTP Packet (10)RTP Packet (10)

contributing source identifier (CSRC)

synchronization source identifier (SSRC)

timestamp

V2 P XCSRCcount

M payload type sequence number

op

t.op

t.

80 16 24 32

UD

P

packet

Page 22: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP FunctionsRTCP Functions provide feedback on the quality of the data distributionprovide feedback on the quality of the data distribution

this feedback function is performed by the RTCP sender and this feedback function is performed by the RTCP sender and receiver reportsreceiver reports

RTCP carries a persistent transport-level identifier for RTCP carries a persistent transport-level identifier for an RTP source called the canonical name or CNAMEan RTP source called the canonical name or CNAME SSRC identifier may change if a conflict is discovered or a SSRC identifier may change if a conflict is discovered or a

program is restartedprogram is restarted receivers require the CNAME to keep track of each participantreceivers require the CNAME to keep track of each participant receivers require the CNAME to associate multiple data receivers require the CNAME to associate multiple data

stream for a given participant in a set of related RTP sessionsstream for a given participant in a set of related RTP sessions each participant send its control packets to all the each participant send its control packets to all the

others, each can independently observe the number of others, each can independently observe the number of participantsparticipants

convey minimal session control informationconvey minimal session control information for example participant identification to be displayed in the for example participant identification to be displayed in the

user interfaceuser interface

Page 23: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Packet FormatRTCP Packet Format

SR: sender report, for transmission SR: sender report, for transmission and reception statistics from and reception statistics from participants that are active sendersparticipants that are active senders

RR: receiver report, for reception RR: receiver report, for reception statistics from participants that are statistics from participants that are not active sendersnot active senders

SDES: source description items, SDES: source description items, including CNAMEincluding CNAME

BYE: indicates end of participationBYE: indicates end of participation APP: application specific functionsAPP: application specific functions

Page 24: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of first source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR(first section - header)(first section - header)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

version (V): 2 bitsversion (V): 2 bits V=0 → “avt” audio tool. ; V=1 → first draft version of RTPV=0 → “avt” audio tool. ; V=1 → first draft version of RTP

Page 25: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of first source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (first section - header) (first section - header)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

padding (P): 1 bitpadding (P): 1 bit the last octet of the padding contains a count of how many padding octets should be the last octet of the padding contains a count of how many padding octets should be

ignoredignored In a compound RTCP packet, padding should only be required on the last individual In a compound RTCP packet, padding should only be required on the last individual

packetpacket

Page 26: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of first source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (first section - header) (first section - header)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

reception report count (RC): 5 bitsreception report count (RC): 5 bits the number of reception report blocks contained in this the number of reception report blocks contained in this

packetpacket

Page 27: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of first source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (first section - header) (first section - header)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

packet type (PT): 8 bitspacket type (PT): 8 bits the constant 200 to identify this as an SR packetthe constant 200 to identify this as an SR packet

Page 28: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of first source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (first section - header) (first section - header)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

length: 16 bitslength: 16 bits including the header and any paddingincluding the header and any padding 1 unit = 32-bit1 unit = 32-bit

Page 29: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of first source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (first section - header) (first section - header)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

SSRC: 32 bitsSSRC: 32 bits synchronization source identifier for the originator of synchronization source identifier for the originator of

this SR packetthis SR packet

Page 30: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of first source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (second section – sender (second section – sender

info)info)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

NTP timestamp: 64 bitsNTP timestamp: 64 bits indicates the wallclock time when this report was sentindicates the wallclock time when this report was sent

Page 31: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of first source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (second section – sender (second section – sender

info)info)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

RTP timestamp: 32 bitsRTP timestamp: 32 bits

Page 32: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of first source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (second section – sender (second section – sender

info)info)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

sender’s packer count: 32 bitssender’s packer count: 32 bits total number of RTP data packets transmitted by the sender since total number of RTP data packets transmitted by the sender since

starting transmission up until the time this SR packet was starting transmission up until the time this SR packet was generatedgenerated

Page 33: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of first source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (second section – sender (second section – sender

info)info)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

sender’s octet count: 32 bitssender’s octet count: 32 bits total number of payload octets (not including header or padding) total number of payload octets (not including header or padding)

transmitted in RTP data packets by the sender since starting transmitted in RTP data packets by the sender since starting transmission up until the time this SR packet was generatedtransmission up until the time this SR packet was generated

Page 34: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Packet - SRRTCP Packet - SR (third section – reception report (third section – reception report

blocks)blocks) contains 0 ~ more reception report contains 0 ~ more reception report

blocks depending on the number of other blocks depending on the number of other source heard by this sender since the source heard by this sender since the last reportlast report

conveys statistics on the reception of conveys statistics on the reception of RTP packets from a single RTP packets from a single synchronization sourcesynchronization source

receivers do not carry over statistics receivers do not carry over statistics when a source changes its SSRC when a source changes its SSRC identifier due to a collisionidentifier due to a collision

Page 35: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of second source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (third section – reception report (third section – reception report

blocks)blocks)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

SSRC_n (source identifier): 32 bitsSSRC_n (source identifier): 32 bits the source’s SSRC to which the information in this receptithe source’s SSRC to which the information in this recepti

on report block pertainson report block pertains

Page 36: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of second source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (third section – reception report (third section – reception report

blocks)blocks)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

fraction lost: 8 bitsfraction lost: 8 bits the fraction of RTP data packets from source SSRC_n lost sithe fraction of RTP data packets from source SSRC_n lost si

nce the previous SR or RR packet was sentnce the previous SR or RR packet was sent

Page 37: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of second source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (third section – reception report (third section – reception report

blocks)blocks)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

cumulative number of packers lost: 24 bitscumulative number of packers lost: 24 bits the total number of RTP data packets from source SSRC_n tthe total number of RTP data packets from source SSRC_n t

hat have been lost since the beginning of receptionhat have been lost since the beginning of reception

Page 38: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of second source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (third section – reception report (third section – reception report

blocks)blocks)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

extended highest sequence number received: 32 bitsextended highest sequence number received: 32 bits the low 16 bits contain highest sequence number received in an RTP data packer from the low 16 bits contain highest sequence number received in an RTP data packer from

source SSRC_nsource SSRC_n the most significant 16 bits extend that sequence number with the corresponding counthe most significant 16 bits extend that sequence number with the corresponding coun

t of sequence number cyclest of sequence number cycles

Page 39: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of second source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (third section – reception report (third section – reception report

blocks)blocks)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

Interarrival jitter: 32 bitsInterarrival jitter: 32 bits an estimate of the statistical variance of the RTP data packean estimate of the statistical variance of the RTP data packe

r interarrival timer interarrival time

Page 40: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of second source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (third section – reception report (third section – reception report

blocks)blocks)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

Last SR timestamp (LSR): 32 bitsLast SR timestamp (LSR): 32 bits the middle 32 bits out of 64 in the NTP timestamp received as part of the mthe middle 32 bits out of 64 in the NTP timestamp received as part of the m

ost recent RTCP sender report packer form source SSRC_nost recent RTCP sender report packer form source SSRC_n if no SR has been received yet, the field is set to zeroif no SR has been received yet, the field is set to zero

Page 41: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of second source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (third section – reception report (third section – reception report

blocks)blocks)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

Delay since last SR (DLSR): 32 bitsDelay since last SR (DLSR): 32 bits the delay, between receiving the last SR packer form source SSRC_N and sthe delay, between receiving the last SR packer form source SSRC_N and s

ending this reception report blockending this reception report block if no SR has been received yet from SSRC_n, the field is set to zeroif no SR has been received yet from SSRC_n, the field is set to zero

Page 42: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of second source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)sender’s octet count

sender’s packet countRTP tiemstamp

RTCP Packet - SRRTCP Packet - SR (fourth section – extensions (fourth section – extensions

blocks)blocks)

NTP timestamp, least significant wordNTP timestamp, most significant word

SSRC of senderV2 P RC PT=SR=200 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

senderinfo

profile-specific extensionsprofile-specific extensions if there is additional information that should be if there is additional information that should be

reported regularly about the sender or receiversreported regularly about the sender or receivers

Page 43: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

profile-specific extensions

...

SSRC_2 (SSRC of second source)Delay since last SR(DLSR)

last SR (LSR)interarrival jitter

extended highest sequence number receivedfraction lost cumulative number of packets lost

SSRC_1 (SSRC of first source)

RTCP Packet - RRRTCP Packet - RR

SSRC of senderV2 P RC PT=RR=201 length

80 16 24 32

ReportBlock

1

ReportBlock

2

header

is the same as that of the SR packet except that the is the same as that of the SR packet except that the packer type field contains the constant 201 and the packer type field contains the constant 201 and the five words of sender information are omittedfive words of sender information are omitted

Page 44: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Packet – Source RTCP Packet – Source DescriptionDescription

SDES items…

SSRC/CSRC_2

SDES items…

SSRC/CSRC_1V2 P SC PT=SDES=202 length

80 16 24 32

header

chunk1

version (V), padding (P), length:version (V), padding (P), length: as described for the SR packetas described for the SR packet

packet type (PT): 8 bitspacket type (PT): 8 bits contains the constant 202 to identify this as an RTCP SDES contains the constant 202 to identify this as an RTCP SDES

packetpacket source count (SC): 5 bitssource count (SC): 5 bits

the number of SSRC/CSRC chunks contained in this SDES packetthe number of SSRC/CSRC chunks contained in this SDES packet

chunk2

Page 45: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Packet – Source RTCP Packet – Source DescriptionDescription

some SDES itmessome SDES itmes CNAMECNAME NameName EmailEmail PhonePhone LocLoc ToolTool NoteNote

Page 46: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Packet – Source RTCP Packet – Source Description itemDescription item

CNAME=1 length User and domain name …

80 16 24 32

type field: 8 bitstype field: 8 bits CNAME=1CNAME=1

length field: 8 bitslength field: 8 bits not include type field and length fieldnot include type field and length field

user and domain name field: be no longer than 255 ouser and domain name field: be no longer than 255 octetsctets examples: examples: [email protected]@sleepy.megacorp.com or or [email protected]@192.0.2.89 for for

a multi-user systema multi-user system examples: sleepy.megacorp.com or 192.0.2.89 for the system examples: sleepy.megacorp.com or 192.0.2.89 for the system

with no user namewith no user name

Page 47: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Packet – Source RTCP Packet – Source Description itemDescription item

NAME=2 length common name of source …

80 16 24 32

type field: 8 bitstype field: 8 bits NAME=2NAME=2

length field: 8 bitslength field: 8 bits not include type field and length fieldnot include type field and length field

common name of source field: be no longer than 25common name of source field: be no longer than 255 octets5 octets it may be any form desired by the userit may be any form desired by the user examples: John Doe, Recycler, Megacorpexamples: John Doe, Recycler, Megacorp

Page 48: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Packet – Source RTCP Packet – Source Description itemDescription item

EMAIL=3 length email address of source …

80 16 24 32

type field: 8 bitstype field: 8 bits EMAIL=3EMAIL=3

length field: 8 bitslength field: 8 bits not include type field and length fieldnot include type field and length field

email address of source field: be no longer than 255 email address of source field: be no longer than 255 octetsoctets Email address is formatted according to RFC 822Email address is formatted according to RFC 822 example, “ [email protected]”example, “ [email protected]

Page 49: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Packet – Source RTCP Packet – Source Description itemDescription item

PHONE=4 length Phone number of source …

80 16 24 32

type field: 8 bitstype field: 8 bits PHONE=4PHONE=4

length field: 8 bitslength field: 8 bits not include type field and length fieldnot include type field and length field

phone number of source field: be no phone number of source field: be no longer than 255 octetslonger than 255 octets phone numberphone number

Page 50: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Packet – Source RTCP Packet – Source Description itemDescription item

LOC=5 length geographic location of site

80 16 24 32

type field: 8 bitstype field: 8 bits LOC=5LOC=5

length field: 8 bitslength field: 8 bits not include type field and length fieldnot include type field and length field

geographic location of site field: be geographic location of site field: be no longer than 255 octetsno longer than 255 octets

Page 51: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Packet – Source RTCP Packet – Source Description itemDescription item

TOOL=6 length name/version of source appl …

80 16 24 32

type field: 8 bitstype field: 8 bits TOOL=6TOOL=6

length field: 8 bitslength field: 8 bits not include type field and length fieldnot include type field and length field

name/version of source appl field: be no lonname/version of source appl field: be no longer than 255 octetsger than 255 octets e.g., videotool 1.2e.g., videotool 1.2

Page 52: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Packet – Source RTCP Packet – Source Description itemDescription item

NOTE=7 length note about the source …

80 16 24 32

type field: 8 bitstype field: 8 bits NOTE=7NOTE=7

length field: 8 bitslength field: 8 bits not include type field and length fieldnot include type field and length field

note about the source field: be no longer than note about the source field: be no longer than 255 octets255 octets Should be used only carry exceptional information Should be used only carry exceptional information

Page 53: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

length

RTCP Packet – BYERTCP Packet – BYE

Reason for leaving

SSRC/CSRCV2 P SC PT=BYE=203 length

80 16 24 32

version (V), padding (P), length:version (V), padding (P), length: as described for the SR packetas described for the SR packet

packet type (PT): 8 bitspacket type (PT): 8 bits contains the constant 203 to identify this as an RTCP BYE packetcontains the constant 203 to identify this as an RTCP BYE packet

source count (SC): 5 bitssource count (SC): 5 bits the number of SSRC/CSRC identifiers included in this BYE the number of SSRC/CSRC identifiers included in this BYE

packerpacker

opt

Page 54: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

application-dependent data …name (ASCII)

RTCP Packet – RTCP Packet – Application definedApplication defined

SSRC/CSRCV2 P subtype PT=APP=204 length

80 16 24 32

version (V), padding (P), length:version (V), padding (P), length: as described for the SR packetas described for the SR packet

subtype (PT): 5 bitssubtype (PT): 5 bits Defined under one unique nameDefined under one unique name

Name: 4 octetsName: 4 octets a name chosen by the person defining the set of APP a name chosen by the person defining the set of APP

packets to be unique with respect to other APP packets packets to be unique with respect to other APP packets this application might receivethis application might receive

Page 55: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP packet structureRTCP packet structure

SR SDEC BYE

SS

RC S

SR

C SS

RC

senderreport site 1 site 2

SS

RC S

SR

C SS

RC S

SR

C

reason

packet packet packet

if encrypted: random 32-bit integer

compound packet

DUP packet

Page 56: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Translators and MixersTranslators and Mixers

add or remove encryptionadd or remove encryption change the encoding of the data or the change the encoding of the data or the

underlying protocolsunderlying protocols replicate between multicast address anreplicate between multicast address an

d one or more unicast addressd one or more unicast address

Page 57: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Processing in RTCP Processing in TranslatorsTranslators

SR sender informationSR sender information forwards the SSRC information receivedforwards the SSRC information received change the “sender’s octet(byte) countchange 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 blocksSR/RR reception report blocks forwards the SSRC information receivedforwards the SSRC information received change the sequence numberschange the sequence numbers

Page 58: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Processing in RTCP Processing in TranslatorsTranslators

SDESSDES forward without change the SDES forward without change the SDES

informationinformation if bandwidth is limited, filter non-CNAME if bandwidth is limited, filter non-CNAME

SDES informationSDES information send SDES CNAME information about itselfsend SDES CNAME information about itself

BYEBYE forward BYE packets unchangedforward BYE packets unchanged

APPAPP forward APP packets unchangedforward APP packets unchanged

Page 59: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Processing in RTCP Processing in MixersMixers

SR sender informationSR sender information generates its own SR packets generates its own SR packets

SR/RR reception report blocksSR/RR reception report blocks generates its own reception reportsgenerates its own reception reports

SDESSDES forward without change the SDES forward without change the SDES

informationinformation if bandwidth is limited, filter non-if bandwidth is limited, filter non-

CNAME SDES informationCNAME SDES information

Page 60: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

RTCP Processing in RTCP Processing in MixersMixers

BYEBYE Mixer need to forward BYE packetsMixer need to forward BYE packets generate BYE packets whit their own generate BYE packets whit their own

SSRC identifiersSSRC identifiers APPAPP

application-specificapplication-specific

Page 61: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Cascaded MixersCascaded Mixers

E1

T1

E2

E3

E4

E5

E6

E7M1

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:47M1:48 (1,17) E4:47

M1:48 (1,17)

E6:15E6:15

M1:48 (1,17)

E4:47M3:89 (64,45)

Page 62: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

SSRC Identifier Allocation SSRC Identifier Allocation and Useand Use

SSRC identifier is random 32-bit numberSSRC identifier is random 32-bit number SSRC identifier is required to be globally unique SSRC identifier is required to be globally unique

within an RTP sessionwithin an RTP session using the MD5(RFC 1321-The MD5 Message-using the MD5(RFC 1321-The MD5 Message-

Digest Algorithm) routing to generates a random Digest Algorithm) routing to generates a random 32-bit identifier32-bit identifier

probability of Collisionprobability of Collision W. Feller, An Introduction to Probability Theory and its W. Feller, An Introduction to Probability Theory and its

Applications, Volume 1, vol. 1. New York, New York: Applications, Volume 1, vol. 1. New York, New York: John Wiley and Sons, Third ed, 1968John Wiley and Sons, Third ed, 1968

worst-cast: 1 – exp (-N**2/2**(L+1)), N is the number of 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), source and L the length of the identifier (here,32 bits), For N=1000, the probability 10**(-4)For N=1000, the probability 10**(-4)

N/2**L, N is the number of source and L the length of N/2**L, N is the number of source and L the length of the identifier, For N=1000, the probability 2*10**(-7)the identifier, For N=1000, the probability 2*10**(-7)

Page 63: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

SSRC Identifier Allocation SSRC Identifier Allocation and Useand Use

Collision Resolution and Loop DetectionCollision Resolution and Loop Detection the same SSRC identifier but a different source trathe same SSRC identifier but a different source tra

nsport addressnsport address if a source discovers that another source is using thif a source discovers that another source is using th

e same SSRC identifier as its own, if must send an e same SSRC identifier as its own, if must send an RTCP BYE packet for the old identifier and choose RTCP BYE packet for the old identifier and choose another random one.another random one.

if a receiver discovers that two other source are colif a receiver discovers that two other source are colliding, it may keep the packets from one and discarliding, it may keep the packets from one and discard the packets from other d the packets from other

detect by different source transport address or CNdetect by different source transport address or CNAMEs AMEs

Page 64: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

SSRC Identifier Allocation SSRC Identifier Allocation and Useand Use

loop examples:loop examples: a translator may incorrectly forward a a translator may incorrectly forward a

packet to the same multicast group form packet to the same multicast group form which it has received the packetwhich it has received the packet

two translators incorrectly set in paralleltwo translators incorrectly set in parallel

T1

T1

T2

Page 65: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

SSRC Identifier Allocation SSRC Identifier Allocation and Useand Use

loop or collision algorithmloop or collision algorithm an identifier is not found in the tablean identifier is not found in the table an identifier is found in the tablean identifier is found in the table an identifier collision or loop is an identifier collision or loop is

indicatedindicated a collision or loop of the participant’s a collision or loop of the participant’s

own dataown data

Page 66: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

SecuritySecurity

confidentialityconfidentiality only the intended receiver(s) can decode tonly the intended receiver(s) can decode t

he received packethe received packet confidentiality of the content is achieved confidentiality of the content is achieved

by encryptionby encryption Data Encryption Standard (DES) Data Encryption Standard (DES)

authentication and message integrityauthentication and message integrity not definednot defined

Page 67: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

Summary of Protocol Summary of Protocol ConstantsConstants

payload typepayload type RTCP packet typesRTCP packet types

SR 200SR 200 RR 201RR 201 SDES 202SDES 202 BYT 203BYT 203 APP 204APP 204

SDES typesSDES types END 0END 0 CNAME 1CNAME 1 NAME 2NAME 2 EMAIL 3EMAIL 3 PHONE 4PHONE 4 LOC 5LOC 5 TOOL 6TOOL 6 NOTE 7NOTE 7

Page 68: Real-time Transport Protocol Kun-Ta Lee 2004.5.21 National Taipei University of Technology

ReferenceReference

RFC 1889 RFC 1889 RFC 1890RFC 1890 RFC 3550RFC 3550 RFC 3551RFC 3551 http://www.cs.columbia.edu/~coms61http://www.cs.columbia.edu/~coms61

81/slides/7/rtp.pdf81/slides/7/rtp.pdf http://www.ietf.org/http://www.ietf.org/