diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-16 12:08:28 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-16 12:08:28 +0000 |
commit | eb1723cf46dc8047233d99a8ce8e700582c5acb8 (patch) | |
tree | 0407bedde431f5982a319bd406dca73dc1b12f11 /channels | |
parent | a4bf26f8b263392875dbe8f7fefe7e7b7fda220f (diff) |
Don't send a BYE on a dialog that is already gone during a REFER.
(closes issue #12865)
Reported by: flefoll
Patches:
chan_sip.c.br14.121495.patch-ALREADYGONE uploaded by flefoll (license 244)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@122869 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_sip.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 912fe9a5e..9fc58e6cf 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2105,7 +2105,7 @@ static int __sip_autodestruct(const void *data) if (p->owner) { ast_log(LOG_WARNING, "Autodestruct on dialog '%s' with owner in place (Method: %s)\n", p->callid, sip_methods[p->method].text); ast_queue_hangup(p->owner); - } else if (p->refer) { + } else if (p->refer && !ast_test_flag(&p->flags[0], SIP_ALREADYGONE)) { if (option_debug > 2) ast_log(LOG_DEBUG, "Finally hanging up channel after transfer: %s\n", p->callid); transmit_request_with_auth(p, SIP_BYE, 0, XMIT_RELIABLE, 1); |