]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 170504 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Fri, 23 Jan 2009 18:09:45 +0000 (18:09 +0000)
committerJoshua Colp <jcolp@digium.com>
Fri, 23 Jan 2009 18:09:45 +0000 (18:09 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r170504 | file | 2009-01-23 14:04:08 -0400 (Fri, 23 Jan 2009) | 4 lines

  Use the on hold flag to see if the call is on hold or not. It is possible that our address for them will still be valid even though they are on hold.
  (closes issue #14295)
  Reported by: klaus3000
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@170505 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 7b3c2d8be6b0dc1c437a2e9f11057bd57f2a178a..59b5eb5451b2408d0404b32e93706b0698bdc932 100644 (file)
@@ -21025,7 +21025,7 @@ static void check_rtp_timeout(struct sip_pvt *dialog, time_t t)
                /* Might be a timeout now -- see if we're on hold */
                struct sockaddr_in sin;
                ast_rtp_get_peer(dialog->rtp, &sin);
-               if (sin.sin_addr.s_addr || (ast_rtp_get_rtpholdtimeout(dialog->rtp) &&
+               if (!ast_test_flag(&dialog->flags[1], SIP_PAGE2_CALL_ONHOLD) || (ast_rtp_get_rtpholdtimeout(dialog->rtp) &&
                     (t > dialog->lastrtprx + ast_rtp_get_rtpholdtimeout(dialog->rtp)))) {
                        /* Needs a hangup */
                        if (ast_rtp_get_rtptimeout(dialog->rtp)) {