In order to track loops of the participant’s own data packets, the implementation MUST also keep a separate list of source transport addresses (not identifiers) that have been found to be conflicting. Note that if two sources on the same host are transmitting with the same source identifier at the time a receiver begins operation, it would be possible that the first RTP packet received came from one of the sources while the first RTCP packet received came from the other. This problem can be avoided by keeping the source transport address fixed across restarts, but in any case will be resolved after a timeout at the receivers. (As explained below, this step is taken only once in case of a loop.) If a receiver discovers that two other sources are colliding, it MAY keep the packets from one and discard the packets from the other when this can be detected by different source transport addresses or CNAMEs.
If additional sender information is required, then for sender reports it would be included first in the extension section, but for receiver reports it would not be present. The extension is a fourth section in the sender- or receiver-report packet which comes at the end after the reception report blocks, if any. 6.4.3 Extending the Sender and Receiver Reports A profile SHOULD define profile-specific extensions to the sender report and receiver report if there is additional information that needs to be reported regularly about the sender or receivers. This may be used as an approximate measure of distance to cluster receivers, although some links have very asymmetric delays. Let SSRC_r denote the receiver issuing this receiver report. Standards Track Page 39 RFC 3550 RTP July 2003 the relative transit time is the difference between a packet’s RTP timestamp and the receiver’s clock at the time of arrival, measured in the same units.

Methods for Ensuring QoS in RTP Streams

Rather, it is intended for comparison across a number of reports from one receiver over time or from multiple receivers, e.g., within a single network, at the same time. This becomes more important as the size of a session scales up enough that reception state information might not be kept for all receivers or the interval between reports becomes long enough that only one report might have been received from a particular receiver. If it can be assumed that packet loss is independent of packet size, then the number of packets received by a particular receiver times the average payload size (or the corresponding packet size) gives the apparent throughput available to that receiver. Cumulative counts are used in both the sender information and receiver report blocks so that differences may be calculated between any two reports to make measurements over both short and long time periods, and to provide resilience against the loss of a report. 6.4.4 Analyzing Sender and Receiver Reports It is expected that reception quality feedback will be useful not only for the sender but also for other receivers and third-party monitors. If information about receivers is to be included, that data SHOULD be structured as an array of blocks parallel to the existing array of reception report blocks; that is, the number of blocks would be indicated by the RC field.
For example, for audio packets the SSRC identifiers of all sources that were mixed together to create a packet are listed, allowing correct talker indication at the receiver. Section 8 describes the probability of collision along with a mechanism for resolving collisions and detecting RTP-level forwarding loops based on the uniqueness of the SSRC identifier. This identifier SHOULD be chosen randomly, with the intent that no two synchronization sources within the same RTP session will have the same SSRC identifier. The audio and video may even be transmitted by different hosts if the reference clocks on the two hosts are synchronized by some means such as NTP.

  • Security Considerations RTP suffers from the same security liabilities as the underlying protocols.
  • O The number of packet types that may appear first in the compound packet needs to be limited to increase the number of constant bits in the first word and the probability of successfully validating RTCP packets against misaddressed RTP data packets or other unrelated packets.
  • This is an integral part of the RTP’s role as a transport protocol and is related to the flow and congestion control functions of other transport protocols (see Section 10 on the requirement for congestion control).
  • Thus, all data packets originating from a mixer will be identified as having the mixer as their synchronization source.
  • In general, a translator SHOULD NOT aggregate SR and RR packets from different sources into one packet since that would reduce the accuracy of the propagation delay measurements based on the LSR and DLSR fields.
  • However, seamless delivery of audio and video content requires low latency and high reliability to work on.

It is also RECOMMENDED that 1/4 of the RTCP bandwidth be dedicated to participants that are sending data so that in sessions with a large number of receivers but a small number of senders, newly joining participants will more quickly receive the CNAME for the sending sites. RTP Control Protocol — RTCP The RTP control protocol (RTCP) is based on the periodic transmission of control packets to all participants in the session, using the same distribution mechanism as the data packets. Standards Track Page 16 RFC 3550 RTP July 2003 Separate audio and video streams SHOULD NOT be carried in a single RTP session and demultiplexed based on the payload type or SSRC fields.

  • Standards Track Page 16 RFC 3550 RTP July 2003 Separate audio and video streams SHOULD NOT be carried in a single RTP session and demultiplexed based on the payload type or SSRC fields.
  • If it also combines several data packets into one output packet, it MUST change the “sender’s packet count” field.
  • The interarrival jitter J is defined to be the mean deviation (smoothed absolute value) of the difference D in packet spacing at the receiver compared to the sender for a pair of packets.
  • While RTP and RTCP work together to ensure synchronized media streaming between sources and receivers, RTSP allows clients to initiate, control, and terminate streaming sessions.
  • (As explained below, this step is taken only once in case of a loop.) If a receiver discovers that two other sources are colliding, it MAY keep the packets from one and discard the packets from the other when this can be detected by different source transport addresses or CNAMEs.

RTP Payload Types

Where bandwidth is an issue and using a lower bitrate doesn’t help enough, SRT was designed to deliver low-latency video and other media across network conditions. If data packets are delayed or dropped during the video call, users might experience jitter or latency, disrupting the call. Where TCP is connection-based, UDP is connectionless, making it much faster but less reliable. RTP addresses them, ensuring media stream integrity and maintaining playback synchronization. That section also now explains that multiplexing multiple sources of the same medium based on SSRC identifiers may be appropriate and is the norm for multicast sessions.
O In Sections 6.2, 6.3.1 and Appendix A.7, it is specified that the fraction of participants below which senders get dedicated RTCP bandwidth changes from the fixed 1/4 to a ratio based on the RTCP sender and non-sender bandwidth parameters when those are given. The requirement that RTCP was mandatory for RTP sessions using IP multicast was relaxed. Furthermore, the enhanced algorithm was luckygans casino designed to interoperate with the algorithm in RFC 1889 such that the degree of reduction in excess RTCP bandwidth during a step join is proportional to the fraction of participants that implement the enhanced algorithm. Reverse reconsideration is also used to possibly shorten the delay before sending RTCP SR when transitioning from passive receiver to active sender mode. If initial data loss for a few seconds can be tolerated, an application MAY choose to discard all data packets from a source until a valid RTCP packet has been received from that source.

VoIP Telephony

On the other hand, multiplexing multiple related sources of the same medium in one RTP session using different SSRC values is the norm for multicast sessions. The RTCP sender and receiver reports (see Section 6.4) can only describe one timing and sequence number space per SSRC and do not carry a payload type field. For example, in a teleconference composed of audio and video media encoded separately, each medium SHOULD be carried in a separate RTP session with its own destination transport address.

Methods for Ensuring QoS in RTP Streams

If it also combines several data packets into one output packet, it MUST change the “sender’s packet count” field. In general, a translator SHOULD NOT aggregate SR and RR packets from different sources into one packet since that would reduce the accuracy of the propagation delay measurements based on the LSR and DLSR fields. A translator that does not modify the data packets, for example one that just replicates between a multicast address and a unicast address, MAY simply forward RTCP packets unmodified as well.

O Timing out a participant is to be based on inactivity for a number of RTCP report intervals calculated using the receiver RTCP bandwidth fraction even for active senders. The regeneration of synchronization information by mixers also means that receivers can’t do inter-media synchronization of the original streams. The interarrival jitter J is defined to be the mean deviation (smoothed absolute value) of the difference D in packet spacing at the receiver compared to the sender for a pair of packets. This correspondence may be used for intra- and inter-media synchronization for sources whose NTP timestamps are synchronized, and may be used by media-independent receivers to estimate the nominal RTP clock frequency. However, doing so may be appropriate for systems operating on unidirectional links or for sessions that don’t require feedback on the quality of reception or liveness of receivers and that have other means to avoid congestion.

Common Use Cases

The maximum length of RTP packets is limited only by the underlying protocols. RTP data packets contain no length field or other delineation, therefore RTP relies on the underlying protocol(s) to provide a length indication. When RTP data packets are being sent in both directions, each participant’s RTCP SR packets MUST be sent to the port that the other participant has specified for reception of RTCP. For UDP and similar protocols, RTP SHOULD use an even destination port number and the corresponding RTCP stream SHOULD use the next higher (odd) destination port number. RTP over Network and Transport Protocols This section describes issues specific to carrying RTP packets within particular network and transport protocols. For other profiles, specific methods such as data rate adaptation based on RTCP feedback may be required.