From 491827a28adbb0f96b39bd8b0c22deadfa91b9b3 Mon Sep 17 00:00:00 2001
From: Olle Johansson <oej@edvina.net>
Date: Fri, 18 May 2007 10:41:31 +0000
Subject: [PATCH] Merged revisions 64974 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r64974 | oej | 2007-05-18 12:37:44 +0200 (Fri, 18 May 2007) | 2 lines

Issue 9487 - stop media flows at hangup of call

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_sip.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index de26d9afd1..dd4479f10f 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -1349,6 +1349,7 @@ static void add_noncodec_to_sdp(const struct sip_pvt *p, int format, int sample_
 				int debug);
 static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p);
 static void do_setnat(struct sip_pvt *p, int natflags);
+static void stop_media_flows(struct sip_pvt *p);
 
 /*--- Authentication stuff */
 static int reply_digest(struct sip_pvt *p, struct sip_request *req, char *header, int sipmethod, char *digest, int digest_len);
@@ -3689,6 +3690,8 @@ static int sip_hangup(struct ast_channel *ast)
 			ast_log(LOG_DEBUG, "Hanging up channel in state %s (not UP)\n", ast_state2str(ast->_state));
 	}
 
+	stop_media_flows(p); /* Immediately stop RTP, VRTP and UDPTL as applicable */
+
 	/* Disconnect */
 	if (p->vad)
 		ast_dsp_free(p->vad);
-- 
GitLab