diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-07-14 11:10:05 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-07-14 11:10:05 +0000 |
commit | 11732cd6d95a5d940b4e3fafd50d6ee0fa26e9da (patch) | |
tree | 60680f599d2be7fad03ab0872383564aea6b0198 | |
parent | 41b711b64e10228e60312cf16610f5f5e67ecd91 (diff) |
If we get 200 OK back on INVITE after we send CANCEL, send ACK *and* send BYE
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3434 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-x | channels/chan_sip.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index bd743000f..cc6bd5868 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -6423,7 +6423,9 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_ struct ast_frame af = { AST_FRAME_NULL, }; ast_queue_frame(p->owner, &af); } - } + } else /* It's possible we're getting an ACK after we've tried to disconnect + by sending CANCEL */ + p->pendingbye = 1; p->authtries = 0; /* If I understand this right, the branch is different for a non-200 ACK only */ transmit_request(p, "ACK", seqno, 0, 1); |