[asterisk-commits] oej: branch group/rana-early-media-is-gone-1.8 r389478 - in /team/group/rana-...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed May 22 08:17:22 CDT 2013


Author: oej
Date: Wed May 22 08:17:19 2013
New Revision: 389478

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=389478
Log:
Changing the way we handle early media

Modified:
    team/group/rana-early-media-is-gone-1.8/apps/app_dial.c
    team/group/rana-early-media-is-gone-1.8/main/channel.c

Modified: team/group/rana-early-media-is-gone-1.8/apps/app_dial.c
URL: http://svnview.digium.com/svn/asterisk/team/group/rana-early-media-is-gone-1.8/apps/app_dial.c?view=diff&rev=389478&r1=389477&r2=389478
==============================================================================
--- team/group/rana-early-media-is-gone-1.8/apps/app_dial.c (original)
+++ team/group/rana-early-media-is-gone-1.8/apps/app_dial.c Wed May 22 08:17:19 2013
@@ -1044,6 +1044,7 @@
 	struct ast_channel *peer = NULL;
 	/* single is set if only one destination is enabled */
 	int single = outgoing && !outgoing->next;
+	int earlymedia = 0;		/* Turn on if early media (AST_PROGRESS) is active */
 	int caller_entertained = outgoing
 		&& ast_test_flag64(outgoing, OPT_MUSICBACK | OPT_RINGBACK);
 #ifdef HAVE_EPOLL
@@ -1342,11 +1343,14 @@
 					}
 					break;
 				case AST_CONTROL_PROGRESS:
+					/* Early media. We only allow one call leg to send early media and ignore
+					   the rest */
 					ast_verb(3, "%s is making progress passing it to %s\n", c->name, in->name);
 					/* Setup early media if appropriate */
-					if (single && !caller_entertained
+					if (!earlymedia && !caller_entertained
 						&& CAN_EARLY_BRIDGE(peerflags, in, c)) {
 						ast_channel_early_bridge(in, c);
+						earlymedia = 1;		
 					}
 					if (!ast_test_flag64(outgoing, OPT_RINGBACK)) {
 						if (single || (!single && !pa->sentringing)) {

Modified: team/group/rana-early-media-is-gone-1.8/main/channel.c
URL: http://svnview.digium.com/svn/asterisk/team/group/rana-early-media-is-gone-1.8/main/channel.c?view=diff&rev=389478&r1=389477&r2=389478
==============================================================================
--- team/group/rana-early-media-is-gone-1.8/main/channel.c (original)
+++ team/group/rana-early-media-is-gone-1.8/main/channel.c Wed May 22 08:17:19 2013
@@ -3994,7 +3994,9 @@
 			/* Clear the exception flag */
 			ast_clear_flag(chan, AST_FLAG_EXCEPTION);
 		} else if (chan->tech && chan->tech->read) {
-			ast_debug(4, "====> Reading on channel %s\n", chan->name);
+			if (chan->fdno != 8) {
+				ast_debug(4, "====> Reading on channel %s\n", chan->name);
+			}
 			f = chan->tech->read(chan);
 		} else {
 			ast_log(LOG_WARNING, "No read routine on channel %s\n", chan->name);




More information about the asterisk-commits mailing list