4.3 Bandwidth Estimation

The following diagram represents an exchange of messages between two hosts for bandwidth estimation.

Message exchange for bandwidth estimation for packet pair

Figure 7: Message exchange for bandwidth estimation for packet pair

In the preceding figure, Host2 does not support packet train. On receipt of the first RTCP packet pair, Host2 calculates a bandwidth estimate. The calculation for the bandwidth estimate might need more packet pairs to converge to a valid bandwidth estimate. It sends 0xFFFFFFFB (-3) in the bandwidth report to indicate that the estimation is not ready and packet train is not supported. After it receives a few more RTCP packet pairs, the statistical method converges to 700000. Host2 sends a bandwidth estimation report with 700000. Host1 switches to the regular RTCP interval after it receives the positive bandwidth estimation.

Message exchange for bandwidth estimation for packet train (Part 1)

Figure 8: Message exchange for bandwidth estimation for packet train (Part 1)

Message exchange for bandwidth estimation for packet train (Part 2)

Figure 9: Message exchange for bandwidth estimation for packet train (Part 2)

On receipt of the first RTCP packet pair, Host2 calculates a bandwidth estimate. The calculation for the bandwidth estimate might need more packet pairs to converge to a valid bandwidth estimate. It sends 0xFFFFFFFB (-5) in the bandwidth report to indicate that the estimation is not ready and packet train is supported. After it receives a few more RTCP packet pairs, the statistical method requests the packet train, and sends 0xFFFFFFFA (-6) in the bandwidth report to indicate that Host1 can send the packet train from then on. Host1 receives the bandwidth estimation report with 0xFFFFFFFA (-6). It makes a decision whether to switch packet train sending mode. If Host1 decides to send packet train, it switches to use 1 second RTCP interval. Once Host2 receives enough packet trains and its statistical method produces a positive bandwidth estimation, it sends a bandwidth report right away.

Host1 switches to the regular RTCP interval after it sends out 21 packet trains.