Merged revisions 75759 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Wed, 18 Jul 2007 21:10:27 +0000 (21:10 +0000)
committerRussell Bryant <russell@russellbryant.com>
Wed, 18 Jul 2007 21:10:27 +0000 (21:10 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75759 | russell | 2007-07-18 16:09:46 -0500 (Wed, 18 Jul 2007) | 13 lines

Merged revisions 75757 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75757 | russell | 2007-07-18 16:09:13 -0500 (Wed, 18 Jul 2007) | 5 lines

When traversing the queue of frames for possible retransmission after
receiving a VNAK, handle sequence number wraparound so that all frames that
should be retransmitted actually do get retransmitted.
(issue #10227, reported and patched by mihai)

........

................

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75761 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_iax2.c

index 1caf0aa..8f6e3dc 100644 (file)
@@ -6152,7 +6152,7 @@ static void vnak_retransmit(int callno, int last)
        AST_LIST_TRAVERSE(&frame_queue, f, list) {
                /* Send a copy immediately */
                if ((f->callno == callno) && iaxs[f->callno] &&
-                       (f->oseqno >= last)) {
+                       ((unsigned char ) (f->oseqno - last) < 128)) {
                        send_packet(f);
                }
        }