RFC Errata
RFC 5087, "Time Division Multiplexing over IP (TDMoIP)", December 2007
Source of RFC: pwe3 (int)
Errata ID: 1221
Status: Rejected
Type: Technical
Publication Format(s) : TEXT
Reported By: Alfred Hoenes
Date Reported: 2008-01-03
Rejected by: Stewart Bryant
Date Rejected: 2011-08-04
Section App. A says:
if D > 0 then { packets expected, expected+1, ... received-1 are lost } while not over-run place filler (all-ones or interpolation) into playout buffer if not over-run then place packet contents into playout buffer else discard packet contents set expected = (received + 1) mod 2^16 else { late packet arrived } [...]
It should say:
if D > 0 then { packets expected, expected+1, ... received-1 are lost } while not over-run and D > 0 place filler (all-ones or interpolation) into playout buffer set D = D - 1 if not over-run then place packet contents into playout buffer else discard packet contents set expected = (received + 1) mod 2^16 else { late packet arrived } [...]
Notes:
The pseudocode on mid-page 31 is severely flawed.
The counter value 'D' is never decremented and hence almost useless.
The code will erroneously loop until over-run.
Also, the final treatment must be taken out of the loop,
which needs to be indicated by reducing the indentation of 5 lines
by two character positions.
--VERIFIER NOTES--
D is a local temporary variable that is recalculated whenever a new packet is received and the condition (received = expected) is false. The scope of D is the else condition in which it is calculated.