aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authoroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-18 10:41:31 +0000
committeroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-18 10:41:31 +0000
commit1a307089256dbccdf2c9a553f328c4ec257c6f3c (patch)
tree6140bed5f6bb19d9754f3ec41c5610fe798f5df0 /channels
parent53efc101ff5e76a1a726df450fe5888de75fca1c (diff)
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: http://svn.digium.com/svn/asterisk/trunk@64975 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index de26d9afd..dd4479f10 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);