summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorKinsey Moore <kmoore@digium.com>2011-10-14 20:51:19 +0000
committerKinsey Moore <kmoore@digium.com>2011-10-14 20:51:19 +0000
commit4b9546abdfb732758371e64976d65debe81fc067 (patch)
treee31fff60e060655098b472b0da47c3e520ba7766 /channels
parente77f1a6ae19d5a51b839d8419ae6b1203770f6cb (diff)
Merged revisions 340971 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r340971 | kmoore | 2011-10-14 15:50:37 -0500 (Fri, 14 Oct 2011) | 15 lines Merged revisions 340970 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r340970 | kmoore | 2011-10-14 15:49:39 -0500 (Fri, 14 Oct 2011) | 8 lines Quiet RTCP Receiver Reports during fax transmission RTCP is now disabled for "inactive" RTP audio streams during SIP T.38 sessions. The ability to disable RTCP streams in res_rtp_asterisk was missing, so this code was added to support the bug fix. (closes issue ASTERISK-18400) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340972 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 2d340f735..ff9689895 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -9127,6 +9127,9 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
}
ast_rtp_codecs_payloads_copy(&newaudiortp, ast_rtp_instance_get_codecs(p->rtp), p->rtp);
+ /* Ensure RTCP is enabled since it may be inactive
+ if we're coming back from a T.38 session */
+ ast_rtp_instance_set_prop(p->rtp, AST_RTP_PROPERTY_RTCP, 1);
if (ast_test_flag(&p->flags[0], SIP_DTMF) == SIP_DTMF_AUTO) {
ast_clear_flag(&p->flags[0], SIP_DTMF);
@@ -9143,6 +9146,8 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
} else if (udptlportno > 0) {
if (debug)
ast_verbose("Got T.38 Re-invite without audio. Keeping RTP active during T.38 session.\n");
+ /* Silence RTCP while audio RTP is inactive */
+ ast_rtp_instance_set_prop(p->rtp, AST_RTP_PROPERTY_RTCP, 0);
} else {
ast_rtp_instance_stop(p->rtp);
if (debug)