aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authoroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2006-11-14 11:26:06 +0000
committeroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2006-11-14 11:26:06 +0000
commit2b41d1ee702176bb35076eefa6c37de1e92fa91f (patch)
treef25f2ba1e0b8d32ee249510888c46fb1f9f16742 /channels
parent990f79b1f8c4ac21f032e689af4e39ddcd9d1e55 (diff)
Issue #8272 imported from 1.2/1.4 - Let the peerpoke system destroy it's own packets, please.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47598 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index e626eb145..4985677dc 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -1925,7 +1925,10 @@ static int retrans_pkt(void *data)
ast_channel_unlock(pkt->owner->owner);
} else {
/* If no channel owner, destroy now */
- ast_set_flag(&pkt->owner->flags[0], SIP_NEEDDESTROY);
+
+ /* Let the peerpoke system expire packets when the timer expires for poke_noanswer */
+ if (pkt->method != SIP_OPTIONS)
+ ast_set_flag(&pkt->owner->flags[0], SIP_NEEDDESTROY);
}
}
/* Remove the packet */