[asterisk-dev] [IAX2] Question on unrecoverable race condition and VNAK's Oseq
Mihai Balea
mihai at hates.ms
Wed Mar 4 06:20:24 CST 2009
On Mar 3, 2009, at 4:01 PM, David Vossel wrote:
> I've noticed VNAK's seem to always be sent with the same iseq and
> oseq number. When a VNAK is received, only packets higher than the
> VNAK's iseq must be resent. I'd have to look into the code, but I'm
> not even sure it matters what the oseq number is in a VNAK. As far
> as the sequence of events, I don't know why this loop happens. How
> often does this occur. Can you get a wireshark log of this?
Actually, the way things work right now, upon receipt of a VNAK, an
endpoint should retransmit all packets higher OR EQUAL than VNAK's
iseq should be retransmitted. This is a subtle difference that had me
pulling my hair before I figured it out.
BTW, section 6.9.3 of the freshly minted IAX2 RFC gets it wrong as
well. Or you might look at it the other way around, the RFC is right
and all current implementations, including chan_iax2 and iaxclient get
it wrong :)
Mihai
More information about the asterisk-dev
mailing list