aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-01-09 22:48:48 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-01-09 22:48:48 +0000
commitf8bc27d79e8933cf10e1aff899b094febc21a7f0 (patch)
tree86471b952fd51645974e909255e91d545ef772f5 /channels
parentaddb93b041c57688885490ccea5e6216791960f5 (diff)
re-initialize _all_ sequence numbers when transfer completes
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@7917 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_iax2.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index f7e56a60d..8ef502db3 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -5369,6 +5369,7 @@ static int complete_transfer(int callno, struct iax_ies *ies)
memset(&pvt->transfer, 0, sizeof(pvt->transfer));
/* Reset sequence numbers */
pvt->oseqno = 0;
+ pvt->rseqno = 0;
pvt->iseqno = 0;
pvt->aseqno = 0;
pvt->peercallno = peercallno;
@@ -6579,8 +6580,8 @@ static int socket_read(int *id, int fd, short events, void *cbdata)
/* Handle implicit ACKing unless this is an INVAL, and only if this is
from the real peer, not the transfer peer */
if (!inaddrcmp(&sin, &iaxs[fr.callno]->addr) &&
- (((f.subclass != IAX_COMMAND_INVAL)) ||
- (f.frametype != AST_FRAME_IAX))) {
+ ((f.subclass != IAX_COMMAND_INVAL) ||
+ (f.frametype != AST_FRAME_IAX))) {
unsigned char x;
/* XXX This code is not very efficient. Surely there is a better way which still
properly handles boundary conditions? XXX */