Issue #8272 imported from 1.2/1.4 - Let the peerpoke system destroy it's own packets...
authorOlle Johansson <oej@edvina.net>
Tue, 14 Nov 2006 11:26:06 +0000 (11:26 +0000)
committerOlle Johansson <oej@edvina.net>
Tue, 14 Nov 2006 11:26:06 +0000 (11:26 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47598 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index e626eb1..4985677 100644 (file)
@@ -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 */