3.1.1 Abstract Data Model

Common to both throttling mechanisms are the following variables per session:

  • ThrottlingMode: "True" if the receiver is in throttling mode, which means that the throttling mode timer has not expired.

SSRC throttling extension variables per session:

  • LastGoodSSRC: Stores the SSRC to be accepted as valid, which is the current SSRC for the stream.

  • ResyncSSRC: Stores the last SSRC that was received out of throttling mode, and was different from LastGoodSSRC. If ResyncSSRC is seen again, it replaces LastGoodSSRC.

  • LastBadSSRC: Stores the last SSRC that was received inside throttling mode, and was different from both the LastGoodSSRC and ResyncSSRC.

Sequence number throttling extension variables per participant:

  • NextGoodSeqNum: Stores the next sequence number to be accepted as valid.

  • ResyncSeqNum: The next number, or successor, in the sequence of numbers received from throttling mode that is not equal to the value in NextGoodSeqNum. If ResyncSeqNum is seen again, the value ResyncSeqNum + 1 replaces NextGoodSeqNum.

  • NextBadSeqNum: The next number, or successor, in the sequence of numbers received from throttling mode that is not equal to the value in either NextGoodSeqNum or ResyncSeqNum.

Dominant speaker notification extension variables:

  • DominantSpeaker: Last SSRC received as first CSRC on an RTP packet.

  • IsDominantSpeakerValid: "True" if the SSRC in DominantSpeaker is valid. To be valid, the dominant speaker expiration timer has not expired and a packet with an empty CSRC list was not received.