diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-01-09 22:48:48 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-01-09 22:48:48 +0000 |
commit | f8bc27d79e8933cf10e1aff899b094febc21a7f0 (patch) | |
tree | 86471b952fd51645974e909255e91d545ef772f5 /channels/chan_iax2.c | |
parent | addb93b041c57688885490ccea5e6216791960f5 (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/chan_iax2.c')
-rw-r--r-- | channels/chan_iax2.c | 5 |
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 */ |