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 = [<class 'scapy.contrib.rtcp.RTCP'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (RTCP).version>, <BitField (RTCP).padding>, <BitFieldLenField (RTCP).count>, <ByteEnumField (RTCP).packet_type>, <LenField (RTCP).length>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
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 = [<class 'scapy.contrib.rtcp.ReceptionReport'>, <class 'scapy.packet.Packet'>]
extract_padding(p)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (ReceptionReport).sourcesync>, <ByteField (ReceptionReport).fraction_lost>, <X3BytesField (ReceptionReport).cumulative_lost>, <IntField (ReceptionReport).highest_seqnum_recv>, <IntField (ReceptionReport).interarrival_jitter>, <IntField (ReceptionReport).last_SR_timestamp>, <IntField (ReceptionReport).delay_since_last_SR>]
class scapy.contrib.rtcp.SDESChunk(_pkt, /, *, sourcesync=None, items=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.rtcp.SDESChunk'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (SDESChunk).sourcesync>, <PacketListField (SDESChunk).items>]
class scapy.contrib.rtcp.SDESItem(_pkt, /, *, chunk_type=None, length=None, value=None)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.rtcp.SDESItem'>, <class 'scapy.packet.Packet'>]
extract_padding(p)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (SDESItem).chunk_type>, <FieldLenField (SDESItem).length>, <StrLenField (SDESItem).value>]
class scapy.contrib.rtcp.SenderInfo(_pkt, /, *, ntp_timestamp=None, rtp_timestamp=None, sender_packet_count=None, sender_octet_count=None)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.rtcp.SenderInfo'>, <class 'scapy.packet.Packet'>]
extract_padding(p)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LongField (SenderInfo).ntp_timestamp>, <IntField (SenderInfo).rtp_timestamp>, <IntField (SenderInfo).sender_packet_count>, <IntField (SenderInfo).sender_octet_count>]