summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2007-12-17 15:18:58 +0000
committerJoshua Colp <jcolp@digium.com>2007-12-17 15:18:58 +0000
commite693a515cc80412e2c328f43513859e6ff72645b (patch)
treef32aafcab17db7c927d61fc53f45bfb88faa51a2 /channels
parent97b3e7ec72ec841ebb69387897b09cbfaa302ef4 (diff)
Fix usage of rtptimeout. It can be used without rtpkeepalive, and the value can not be accessed directly in the SIP pvt structure. All RTP related timeouts have to be retrieved using the ast_rtp_* function calls.
(closes issue #11562) Reported by: ibc git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 6e5a3b17a..fc9c49b8f 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -16921,7 +16921,7 @@ static void check_rtp_timeout(struct sip_pvt *dialog, time_t t)
return;
/* If we have no timers set, return now */
- if (ast_rtp_get_rtpkeepalive(dialog->rtp) == 0 || (ast_rtp_get_rtptimeout(dialog->rtp) == 0 && ast_rtp_get_rtpholdtimeout(dialog->rtp) == 0))
+ if ((ast_rtp_get_rtpkeepalive(dialog->rtp) == 0) && (ast_rtp_get_rtptimeout(dialog->rtp) == 0) && (ast_rtp_get_rtpholdtimeout(dialog->rtp) == 0))
return;
/* Check AUDIO RTP keepalives */
@@ -16948,7 +16948,7 @@ static void check_rtp_timeout(struct sip_pvt *dialog, time_t t)
if (sin.sin_addr.s_addr || (ast_rtp_get_rtpholdtimeout(dialog->rtp) &&
(t > dialog->lastrtprx + ast_rtp_get_rtpholdtimeout(dialog->rtp)))) {
/* Needs a hangup */
- if (dialog->rtptimeout) {
+ if (ast_rtp_get_rtptimeout(dialog->rtp)) {
while (dialog->owner && ast_channel_trylock(dialog->owner)) {
sip_pvt_unlock(dialog);
usleep(1);