2AVP and AVPF InteropWhe AVP and AVPF is interoperating one must choose certain parameters correctly.In trying to determine the most suitable based on the timing rules a AVPF timing issue was found that is problematic for interop.Based on simulations of the algorithmThere might be bugs in the simulation
3AVPF vs AVP Problems avg_rtcp_size:200 bytes RR: 500 bps RS: 1000 bps Senders: 1Members: 2We_sent: FALSETrr-int:5Tmin:5 (AVP only)AVPF vs AVP ProblemsSimulated distributions of RTCP transmission intervalTn is AVPF sending rules without suppression or reconsideration, i.e. Td*rand(0.5,1.5)AVPF(TN no supp) is with reconsiderationAVP is RFC 3550 including reconsiderationWhen Td calculation becomes close to, but below Trr-int AVPF suppression pushes transmissions interval distribution upwards and uneven in distribution
4Td << Trr-int avg_rtcp_size:200 bytes RR: 10000 bps RS: 1000 bps Senders: 1Members: 2We_sent: FALSETrr-int:5Tmin:5 (AVP only)Td << Trr-intHere the RTCP bandwidth portion the calculation uses has been increased from 500 to 10k bps, i.e. 20 timesReduces TdTherefore both Tn and AVPF without suppression are all ending up in the s rangeAs can be seen the AVPF distribution are mostly uniform in the range *Trr-int, with a little bit of tailHowever, still longer tail than AVP
5Td>Trr-Int avg_rtcp_size:200 bytes RR: 500 bps RS: 1000 bps Senders: 1Members: 4We_sent: FALSETrr-int:5Tmin:5 (AVP only)Td>Trr-IntSame RR as the problem slide 500 bps, but now with 4 members, i.e. 3 receivers sharing RRAs can be seen here only a little bit of suppression happens at the s range, i.e *Trr-int.That suppression do show up as bit of long tail above 12.5 seconds
6Question: What gives best interop? So how does an AVPF user set his parameters to best interoperate from a perspective of avoiding accidental timeout:The Regular RTCP transmission distribution is one factor which is depending on:Trr-int that sets suppressionThe Td deciding values:MembersSendersRR and RSAverage RTCP packet sizeThe other is when AVPF times out AVP participants5*Trr-Int given that Trr-int != 0Thus we must combine Trr-int large enough so that an AVPF particpant do not time out AVP participantsAt the same time AVPF regular RTCP transmission interval should not be so long that AVP times outHow many consecutive packet losses are needed before timeout happens?
7Td parameterizationWhen using AVPF one should try to avoid setting RR and RS so that Td in the given session are close to Trr-int.The tail in the AVPF RTCP interval distribution is at its extreme at 1.5*Trr-int + 1.5*Td/Worst case Td = Trr-int: 2.73*Trr-intTd should preferably be less than 1/4th of Trr-IntThat gives us max tail length of:1.5*Trr-int + 1.5*Trr-int/(4* ) ≈ 1.81 Trr-intAVP’s tail ends at 1.5*Tmin/ = 1.231*TminGiven that Td is less than TminOtherwise replace Tmin with Td
8Equalizing the tailsIf we would like to have equally values for the extreme randomization intervals given that Td is less than Tmin and Trr-int:Trr-int = 1.231/1.81*Tmin1.81 (following the Td < 1/4th Trr-int recommendation)Tmin = 5 s => Trr-int = 3.40 sThis ensures that no AVPF session participant is more likely to time out than an AVP one.However, the reverse is not true.
9Timing out AVP participants An AVPF participant will timeout an participant at 5*Trr-int,Equivalent of AVP participants using a Trr-int as a factor for number of intervals before timing out.This assumes Tmin=5s and Td<Tmin
10Finding the optimal both ways So what is the point of least decrease in timeout robustness performance:Given that Tmin = 5 s and Td < TminAVPF intervals before AVP timeout(target):5*Tmin/(Trr-int)AVPF intervals before AVP timeout(1/4 * Trr-int):5*Tmin/(Trr-int*1.81)AVPF Intervals before AVP timeout (1/10 * Trr-int):5*Tmin/(Trr-int*1.623)AVP intervals before AVPF timeout (target):5*Trr-int/5AVP intervals before AVPF timeout (worst case):5*Trr-int/(1.231*Tmin)
12RecommendationsBased on these findings it appears that the following recommendations for AVPF vs AVP interop should be given:RR and RS sufficiently large that Td becomes less than ¼ of Trr-intTrr-int should be chosen as 4.0
13Future Work?Do the Suppression algorithms bad behavior needs to be addressed?