; KTL_20040528
Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

KTL_20040528

VIEWS: 0 PAGES: 68

  • pg 1
									Real-time Transport
      Protocol
               Kun-Ta Lee
                 2004.5.21
 National Taipei University of Technology
                       Outline
   Introduction
   Definitions
   RTP
   RTCP
   Translators and Mixers
   SSRC Identifier Allocation and Use
   Security
   Summary of Protocol Constants
   Reference
              Introduction (1)
   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
   receiver allow to reconstruct the sender’s
    packet sequence
   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
                      Introduction (2)
   RTP Use Scenarios
       Simple Multicast Audio Conference
            can change the encoding during a conference
            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
            sends the RTCP packet when it leaves the conference
       Audio and Video Conference
            no direct coupling at the RTP level between audio and video
            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
               Introduction (3)
   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.
      Translator (RTP-level realy): translates different format




           Translator in-side   Firewall    Translator out-side
                Definitions (1)
   RTP payload: the data transported by RTP in a
    packet
   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
         Definitions (2)
                            application

                             media
                          encapsulation


                           RTP RTCP



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




                           IPv4/IPv6



                                               AAL5
          Ethernet
                                               ATM
                          Definitions (3)
   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
   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)
        in a multimedia session, each medium is carried in a separate RTP session with its
         own RTCP packets.
   Synchronization source (SSRC)
        the source of s stream of RTP packets
        32-bit numeric
        randomly chosen, unique
        not use the same SSRC identifier for all the RTP sessions in a multimedia session
        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
                       Definitions (4)
   End system: generates the content to be sent in RTP packets
    and/or consumes the content of received RTP packets
   Mixer
       receives RTP packet from one or more source
       possibly changes the data format
       combines the packets in some manner and forwards a new RTP packet
       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
   Translator
       forwards RTP packets with their synchronization source identifier intact
       convert encodings without mixing
        replicate from multicast to unicast
                       Definitions (5)


end system
 SSRC=17         DVI4
192.35.149.52
                                GSM (Group Speciale Mobile)
                                                               Mixer SSRC=5
                                                              SSRC=5 CSRC=17 39
                          translator     GSM
                         192.26.8.84                      192.20.225.101
                 L16
end system
 SSRC=39
128.119.40.186
                     Definitions (6)
   Monitor
       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
   Non-RTP means
       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
       Simple applications, electronic mail or a conference database
        may also be used
                                          RTP Packet (1)
                 0                    8                  16                  24            32

                             CSRC
                 V2 P X            M      payload type             sequence number
                             count
                                                   timestamp
                                    synchronization source identifier (SSRC)
UDP packet




                                                                                            opt. opt.
                                     contributing source identifier (CSRC)

                                                header extension
                                           payload (audio, video, …)




                                                                                            opt.
                                                                                  0x00
                    first twelve octets are present in every RTP hacket
                    the list of CSRC identifiers is present only when inserted by a mix
                                                RTP Packet (2)
                 0                          8                        16                         24                      32

                                CSRC
                 V2 P X               M           payload type                     sequence number
                                count
                                                              timestamp
                                           synchronization source identifier (SSRC)
UDP packet




                                                                                                                         opt. opt.
                                            contributing source identifier (CSRC)

                                                         header extension
                                                   payload (audio, video, …)




                                                                                                                         opt.
                                                                                                       0x00
                    version (V): 2 bits
                         V=0 → “avt” audio tool. ; V=1 → first draft version of RTP
                    padding (P): 1 bit
                         the last octet of the padding contains a count of how many padding octets should be ignored
                                      RTP Packet (3)
             0                    8                   16                  24                    32

                          CSRC
             V2 P X             M      payload type             sequence number
                          count
                                                timestamp
                                synchronization source identifier (SSRC)
UDP packet




                                                                                                 opt. opt.
                                  contributing source identifier (CSRC)

                                             header extension
                                        payload (audio, video, …)




                                                                                                 opt.
                                                                               0x00

                extension (X): 1 bit
                    if the extension bit is set, the fixed header is followed by exactly one
                     header extension
                                                RTP Packet (4)
                 0                          8                         16                         24                         32

                                CSRC
                 V2 P X               M           payload type                      sequence number
                                count
                                                              timestamp
                                         synchronization source identifier (SSRC)
UDP packet




                                                                                                                             opt. opt.
                                           contributing source identifier (CSRC)

                                                          header extension
                                                   payload (audio, video, …)




                                                                                                                             opt.
                                                                                                        0x00
                    CSRC count (CC): 4 bits
                         the CSRC count contains the number of CSRC identifiers that follow the fix header
                    Maker (M): 1 bit
                         intended to allow significant events such as frame boundaries to be marked in the packet stream
                                              RTP Packet (5)
                 0                        8                      16                      24                      32

                                CSRC
                 V2 P X               M        payload type                   sequence number
                                count
                                                          timestamp
                                       synchronization source identifier (SSRC)
UDP packet




                                                                                                                    opt. opt.
                                         contributing source identifier (CSRC)

                                                      header extension
                                                 payload (audio, video, …)




                                                                                                                    opt.
                                                                                                0x00
                    payload type (PT): 7 bits
                         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
                                      RTP Packet (6)
             0                    8                  16                  24                32

                         CSRC
             V2 P X            M      payload type             sequence number
                         count
                                               timestamp
                                synchronization source identifier (SSRC)
UDP packet




                                                                                             opt. opt.
                                 contributing source identifier (CSRC)

                                            header extension
                                       payload (audio, video, …)




                                                                                             opt.
                                                                              0x00

                sequence number : 16 bits
                    increments by one for each RTP data packet sent
                    used by the receiver to detect packet loss and to restore packet sequence
                                      RTP Packet (7)
             0                    8                  16                  24                32

                         CSRC
             V2 P X            M      payload type             sequence number
                         count
                                               timestamp
                                synchronization source identifier (SSRC)
UDP packet




                                                                                             opt. opt.
                                 contributing source identifier (CSRC)

                                            header extension
                                       payload (audio, video, …)




                                                                                             opt.
                                                                              0x00

                timestamp : 32 bits
                    timestamp reflects the sampling instant of the first octet in the RTP data
                     packet
                                                RTP Packet (8)
                 0                          8                        16                         24           32

                                CSRC
                 V2 P X               M           payload type                      sequence number
                                count
                                                              timestamp
                                         synchronization source identifier (SSRC)
UDP packet




                                                                                                              opt. opt.
                                           contributing source identifier (CSRC)

                                                         header extension
                                                   payload (audio, video, …)




                                                                                                              opt.
                                                                                                      0x00
                    SSRC : 32 bits
                         identifies the synchronization source
                         this identifier is chosen randomly
                         all RTP implementations must be prepared to detect and resolve collisions
                                                RTP Packet (9)
                 0                          8                          16                          24                 32

                                CSRC
                 V2 P X               M            payload type                       sequence number
                                count
                                                               timestamp
                                          synchronization source identifier (SSRC)
UDP packet




                                                                                                                       opt. opt.
                                            contributing source identifier (CSRC)

                                                           header extension
                                                    payload (audio, video, …)




                                                                                                                       opt.
                                                                                                          0x00
                    CSRC list: 0 to 15 itemse, 32 bits each
                         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
                         inserted by mixer
                                           RTP Packet (10)
                 0                         8                       16                       24                       32

                                CSRC
                 V2 P X               M         payload type                    sequence number
                                count
                                                           timestamp
                                        synchronization source identifier (SSRC)
UDP packet




                                                                                                                       opt.
                                          contributing source identifier (CSRC)

                              defined by profile                                       length




                                                                                                                       opt.
                                                       header extension
                                                  payload (audio, video, …)




                                                                                                                       opt.
                                                                                                  0x00
                    header extension
                         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
                      RTCP Functions
   provide feedback on the quality of the data distribution
        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
        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 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
   convey minimal session control information
        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
   RR: receiver report, for reception statistics from
    participants that are not active senders
   SDES: source description items, including
    CNAME
   BYE: indicates end of participation
   APP: application specific functions
                   RTCP Packet - SR
0                (first section - header)
                   8         16       24                            32

V2 P        RC          PT=SR=200                      length            header
                               SSRC of sender
                    NTP timestamp, most significant word
                     NTP timestamp, least significant word               sender
                               RTP tiemstamp                              info
                            sender’s packet count
                             sender’s octet count
                        SSRC_1 (SSRC of first source)
    fraction lost               cumulative number of packets lost        Report
                  extended highest sequence number received              Block
                               interarrival jitter                         1
                                 last SR (LSR)
                          Delay since last SR(DLSR)
                        SSRC_2 (SSRC of first source)                    Report
                                                                         Block
                                     ...                                   2


                         profile-specific extensions

   version (V): 2 bits
       V=0 → “avt” audio tool. ; V=1 → first draft version of RTP
                           RTCP Packet - SR
    0                    (first section - header)
                           8         16      24                                                   32

    V2 P           RC        PT=SR=200                      length                                         header
                                    SSRC of sender
                         NTP timestamp, most significant word
                          NTP timestamp, least significant word                                            sender
                                    RTP tiemstamp                                                           info
                                 sender’s packet count
                                  sender’s octet count
                             SSRC_1 (SSRC of first source)
         fraction lost               cumulative number of packets lost                                     Report
                       extended highest sequence number received                                           Block
                                    interarrival jitter                                                      1
                                      last SR (LSR)
                               Delay since last SR(DLSR)
                             SSRC_2 (SSRC of first source)                                                 Report
                                                                                                           Block
                                                  ...                                                        2


                                   profile-specific extensions
       padding (P): 1 bit
            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
                   RTCP Packet - SR
0                (first section - header)
                   8         16      24                                  32

V2 P        RC          PT=SR=200                      length                 header
                               SSRC of sender
                    NTP timestamp, most significant word
                     NTP timestamp, least significant word                    sender
                               RTP tiemstamp                                   info
                            sender’s packet count
                             sender’s octet count
                        SSRC_1 (SSRC of first source)
    fraction lost               cumulative number of packets lost             Report
                  extended highest sequence number received                   Block
                               interarrival jitter                              1
                                 last SR (LSR)
                          Delay since last SR(DLSR)
                        SSRC_2 (SSRC of first source)                         Report
                                                                              Block
                                      ...                                       2


                          profile-specific extensions
   reception report count (RC): 5 bits
       the number of reception report blocks contained in this packet
                  RTCP Packet - SR
0               (first section - header)
                  8         16      24                              32

V2 P       RC           PT=SR=200                      length            header
                               SSRC of sender
                    NTP timestamp, most significant word
                     NTP timestamp, least significant word               sender
                               RTP tiemstamp                              info
                            sender’s packet count
                             sender’s octet count
                        SSRC_1 (SSRC of first source)
    fraction lost               cumulative number of packets lost        Report
                  extended highest sequence number received              Block
                               interarrival jitter                         1
                                 last SR (LSR)
                          Delay since last SR(DLSR)
                        SSRC_2 (SSRC of first source)                    Report
                                                                         Block
                                     ...                                   2


                         profile-specific extensions

   packet type (PT): 8 bits
       the constant 200 to identify this as an SR packet
                    RTCP Packet - SR
0                 (first section - header)
                    8         16      24                             32

V2 P         RC          PT=SR=200                      length            header
                                SSRC of sender
                     NTP timestamp, most significant word
                      NTP timestamp, least significant word               sender
                                RTP tiemstamp                              info
                             sender’s packet count
                              sender’s octet count
                         SSRC_1 (SSRC of first source)
     fraction lost               cumulative number of packets lost        Report
                   extended highest sequence number received              Block
                                interarrival jitter                         1
                                  last SR (LSR)
                           Delay since last SR(DLSR)
                         SSRC_2 (SSRC of first source)                    Report
                                                                          Block
                                      ...                                   2


                          profile-specific extensions
   length: 16 bits
        including the header and any padding
        1 unit = 32-bit
                    RTCP Packet - SR
0                 (first section - header)
                    8         16      24                                         32

V2 P         RC         PT=SR=200                      length                         header
                               SSRC of sender
                    NTP timestamp, most significant word
                     NTP timestamp, least significant word                            sender
                               RTP tiemstamp                                           info
                            sender’s packet count
                             sender’s octet count
                        SSRC_1 (SSRC of first source)
    fraction lost               cumulative number of packets lost                     Report
                  extended highest sequence number received                           Block
                               interarrival jitter                                      1
                                 last SR (LSR)
                          Delay since last SR(DLSR)
                        SSRC_2 (SSRC of first source)                                 Report
                                                                                      Block
                                      ...                                               2


                          profile-specific extensions
   SSRC: 32 bits
       synchronization source identifier for the originator of this SR packet
             RTCP Packet - SR
0       (second section – sender info)
             8        16      24                                    32

V2 P        RC          PT=SR=200                      length            header
                               SSRC of sender
                    NTP timestamp, most significant word
                     NTP timestamp, least significant word               sender
                               RTP tiemstamp                              info
                            sender’s packet count
                             sender’s octet count
                        SSRC_1 (SSRC of first source)
    fraction lost               cumulative number of packets lost        Report
                  extended highest sequence number received              Block
                               interarrival jitter                         1
                                 last SR (LSR)
                          Delay since last SR(DLSR)
                        SSRC_2 (SSRC of first source)                    Report
                                                                         Block
                                     ...                                   2


                         profile-specific extensions

   NTP timestamp: 64 bits
       indicates the wallclock time when this report was sent
            RTCP Packet - SR
0      (second section – sender info)
            8        16      24                                     32

V2 P       RC           PT=SR=200                      length            header
                               SSRC of sender
                    NTP timestamp, most significant word
                     NTP timestamp, least significant word               sender
                               RTP tiemstamp                              info
                            sender’s packet count
                             sender’s octet count
                        SSRC_1 (SSRC of first source)
    fraction lost               cumulative number of packets lost        Report
                  extended highest sequence number received              Block
                               interarrival jitter                         1
                                 last SR (LSR)
                          Delay since last SR(DLSR)
                        SSRC_2 (SSRC of first source)                    Report
                                                                         Block
                                     ...                                   2


                         profile-specific extensions

   RTP timestamp: 32 bits
              RTCP Packet - SR
0        (second section – sender info)
              8        16      24                                           32

V2 P        RC           PT=SR=200                      length                      header
                                SSRC of sender
                     NTP timestamp, most significant word
                      NTP timestamp, least significant word                         sender
                                RTP tiemstamp                                        info
                             sender’s packet count
                              sender’s octet count
                         SSRC_1 (SSRC of first source)
     fraction lost               cumulative number of packets lost                  Report
                   extended highest sequence number received                        Block
                                interarrival jitter                                   1
                                  last SR (LSR)
                           Delay since last SR(DLSR)
                         SSRC_2 (SSRC of first source)                              Report
                                                                                    Block
                                      ...                                             2


                          profile-specific extensions
   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
                   RTCP Packet - SR
    0         (second section – sender info)
                   8        16      24                                                            32

    V2 P           RC        PT=SR=200                      length                                      header
                                    SSRC of sender
                         NTP timestamp, most significant word
                          NTP timestamp, least significant word                                         sender
                                    RTP tiemstamp                                                        info
                                 sender’s packet count
                                  sender’s octet count
                             SSRC_1 (SSRC of first source)
         fraction lost               cumulative number of packets lost                                  Report
                       extended highest sequence number received                                        Block
                                    interarrival jitter                                                   1
                                      last SR (LSR)
                               Delay since last SR(DLSR)
                             SSRC_2 (SSRC of first source)                                              Report
                                                                                                        Block
                                                  ...                                                     2


                                 profile-specific extensions
       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
              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
   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
                    RTCP Packet - SR
0       (third section – reception report blocks) 32
                 8          16        24

V2 P        RC           PT=SR=200                      length                      header
                                SSRC of sender
                     NTP timestamp, most significant word
                      NTP timestamp, least significant word                         sender
                                RTP tiemstamp                                        info
                             sender’s packet count
                              sender’s octet count
                         SSRC_1 (SSRC of first source)
     fraction lost               cumulative number of packets lost                  Report
                   extended highest sequence number received                        Block
                                interarrival jitter                                   1
                                  last SR (LSR)
                           Delay since last SR(DLSR)
                        SSRC_2 (SSRC of second source)                              Report
                                                                                    Block
                                      ...                                             2


                          profile-specific extensions
   SSRC_n (source identifier): 32 bits
       the source’s SSRC to which the information in this reception report block
        pertains
                     RTCP Packet - SR
0        (third section – reception report blocks) 32
                  8          16        24

V2 P         RC          PT=SR=200                      length                header
                                SSRC of sender
                     NTP timestamp, most significant word
                      NTP timestamp, least significant word                   sender
                                RTP tiemstamp                                  info
                             sender’s packet count
                              sender’s octet count
                         SSRC_1 (SSRC of first source)
     fraction lost               cumulative number of packets lost            Report
                   extended highest sequence number received                  Block
                                interarrival jitter                             1
                                  last SR (LSR)
                           Delay since last SR(DLSR)
                        SSRC_2 (SSRC of second source)                        Report
                                                                              Block
                                      ...                                       2


                          profile-specific extensions
   fraction lost: 8 bits
        the fraction of RTP data packets from source SSRC_n lost since the
         previous SR or RR packet was sent
                    RTCP Packet - SR
0       (third section – reception report blocks) 32
                 8          16        24

V2 P        RC          PT=SR=200                      length               header
                               SSRC of sender
                    NTP timestamp, most significant word
                     NTP timestamp, least significant word                  sender
                               RTP tiemstamp                                 info
                            sender’s packet count
                             sender’s octet count
                        SSRC_1 (SSRC of first source)
    fraction lost               cumulative number of packets lost           Report
                  extended highest sequence number received                 Block
                               interarrival jitter                            1
                                 last SR (LSR)
                          Delay since last SR(DLSR)
                       SSRC_2 (SSRC of second source)                       Report
                                                                            Block
                                     ...                                      2


                         profile-specific extensions
   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
                           RTCP Packet - SR
    0        (third section – reception report blocks) 32
                      8          16        24

    V2 P           RC        PT=SR=200                      length                                               header
                                    SSRC of sender
                         NTP timestamp, most significant word
                          NTP timestamp, least significant word                                                  sender
                                    RTP tiemstamp                                                                 info
                                 sender’s packet count
                                  sender’s octet count
                             SSRC_1 (SSRC of first source)
         fraction lost               cumulative number of packets lost                                           Report
                       extended highest sequence number received                                                 Block
                                    interarrival jitter                                                            1
                                      last SR (LSR)
                               Delay since last SR(DLSR)
                            SSRC_2 (SSRC of second source)                                                       Report
                                                                                                                 Block
                                                     ...                                                           2


                                     profile-specific extensions
       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 most significant 16 bits extend that sequence number with the corresponding count of sequence
             number cycles
                    RTCP Packet - SR
0        (third section – reception report blocks) 32
                  8          16        24

V2 P          RC         PT=SR=200                      length                         header
                                SSRC of sender
                     NTP timestamp, most significant word
                      NTP timestamp, least significant word                            sender
                                RTP tiemstamp                                           info
                             sender’s packet count
                              sender’s octet count
                         SSRC_1 (SSRC of first source)
     fraction lost               cumulative number of packets lost                     Report
                   extended highest sequence number received                           Block
                                interarrival jitter                                      1
                                  last SR (LSR)
                           Delay since last SR(DLSR)
                        SSRC_2 (SSRC of second source)                                 Report
                                                                                       Block
                                        ...                                              2


                            profile-specific extensions
   Interarrival jitter: 32 bits
        an estimate of the statistical variance of the RTP data packer interarrival
         time
                          RTCP Packet - SR
    0        (third section – reception report blocks) 32
                      8          16        24

    V2 P           RC        PT=SR=200                      length                                   header
                                    SSRC of sender
                         NTP timestamp, most significant word
                          NTP timestamp, least significant word                                      sender
                                    RTP tiemstamp                                                     info
                                 sender’s packet count
                                  sender’s octet count
                             SSRC_1 (SSRC of first source)
         fraction lost               cumulative number of packets lost                               Report
                       extended highest sequence number received                                     Block
                                    interarrival jitter                                                1
                                      last SR (LSR)
                               Delay since last SR(DLSR)
                            SSRC_2 (SSRC of second source)                                           Report
                                                                                                     Block
                                                  ...                                                  2


                              profile-specific extensions
       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
            if no SR has been received yet, the field is set to zero
                          RTCP Packet - SR
    0        (third section – reception report blocks) 32
                      8          16        24

    V2 P           RC        PT=SR=200                      length                                 header
                                    SSRC of sender
                         NTP timestamp, most significant word
                          NTP timestamp, least significant word                                    sender
                                    RTP tiemstamp                                                   info
                                 sender’s packet count
                                  sender’s octet count
                             SSRC_1 (SSRC of first source)
         fraction lost               cumulative number of packets lost                             Report
                       extended highest sequence number received                                   Block
                                    interarrival jitter                                              1
                                      last SR (LSR)
                               Delay since last SR(DLSR)
                            SSRC_2 (SSRC of second source)                                         Report
                                                                                                   Block
                                                 ...                                                 2


                                profile-specific extensions
       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
            if no SR has been received yet from SSRC_n, the field is set to zero
                    RTCP Packet - SR
0          (fourth section –16extensions blocks)
                 8                     24                                       32

V2 P          RC         PT=SR=200                      length                        header
                                SSRC of sender
                     NTP timestamp, most significant word
                      NTP timestamp, least significant word                           sender
                                RTP tiemstamp                                          info
                             sender’s packet count
                              sender’s octet count
                         SSRC_1 (SSRC of first source)
     fraction lost               cumulative number of packets lost                    Report
                   extended highest sequence number received                          Block
                                interarrival jitter                                     1
                                  last SR (LSR)
                           Delay since last SR(DLSR)
                        SSRC_2 (SSRC of second source)                                Report
                                                                                      Block
                                        ...                                             2


                           profile-specific extensions
   profile-specific extensions
        if there is additional information that should be reported regularly about
         the sender or receivers
                  RTCP Packet - RR
0                   8                  16                 24         32

V2 P        RC           PT=RR=201                     length             header
                                SSRC of sender
                         SSRC_1 (SSRC of first source)
     fraction lost               cumulative number of packets lost        Report
                   extended highest sequence number received              Block
                                interarrival jitter                         1
                                  last SR (LSR)
                           Delay since last SR(DLSR)
                        SSRC_2 (SSRC of second source)                    Report
                                                                          Block
                                      ...                                   2


                          profile-specific extensions




   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
0                    8                    16             24                  32

V2 P          SC         PT=SDES=202                  length                      header
                               SSRC/CSRC_1                                        chunk
                                SDES items                                          1

                                     …
                               SSRC/CSRC_2                                        chunk
                                SDES items                                          2

                                     …
   version (V), padding (P), length:
        as described for the SR packet
   packet type (PT): 8 bits
        contains the constant 202 to identify this as an RTCP SDES packet
   source count (SC): 5 bits
        the number of SSRC/CSRC chunks contained in this SDES packet
         RTCP Packet – Source
            Description
   some SDES itmes
     CNAME
     Name

     Email

     Phone

     Loc

     Tool

     Note
              RTCP Packet – Source
                Description item
0                     8                  16               24               32

      CNAME=1               length             User and domain name …

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

         NAME=2             length            common name of source …

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

         EMAIL=3             length             email address of source …

   type field: 8 bits
         EMAIL=3
   length field: 8 bits
         not include type field and length field
   email address of source field: be no longer than 255 octets
         Email address is formatted according to RFC 822
         example, “ John.Doe@megacorp.com”
            RTCP Packet – Source
              Description item
0                  8               16               24             32

     PHONE=4             length         Phone number of source …


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

        LOC=5         length        geographic location of site


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

        TOOL=6           length         name/version of source appl …


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

        NOTE=7           length          note about the source …


   type field: 8 bits
       NOTE=7
   length field: 8 bits
       not include type field and length field
   note about the source field: be no longer than 255
    octets
       Should be used only carry exceptional information
                   RTCP Packet – BYE
0                    8                    16                24              32

V2 P          SC         PT=BYE=203                      length
                               SSRC/CSRC
                                      …
                                                                                 opt
    length                          Reason for leaving



   version (V), padding (P), length:
        as described for the SR packet
   packet type (PT): 8 bits
        contains the constant 203 to identify this as an RTCP BYE packet
   source count (SC): 5 bits
        the number of SSRC/CSRC identifiers included in this BYE packer
          RTCP Packet – Application
0            8
                  defined 24
                    16              32

V2 P       subtype    PT=APP=204                          length
                            SSRC/CSRC
                            name (ASCII)
                           application-dependent data …


   version (V), padding (P), length:
       as described for the SR packet
   subtype (PT): 5 bits
       Defined under one unique name
   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
                      RTCP packet structure
if encrypted: random 32-bit integer


                      packet                                             packet          packet
          SSRC




                                                                            SSRC
                          SSRC




                                          SSRC




                                                                                         SSRC
                                                                                         SSRC
                 sender




                                                                  SSRC
     SR                          site 1          site 2    SDEC                    BYE          reason
                 report

                                                          compound packet
                                                            DUP packet
         Translators and Mixers
   add or remove encryption
   change the encoding of the data or the
    underlying protocols
   replicate between multicast address and one or
    more unicast address
RTCP Processing in Translators
   SR sender information
     forwards the SSRC information received
     change the “sender’s octet(byte) count”

     change the “sender’s packer count”

     change the “RTP timestamp”

   SR/RR reception report blocks
     forwards the SSRC information received
     change the sequence numbers
RTCP Processing in Translators
   SDES
     forward without change the SDES information
     if bandwidth is limited, filter non-CNAME SDES
      information
     send SDES CNAME information about itself

   BYE
       forward BYE packets unchanged
   APP
       forward APP packets unchanged
        RTCP Processing in Mixers
   SR sender information
       generates its own SR packets
   SR/RR reception report blocks
       generates its own reception reports
   SDES
     forward without change the SDES information
     if bandwidth is limited, filter non-CNAME SDES
      information
        RTCP Processing in Mixers
   BYE
     Mixer need to forward BYE packets
     generate BYE packets whit their own SSRC
      identifiers
   APP
       application-specific
                         Cascaded Mixers

         E1                                              E6
     E1:17                                                   E6:15
                                                                     E6:15
                                       M1:48 (1,17)                  M1:48 (1,17)
         M1                                                                          E7
              M1:48 (1,17)   T1        E4:47             T2          E4:47
     E2:1                      E4:47                                 M3:89 (64,45)

         E2
                             E4

                                                                                          End System
                                             M3:89 (64,45)
E3                  M2                  M3
                                                                                          Translator
        E3:64            M2:12 (64)
                                             E5:45
                                                                                          Mixer
                                        E5
                                                                                Source: SSRC (CSRCs)
    SSRC Identifier Allocation and Use
   SSRC identifier is random 32-bit number
   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
   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
       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)
    SSRC Identifier Allocation and Use
   Collision Resolution and Loop Detection
       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 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
SSRC Identifier Allocation and Use
   loop examples:
        a translator may incorrectly forward a packet to the same
         multicast group form which it has received the packet

                              T1

        two translators incorrectly set in parallel

                                    T1


                                     T2
    SSRC Identifier Allocation and Use
   loop or collision algorithm
     an identifier is not found in the table
     an identifier is found in the table

     an identifier collision or loop is indicated

     a collision or loop of the participant’s own data
                       Security
   confidentiality
     only the intended receiver(s) can decode the received
      packet
     confidentiality of the content is achieved by
      encryption
     Data Encryption Standard (DES)

   authentication and message integrity
       not defined
    Summary of Protocol Constants
   payload type
   RTCP packet types
        SR 200
        RR 201
        SDES 202
        BYT 203
        APP 204
   SDES types
        END 0
        CNAME 1
        NAME 2
        EMAIL 3
        PHONE 4
        LOC 5
        TOOL 6
        NOTE 7
                 Reference
   RFC 1889
   RFC 1890
   RFC 3550
   RFC 3551
   http://www.cs.columbia.edu/~coms6181/slides
    /7/rtp.pdf
   http://www.ietf.org/

								
To top