From: Joshua Colp Date: Tue, 24 Jan 2012 16:30:36 +0000 (+0000) Subject: Move RTP timeout check to before bridged channel check so it is actually executed. X-Git-Tag: 1.8.10.0-rc1~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d7a25693c937aff16ee30a2422ba260d54cf96d7;p=thirdparty%2Fasterisk.git Move RTP timeout check to before bridged channel check so it is actually executed. (issue ASTERISK-19179) Reported by: TSAREGORODTSEV Yury (closes issue ASTERISK-14534) Reported by: kriborgen Patches: chan_sip.patch uploaded by kriborgen (license 6138) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@352287 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 8abcd61019..911596c3ef 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -16842,6 +16842,9 @@ static int dialog_needdestroy(void *dialogobj, void *arg, int flags) return 0; } + /* Check RTP timeouts and kill calls if we have a timeout set and do not get RTP */ + check_rtp_timeout(dialog, *t); + /* We absolutely cannot destroy the rtp struct while a bridge is active or we WILL crash */ if (dialog->rtp && ast_rtp_instance_get_bridged(dialog->rtp)) { ast_debug(2, "Bridge still active. Delaying destroy of SIP dialog '%s' Method: %s\n", dialog->callid, sip_methods[dialog->method].text); @@ -16855,9 +16858,6 @@ static int dialog_needdestroy(void *dialogobj, void *arg, int flags) return 0; } - /* Check RTP timeouts and kill calls if we have a timeout set and do not get RTP */ - check_rtp_timeout(dialog, *t); - /* If we have sessions that needs to be destroyed, do it now */ /* Check if we have outstanding requests not responsed to or an active call - if that's the case, wait with destruction */