[svn-commits] oej: branch oej/pinefrog-rtcp-1.8 r382683 - /team/oej/pinefrog-rtcp-1.8/chann...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Fri Mar 8 08:50:06 CST 2013


Author: oej
Date: Fri Mar  8 08:50:02 2013
New Revision: 382683

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=382683
Log:
Ok, turn on/off media hold for RTP

Modified:
    team/oej/pinefrog-rtcp-1.8/channels/chan_sip.c

Modified: team/oej/pinefrog-rtcp-1.8/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinefrog-rtcp-1.8/channels/chan_sip.c?view=diff&rev=382683&r1=382682&r2=382683
==============================================================================
--- team/oej/pinefrog-rtcp-1.8/channels/chan_sip.c (original)
+++ team/oej/pinefrog-rtcp-1.8/channels/chan_sip.c Fri Mar  8 08:50:02 2013
@@ -9116,6 +9116,7 @@
 			      dialog->owner->uniqueid);
 	append_history(dialog, holdstate ? "Hold" : "Unhold", "%s", ast_str_buffer(req->data));
 	if (!holdstate) {	/* Put off remote hold */
+		ast_rtp_instance_hold(dialog->rtp, 0);	/* Turn off RTP hold */
 		ast_clear_flag(&dialog->flags[1], SIP_PAGE2_CALL_ONHOLD);	/* Clear both flags */
 		return;
 	}
@@ -9884,12 +9885,9 @@
 		ast_queue_control_data(p->owner, AST_CONTROL_HOLD,
 				       S_OR(p->mohsuggest, NULL),
 				       !ast_strlen_zero(p->mohsuggest) ? strlen(p->mohsuggest) + 1 : 0);
-		//
-		// We should only stop at port = 0 or BYE /End of call or stream (like a transfer)
-		//if (sendonly == 2) {
-			//ast_rtp_instance_stop(p->rtp);
-			///* RTCP needs to go ahead, even if we're on hold!!! */
-		//}
+		if (sendonly == 1 || sendonly == 2) {	/* sendonly (from the other side) or inactive */
+			ast_rtp_instance_hold(p->rtp, 1);
+		}
 		/* Activate a re-invite */
 		ast_queue_frame(p->owner, &ast_null_frame);
 		change_hold_state(p, req, TRUE, sendonly);




More information about the svn-commits mailing list