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
This commit is contained in:
Joshua Colp
2012-01-24 16:30:36 +00:00
parent e41e647429
commit d7a25693c9

View File

@@ -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 */