diff -urN asterisk-1.4.8.orig/channels/chan_iax2.c asterisk-1.4.8/channels/chan_iax2.c --- asterisk-1.4.8.orig/channels/chan_iax2.c 2007-07-17 16:48:21.000000000 -0400 +++ asterisk-1.4.8/channels/chan_iax2.c 2007-07-19 09:50:06.000000000 -0400 @@ -6714,7 +6714,7 @@ if (option_debug) ast_log(LOG_DEBUG, "Packet arrived out of order (expecting %d, got %d) (frametype = %d, subclass = %d)\n", iaxs[fr->callno]->iseqno, fr->oseqno, f.frametype, f.subclass); - if (iaxs[fr->callno]->iseqno > fr->oseqno) { + if ((unsigned char)(iaxs[fr->callno]->iseqno - fr->oseqno) < 128 ) { /* If we've already seen it, ack it XXX There's a border condition here XXX */ if ((f.frametype != AST_FRAME_IAX) || ((f.subclass != IAX_COMMAND_ACK) && (f.subclass != IAX_COMMAND_INVAL))) {