[asterisk-dev] [Code Review] IAX2 retransmit with encryption enabled fix

Russell Bryant russell at digium.com
Thu Mar 12 07:21:29 CDT 2009


On Mar 11, 2009, at 4:07 PM, Tim Panton wrote:

> I don't understand the cause of the problem.
> Why does the iseq have to be updated?

I think strictly speaking, it does not _have_ to be updated.  The  
problem being fixed is that the existing code tried to update it, but  
the way it did it was totally broken, as it was writing it into a  
frame that was already encrypted.  So, as a result, retransmissions  
within an encrypted call were totally broken.

> I realize that _strictly_ the iseq indicates all the packets that we  
> have seen to date,
> but since it is only treated as an ack why would it be bad if re- 
> transmit just re-sent the
> original packet unaltered (except for the retransmit bit flag -  
> which isn't in the encrypted
> part of the packet) ?


I would agree that just removing the line of code that attempted to  
update the iseqno would have fixed the problem.  However, would you  
agree that it is ideal that we send an updated iseqno when we do a  
retransmission?

That way, the other side doesn't bother retransmitting frames that we  
have already received and processed.

--
Russell Bryant
Digium, Inc. | Senior Software Engineer, Open Source Team Lead
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: www.digium.com & www.asterisk.org







More information about the asterisk-dev mailing list