scapy.contrib.rtcp

RTCP (rfc 3550)

Use bind_layers(UDP, RTCP, dport=…) to start using it

class scapy.contrib.rtcp.RTCP(_pkt, /, *, version=2, padding=0, count=0, packet_type=0, length=None, sourcesync=0, sender_info=<SenderInfo  |>, report_blocks=[], sdes_chunks=[])[source]

Bases: Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|VER|P|  COUNT  |  PACKET TYPE  |             LENGTH            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           SOURCESYNC                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          SENDER INFO          |         REPORT BLOCKS         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          SDES CHUNKS          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            Fig. RTCP                             
RTCP fields

version

BitField (2 bits)

2

padding

BitField (1 bit)

0

count

BitFieldLenField (5 bits)

0

packet_type

ByteEnumField

0

length

LenField

None

sourcesync

IntField (Cond)

0

sender_info

PacketField (Cond)

<SenderInfo  |>

report_blocks

PacketListField (Cond)

[]

sdes_chunks

PacketListField (Cond)

[]

post_build(pkt, pay)[source]
class scapy.contrib.rtcp.ReceptionReport(_pkt, /, *, sourcesync=None, fraction_lost=None, cumulative_lost=None, highest_seqnum_recv=None, interarrival_jitter=None, last_SR_timestamp=None, delay_since_last_SR=None)[source]

Bases: Packet

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           SOURCESYNC                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FRACTION LOST |                CUMULATIVE LOST                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |              HIGHEST SEQNUM RECV              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |              INTERARRIVAL JITTER              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |               LAST SR TIMESTAMP               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |              DELAY SINCE LAST SR              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                       Fig. ReceptionReport                       
ReceptionReport fields

sourcesync

IntField

None

fraction_lost

ByteField

None

cumulative_lost

X3BytesField

None

highest_seqnum_recv

IntField

None

interarrival_jitter

IntField

None

last_SR_timestamp

IntField

None

delay_since_last_SR

IntField

None

class scapy.contrib.rtcp.SDESChunk(_pkt, /, *, sourcesync=None, items=[])[source]

Bases: Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           SOURCESYNC                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             ITEMS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. SDESChunk                          
SDESChunk fields

sourcesync

IntField

None

items

PacketListField

[]

class scapy.contrib.rtcp.SDESItem(_pkt, /, *, chunk_type=None, length=None, value=None)[source]

Bases: Packet

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   CHUNK TYPE  |     LENGTH    |             VALUE             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. SDESItem                           
SDESItem fields

chunk_type

ByteEnumField

None

length

FieldLenField

None

value

StrLenField

None

class scapy.contrib.rtcp.SenderInfo(_pkt, /, *, ntp_timestamp=None, rtp_timestamp=None, sender_packet_count=None, sender_octet_count=None)[source]

Bases: Packet

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         NTP TIMESTAMP                         |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         RTP TIMESTAMP                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      SENDER PACKET COUNT                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       SENDER OCTET COUNT                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. SenderInfo                          
SenderInfo fields

ntp_timestamp

LongField

None

rtp_timestamp

IntField

None

sender_packet_count

IntField

None

sender_octet_count

IntField

None