When peer recieves fr->oseqno other than the expected one, it sends VNAK.

if ((iaxs[fr->callno]->iseqno != fr->oseqno) &&

but it don't do the same for fr->iseqno. When a peer receives a frame, it
uses fr->iseqno without any checking. Here is a sample received packets:

[2015-03-12 13:26:03.071] VERBOSE[6960] chan_iax2.c: Rx-Frame Retry[
No] -- OSeqno: 008 ISeqno: 007 Type: IAX     Subclass: ACK
[2015-03-12 13:26:03.071] VERBOSE[6960] chan_iax2.c:    Timestamp:
19717ms  SCall: 07431  DCall: 25289 45.56.114.174:4566


[2015-03-12 13:26:03.099] VERBOSE[6960] chan_iax2.c: Rx-Frame Retry[
No] -- OSeqno: 008 ISeqno: 006 Type: IAX     Subclass: LAGRP
[2015-03-12 13:26:03.099] VERBOSE[6960] chan_iax2.c:    Timestamp:
20007ms  SCall: 07431  DCall: 25289 45.56.114.174:4566

Here, peer received iseqno 7 before 6.

More details in this comment:
https://issues.asterisk.org/jira/browse/ASTERISK-24873?focusedCommentId=225569&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-225569

Is is better that the peer sends VNAK when it receives out-of-order
fr->inseqno?
-- 
Yousf Ateya,

-- 


This e-mail message is intended only for the use of the intended recipient(s).
The information contained therein may be confidential or privileged,
and its disclosure or reproduction is strictly prohibited.
If you are not the intended recipient, please return it immediately to its 
sender 
at the above address and destroy it. 

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to