[svn-commits] rmudgett: branch group/bridge_construction r382271 - in /team/group/bridge_co...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Feb 28 12:51:04 CST 2013


Author: rmudgett
Date: Thu Feb 28 12:51:00 2013
New Revision: 382271

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=382271
Log:
Make bridging debug messages easier to follow.  Use channel names.

Modified:
    team/group/bridge_construction/bridges/bridge_multiplexed.c
    team/group/bridge_construction/bridges/bridge_softmix.c
    team/group/bridge_construction/main/bridging.c

Modified: team/group/bridge_construction/bridges/bridge_multiplexed.c
URL: http://svnview.digium.com/svn/asterisk/team/group/bridge_construction/bridges/bridge_multiplexed.c?view=diff&rev=382271&r1=382270&r2=382271
==============================================================================
--- team/group/bridge_construction/bridges/bridge_multiplexed.c (original)
+++ team/group/bridge_construction/bridges/bridge_multiplexed.c Thu Feb 28 12:51:00 2013
@@ -109,7 +109,8 @@
 		/* If we failed we will have to create a new one from scratch */
 		muxed_thread = ao2_alloc(sizeof(*muxed_thread), destroy_multiplexed_thread);
 		if (!muxed_thread) {
-			ast_debug(1, "Failed to find or create a new multiplexed thread for bridge '%p'\n", bridge);
+			ast_debug(1, "Failed to find or create a new multiplexed thread for bridge %p\n",
+				bridge);
 			ao2_unlock(muxed_threads);
 			return -1;
 		}
@@ -117,7 +118,8 @@
 		muxed_thread->pipe[0] = muxed_thread->pipe[1] = -1;
 		/* Setup a pipe so we can poke the thread itself when needed */
 		if (pipe(muxed_thread->pipe)) {
-			ast_debug(1, "Failed to create a pipe for poking a multiplexed thread for bridge '%p'\n", bridge);
+			ast_debug(1, "Failed to create a pipe for poking a multiplexed thread for bridge %p\n",
+				bridge);
 			ao2_ref(muxed_thread, -1);
 			ao2_unlock(muxed_threads);
 			return -1;
@@ -126,14 +128,16 @@
 		/* Setup each pipe for non-blocking operation */
 		flags = fcntl(muxed_thread->pipe[0], F_GETFL);
 		if (fcntl(muxed_thread->pipe[0], F_SETFL, flags | O_NONBLOCK) < 0) {
-			ast_log(LOG_WARNING, "Failed to setup first nudge pipe for non-blocking operation on %p (%d: %s)\n", bridge, errno, strerror(errno));
+			ast_log(LOG_WARNING, "Failed to setup first nudge pipe for non-blocking operation on %p (%d: %s)\n",
+				bridge, errno, strerror(errno));
 			ao2_ref(muxed_thread, -1);
 			ao2_unlock(muxed_threads);
 			return -1;
 		}
 		flags = fcntl(muxed_thread->pipe[1], F_GETFL);
 		if (fcntl(muxed_thread->pipe[1], F_SETFL, flags | O_NONBLOCK) < 0) {
-			ast_log(LOG_WARNING, "Failed to setup second nudge pipe for non-blocking operation on %p (%d: %s)\n", bridge, errno, strerror(errno));
+			ast_log(LOG_WARNING, "Failed to setup second nudge pipe for non-blocking operation on %p (%d: %s)\n",
+				bridge, errno, strerror(errno));
 			ao2_ref(muxed_thread, -1);
 			ao2_unlock(muxed_threads);
 			return -1;
@@ -144,9 +148,11 @@
 
 		/* Finally link us into the container so others may find us */
 		ao2_link(muxed_threads, muxed_thread);
-		ast_debug(1, "Created multiplexed thread '%p' for bridge '%p'\n", muxed_thread, bridge);
+		ast_debug(1, "Created multiplexed thread %p for bridge %p\n",
+			muxed_thread, bridge);
 	} else {
-		ast_debug(1, "Found multiplexed thread '%p' for bridge '%p'\n", muxed_thread, bridge);
+		ast_debug(1, "Found multiplexed thread %p for bridge %p\n",
+			muxed_thread, bridge);
 	}
 
 	/* Increase the number of bridges using this multiplexed bridge */
@@ -179,7 +185,8 @@
 	}
 
 	if (write(muxed_thread->pipe[1], &nudge, sizeof(nudge)) != sizeof(nudge)) {
-		ast_log(LOG_ERROR, "We couldn't poke multiplexed thread '%p'... something is VERY wrong\n", muxed_thread);
+		ast_log(LOG_ERROR, "We couldn't poke multiplexed thread %p... something is VERY wrong\n",
+			muxed_thread);
 	}
 
 	while (muxed_thread->waiting) {
@@ -205,7 +212,7 @@
 		/* Other bridges are still using the multiplexed thread. */
 		ao2_unlock(muxed_threads);
 	} else {
-		ast_debug(1, "Unlinking multiplexed thread '%p' since nobody is using it anymore\n",
+		ast_debug(1, "Unlinking multiplexed thread %p since nobody is using it anymore\n",
 			muxed_thread);
 		ao2_unlink(muxed_threads, muxed_thread);
 		ao2_unlock(muxed_threads);
@@ -232,7 +239,7 @@
 	struct multiplexed_thread *muxed_thread = data;
 	int fds = muxed_thread->pipe[0];
 
-	ast_debug(1, "Starting actual thread for multiplexed thread '%p'\n", muxed_thread);
+	ast_debug(1, "Starting actual thread for multiplexed thread %p\n", muxed_thread);
 
 	ao2_lock(muxed_thread);
 
@@ -265,7 +272,8 @@
 
 			if (read(muxed_thread->pipe[0], &nudge, sizeof(nudge)) < 0) {
 				if (errno != EINTR && errno != EAGAIN) {
-					ast_log(LOG_WARNING, "read() failed for pipe on multiplexed thread '%p': %s\n", muxed_thread, strerror(errno));
+					ast_log(LOG_WARNING, "read() failed for pipe on multiplexed thread %p: %s\n",
+						muxed_thread, strerror(errno));
 				}
 			}
 		}
@@ -292,7 +300,7 @@
 
 	ao2_unlock(muxed_thread);
 
-	ast_debug(1, "Stopping actual thread for multiplexed thread '%p'\n", muxed_thread);
+	ast_debug(1, "Stopping actual thread for multiplexed thread %p\n", muxed_thread);
 	ao2_ref(muxed_thread, -1);
 
 	return NULL;
@@ -316,7 +324,7 @@
 		if (ast_pthread_create(&muxed_thread->thread, NULL, multiplexed_thread_function, muxed_thread)) {
 			muxed_thread->thread = AST_PTHREADT_NULL;/* For paranoia's sake. */
 			ao2_ref(muxed_thread, -1);
-			ast_log(LOG_WARNING, "Failed to create the common thread for multiplexed thread '%p', trying next time\n",
+			ast_log(LOG_WARNING, "Failed to create the common thread for multiplexed thread %p, trying next time\n",
 				muxed_thread);
 		}
 	}
@@ -401,7 +409,8 @@
 	struct ast_channel *c1 = AST_LIST_LAST(&bridge->channels)->chan;
 	struct multiplexed_thread *muxed_thread = bridge->bridge_pvt;
 
-	ast_debug(1, "Adding channel '%s' to multiplexed thread '%p' for monitoring\n", ast_channel_name(bridge_channel->chan), muxed_thread);
+	ast_debug(1, "Adding channel %p(%s) to multiplexed thread %p for monitoring\n",
+		bridge_channel, ast_channel_name(bridge_channel->chan), muxed_thread);
 
 	if (!bridge_channel->suspended) {
 		multiplexed_chan_add(muxed_thread, bridge_channel->chan);
@@ -426,7 +435,8 @@
 {
 	struct multiplexed_thread *muxed_thread = bridge->bridge_pvt;
 
-	ast_debug(1, "Removing channel '%s' from multiplexed thread '%p'\n", ast_channel_name(bridge_channel->chan), muxed_thread);
+	ast_debug(1, "Removing channel %p(%s) from multiplexed thread %p\n",
+		bridge_channel, ast_channel_name(bridge_channel->chan), muxed_thread);
 
 	if (!bridge_channel->suspended) {
 		multiplexed_chan_remove(muxed_thread, bridge_channel->chan);
@@ -438,7 +448,8 @@
 {
 	struct multiplexed_thread *muxed_thread = bridge->bridge_pvt;
 
-	ast_debug(1, "Suspending channel '%s' from multiplexed thread '%p'\n", ast_channel_name(bridge_channel->chan), muxed_thread);
+	ast_debug(1, "Suspending channel %p(%s) from multiplexed thread %p\n",
+		bridge_channel, ast_channel_name(bridge_channel->chan), muxed_thread);
 
 	multiplexed_chan_remove(muxed_thread, bridge_channel->chan);
 }
@@ -448,7 +459,8 @@
 {
 	struct multiplexed_thread *muxed_thread = bridge->bridge_pvt;
 
-	ast_debug(1, "Unsuspending channel '%s' from multiplexed thread '%p'\n", ast_channel_name(bridge_channel->chan), muxed_thread);
+	ast_debug(1, "Unsuspending channel %p(%s) from multiplexed thread %p\n",
+		bridge_channel, ast_channel_name(bridge_channel->chan), muxed_thread);
 
 	multiplexed_chan_add(muxed_thread, bridge_channel->chan);
 }

Modified: team/group/bridge_construction/bridges/bridge_softmix.c
URL: http://svnview.digium.com/svn/asterisk/team/group/bridge_construction/bridges/bridge_softmix.c?view=diff&rev=382271&r1=382270&r2=382271
==============================================================================
--- team/group/bridge_construction/bridges/bridge_softmix.c (original)
+++ team/group/bridge_construction/bridges/bridge_softmix.c Thu Feb 28 12:51:00 2013
@@ -660,7 +660,8 @@
 		 * from the current rate we are using. */
 		if (softmix_data->internal_rate != stats->locked_rate) {
 			softmix_data->internal_rate = stats->locked_rate;
-			ast_debug(1, " Bridge is locked in at sample rate %d\n", softmix_data->internal_rate);
+			ast_debug(1, "Bridge is locked in at sample rate %d\n",
+				softmix_data->internal_rate);
 			return 1;
 		}
 	} else if (stats->num_above_internal_rate >= 2) {
@@ -699,13 +700,15 @@
 			}
 		}
 
-		ast_debug(1, " Bridge changed from %d To %d\n", softmix_data->internal_rate, best_rate);
+		ast_debug(1, "Bridge changed from %d To %d\n",
+			softmix_data->internal_rate, best_rate);
 		softmix_data->internal_rate = best_rate;
 		return 1;
 	} else if (!stats->num_at_internal_rate && !stats->num_above_internal_rate) {
 		/* In this case, the highest supported rate is actually lower than the internal rate */
 		softmix_data->internal_rate = stats->highest_supported_rate;
-		ast_debug(1, " Bridge changed from %d to %d\n", softmix_data->internal_rate, stats->highest_supported_rate);
+		ast_debug(1, "Bridge changed from %d to %d\n",
+			softmix_data->internal_rate, stats->highest_supported_rate);
 		return 1;
 	}
 	return 0;

Modified: team/group/bridge_construction/main/bridging.c
URL: http://svnview.digium.com/svn/asterisk/team/group/bridge_construction/main/bridging.c?view=diff&rev=382271&r1=382270&r2=382271
==============================================================================
--- team/group/bridge_construction/main/bridging.c (original)
+++ team/group/bridge_construction/main/bridging.c Thu Feb 28 12:51:00 2013
@@ -84,7 +84,8 @@
 	if (ast_strlen_zero(technology->name)
 		|| !technology->capabilities
 		|| !technology->write) {
-		ast_log(LOG_WARNING, "Bridge technology %s failed registration sanity check.\n", technology->name);
+		ast_log(LOG_WARNING, "Bridge technology %s failed registration sanity check.\n",
+			technology->name);
 		return -1;
 	}
 
@@ -93,7 +94,8 @@
 	/* Look for duplicate bridge technology already using this name, or already registered */
 	AST_RWLIST_TRAVERSE(&bridge_technologies, current, entry) {
 		if ((!strcasecmp(current->name, technology->name)) || (current == technology)) {
-			ast_log(LOG_WARNING, "A bridge technology of %s already claims to exist in our world.\n", technology->name);
+			ast_log(LOG_WARNING, "A bridge technology of %s already claims to exist in our world.\n",
+				technology->name);
 			AST_RWLIST_UNLOCK(&bridge_technologies);
 			return -1;
 		}
@@ -151,8 +153,9 @@
 void ast_bridge_change_state_nolock(struct ast_bridge_channel *bridge_channel, enum ast_bridge_channel_state new_state)
 {
 /* BUGBUG need cause code for the bridge_channel leaving the bridge. */
-	ast_debug(1, "BUGBUG Setting bridge channel %p state from:%d to:%d\n",
-		bridge_channel, bridge_channel->state, new_state);
+	ast_debug(1, "Setting bridge channel %p(%s) state from:%d to:%d\n",
+		bridge_channel, ast_channel_name(bridge_channel->chan), bridge_channel->state,
+		new_state);
 
 	/* Change the state on the bridge channel */
 	bridge_channel->state = new_state;
@@ -176,7 +179,7 @@
 		return -1;
 	}
 
-	ast_debug(1, "BUGBUG Queueing action type:%d sub:%d on bridge %p\n",
+	ast_debug(1, "Queueing action type:%d sub:%d on bridge %p\n",
 		action->frametype, action->subclass.integer, bridge);
 
 	ao2_lock(bridge);
@@ -196,8 +199,9 @@
 		return -1;
 	}
 
-	ast_debug(1, "BUGBUG Queueing action type:%d sub:%d on bridge channel %p\n",
-		action->frametype, action->subclass.integer, bridge_channel);
+	ast_debug(1, "Queueing action type:%d sub:%d on bridge channel %p(%s)\n",
+		action->frametype, action->subclass.integer, bridge_channel,
+		ast_channel_name(bridge_channel->chan));
 
 	ao2_lock(bridge_channel);
 	AST_LIST_INSERT_TAIL(&bridge_channel->action_queue, dup, frame_list);
@@ -358,12 +362,14 @@
 	bridge_channel->in_bridge = 0;
 	ao2_unlock(bridge_channel);
 
-	ast_debug(1, "Pulling bridge channel %p from bridge %p\n", bridge_channel, bridge);
+	ast_debug(1, "Pulling bridge channel %p(%s) from bridge %p\n",
+		bridge_channel, ast_channel_name(bridge_channel->chan), bridge);
 
 	if (!bridge_channel->just_joined) {
 		/* Tell the bridge technology we are leaving so they tear us down */
-		ast_debug(1, "Giving bridge technology %s notification that %p is leaving bridge %p\n",
-			bridge->technology->name, bridge_channel, bridge);
+		ast_debug(1, "Giving bridge technology %s notification that %p(%s) is leaving bridge %p\n",
+			bridge->technology->name, bridge_channel,
+			ast_channel_name(bridge_channel->chan), bridge);
 		if (bridge->technology->leave) {
 			bridge->technology->leave(bridge, bridge_channel);
 		}
@@ -428,8 +434,9 @@
 
 		bridge_channel2 = find_bridge_channel(bridge, swap);
 		if (bridge_channel2) {
-			ast_debug(1, "Swapping bridge channel %p out from bridge %p so bridge channel %p can slip in\n",
-				bridge_channel2, bridge, bridge_channel);
+			ast_debug(1, "Swapping bridge channel %p(%s) out from bridge %p so bridge channel %p(%s) can slip in\n",
+				bridge_channel2, ast_channel_name(bridge_channel2->chan), bridge,
+				bridge_channel, ast_channel_name(bridge_channel->chan));
 			ao2_lock(bridge_channel2);
 			switch (bridge_channel2->state) {
 			case AST_BRIDGE_CHANNEL_STATE_WAIT:
@@ -444,7 +451,8 @@
 		}
 	}
 
-	ast_debug(1, "Pushing bridge channel %p into bridge %p\n", bridge_channel, bridge);
+	ast_debug(1, "Pushing bridge channel %p(%s) into bridge %p\n",
+		bridge_channel, ast_channel_name(bridge_channel->chan), bridge);
 
 	/* Add channel to the bridge */
 	AST_LIST_INSERT_TAIL(&bridge->channels, bridge_channel, entry);
@@ -651,8 +659,9 @@
 			}
 			ao2_unlock(bridge_channel);
 		} else if (frame->frametype == AST_FRAME_CONTROL && bridge_drop_control_frame(frame->subclass.integer)) {
-			ast_debug(1, "Dropping control frame %d from bridge channel %p\n",
-				frame->subclass.integer, bridge_channel);
+			ast_debug(1, "Dropping control frame %d from bridge channel %p(%s)\n",
+				frame->subclass.integer, bridge_channel,
+				ast_channel_name(bridge_channel->chan));
 		} else if (frame->frametype == AST_FRAME_DTMF_BEGIN || frame->frametype == AST_FRAME_DTMF_END) {
 			int dtmf_passthrough = bridge_channel->features ?
 				bridge_channel->features->dtmf_passthrough :
@@ -763,12 +772,14 @@
 		bridge_make_compatible(bridge, bridge_channel);
 
 		/* Tell the bridge technology we are joining so they set us up */
-		ast_debug(1, "Giving bridge technology %s notification that %p is joining bridge %p\n",
-			bridge->technology->name, bridge_channel, bridge);
+		ast_debug(1, "Giving bridge technology %s notification that %p(%s) is joining bridge %p\n",
+			bridge->technology->name, bridge_channel,
+			ast_channel_name(bridge_channel->chan), bridge);
 		if (bridge->technology->join
 			&& bridge->technology->join(bridge, bridge_channel)) {
-			ast_debug(1, "Bridge technology %s failed to join %p to bridge %p\n",
-				bridge->technology->name, bridge_channel, bridge);
+			ast_debug(1, "Bridge technology %s failed to join %p(%s) to bridge %p\n",
+				bridge->technology->name, bridge_channel,
+				ast_channel_name(bridge_channel->chan), bridge);
 		}
 
 		/*
@@ -1046,6 +1057,7 @@
 static int bridge_make_compatible(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel)
 {
 	struct ast_format formats[2];
+
 	ast_format_copy(&formats[0], ast_channel_readformat(bridge_channel->chan));
 	ast_format_copy(&formats[1], ast_channel_writeformat(bridge_channel->chan));
 
@@ -1057,18 +1069,22 @@
 		/* Read format is a no go... */
 		if (option_debug) {
 			char codec_buf[512];
-			ast_debug(1, "Bridge technology %s wants to read any of formats %s but channel has %s\n", bridge->technology->name,
+			ast_debug(1, "Bridge technology %s wants to read any of formats %s but channel has %s\n",
+				bridge->technology->name,
 				ast_getformatname_multiple(codec_buf, sizeof(codec_buf), bridge->technology->format_capabilities),
 				ast_getformatname(&formats[0]));
 		}
 		/* Switch read format to the best one chosen */
 		if (ast_set_read_format(bridge_channel->chan, &best_format)) {
-			ast_log(LOG_WARNING, "Failed to set channel %s to read format %s\n", ast_channel_name(bridge_channel->chan), ast_getformatname(&best_format));
+			ast_log(LOG_WARNING, "Failed to set channel %s to read format %s\n",
+				ast_channel_name(bridge_channel->chan), ast_getformatname(&best_format));
 			return -1;
 		}
-		ast_debug(1, "Bridge %p put channel %s into read format %s\n", bridge, ast_channel_name(bridge_channel->chan), ast_getformatname(&best_format));
+		ast_debug(1, "Bridge %p put channel %s into read format %s\n",
+			bridge, ast_channel_name(bridge_channel->chan), ast_getformatname(&best_format));
 	} else {
-		ast_debug(1, "Bridge %p is happy that channel %s already has read format %s\n", bridge, ast_channel_name(bridge_channel->chan), ast_getformatname(&formats[0]));
+		ast_debug(1, "Bridge %p is happy that channel %s already has read format %s\n",
+			bridge, ast_channel_name(bridge_channel->chan), ast_getformatname(&formats[0]));
 	}
 
 	if (!ast_format_cap_iscompatible(bridge->technology->format_capabilities, &formats[1])) {
@@ -1078,18 +1094,22 @@
 		/* Write format is a no go... */
 		if (option_debug) {
 			char codec_buf[512];
-			ast_debug(1, "Bridge technology %s wants to write any of formats %s but channel has %s\n", bridge->technology->name,
+			ast_debug(1, "Bridge technology %s wants to write any of formats %s but channel has %s\n",
+				bridge->technology->name,
 				ast_getformatname_multiple(codec_buf, sizeof(codec_buf), bridge->technology->format_capabilities),
 				ast_getformatname(&formats[1]));
 		}
 		/* Switch write format to the best one chosen */
 		if (ast_set_write_format(bridge_channel->chan, &best_format)) {
-			ast_log(LOG_WARNING, "Failed to set channel %s to write format %s\n", ast_channel_name(bridge_channel->chan), ast_getformatname(&best_format));
+			ast_log(LOG_WARNING, "Failed to set channel %s to write format %s\n",
+				ast_channel_name(bridge_channel->chan), ast_getformatname(&best_format));
 			return -1;
 		}
-		ast_debug(1, "Bridge %p put channel %s into write format %s\n", bridge, ast_channel_name(bridge_channel->chan), ast_getformatname(&best_format));
+		ast_debug(1, "Bridge %p put channel %s into write format %s\n",
+			bridge, ast_channel_name(bridge_channel->chan), ast_getformatname(&best_format));
 	} else {
-		ast_debug(1, "Bridge %p is happy that channel %s already has write format %s\n", bridge, ast_channel_name(bridge_channel->chan), ast_getformatname(&formats[1]));
+		ast_debug(1, "Bridge %p is happy that channel %s already has write format %s\n",
+			bridge, ast_channel_name(bridge_channel->chan), ast_getformatname(&formats[1]));
 	}
 
 	return 0;
@@ -1123,7 +1143,7 @@
 	struct ast_bridge_channel *bridge_channel;
 
 	if (bridge->dissolved) {
-		ast_debug(1, "Bridge '%p' is dissolved, not performing smart bridge operation.\n",
+		ast_debug(1, "Bridge %p is dissolved, not performing smart bridge operation.\n",
 			bridge);
 		return 0;
 	}
@@ -1150,7 +1170,7 @@
 	}
 
 	if (!new_capabilities) {
-		ast_debug(1, "Bridge '%p' has no new capabilities, not performing smart bridge operation.\n",
+		ast_debug(1, "Bridge %p has no new capabilities, not performing smart bridge operation.\n",
 			bridge);
 		return 0;
 	}
@@ -1205,8 +1225,9 @@
 		}
 
 		/* First we part them from the old technology */
-		ast_debug(1, "Giving bridge technology %s notification that %p is leaving bridge %p (really %p)\n",
-			old_technology->name, bridge_channel, &temp_bridge, bridge);
+		ast_debug(1, "Giving bridge technology %s notification that %p(%s) is leaving bridge %p (really %p)\n",
+			old_technology->name, bridge_channel, ast_channel_name(bridge_channel->chan),
+			&temp_bridge, bridge);
 		if (old_technology->leave) {
 			old_technology->leave(&temp_bridge, bridge_channel);
 		}
@@ -1215,11 +1236,13 @@
 		bridge_make_compatible(bridge, bridge_channel);
 
 		/* Third we join them to the new technology */
-		ast_debug(1, "Giving bridge technology %s notification that %p is joining bridge %p\n",
-			new_technology->name, bridge_channel, bridge);
+		ast_debug(1, "Giving bridge technology %s notification that %p(%s) is joining bridge %p\n",
+			new_technology->name, bridge_channel, ast_channel_name(bridge_channel->chan),
+			bridge);
 		if (new_technology->join && new_technology->join(bridge, bridge_channel)) {
-			ast_debug(1, "Bridge technology %s failed to join %p to bridge %p\n",
-				new_technology->name, bridge_channel, bridge);
+			ast_debug(1, "Bridge technology %s failed to join %p(%s) to bridge %p\n",
+				new_technology->name, bridge_channel,
+				ast_channel_name(bridge_channel->chan), bridge);
 		}
 
 		/* Fourth we tell them to wake up so they become aware that the above has happened */
@@ -1268,15 +1291,17 @@
 		ao2_unlock(bridge_channel);
 		ao2_lock(bridge_channel->bridge);
 	} else if (bridge_channel->suspended) {
-		ast_debug(1, "Going into a multithreaded signal wait for bridge channel %p of bridge %p\n",
-			bridge_channel, bridge_channel->bridge);
+		ast_debug(1, "Going into a multithreaded signal wait for bridge channel %p(%s) of bridge %p\n",
+			bridge_channel, ast_channel_name(bridge_channel->chan),
+			bridge_channel->bridge);
 		ast_cond_wait(&bridge_channel->cond, ao2_object_get_lockaddr(bridge_channel));
 		ao2_unlock(bridge_channel);
 		ao2_lock(bridge_channel->bridge);
 	} else {
 		ao2_unlock(bridge_channel);
-		ast_debug(10, "Going into a multithreaded waitfor for bridge channel %p of bridge %p\n",
-			bridge_channel, bridge_channel->bridge);
+		ast_debug(10, "Going into a multithreaded waitfor for bridge channel %p(%s) of bridge %p\n",
+			bridge_channel, ast_channel_name(bridge_channel->chan),
+			bridge_channel->bridge);
 		chan = ast_waitfor_nandfds(&bridge_channel->chan, 1, fds, nfds, NULL, &outfd, &ms);
 		ao2_lock(bridge_channel->bridge);
 		if (!bridge_channel->suspended) {
@@ -1291,8 +1316,9 @@
 	ao2_unlock(bridge_channel->bridge);
 	ao2_lock(bridge_channel);
 	if (bridge_channel->state == AST_BRIDGE_CHANNEL_STATE_WAIT) {
-		ast_debug(1, "Going into a single threaded signal wait for bridge channel %p of bridge %p\n",
-			bridge_channel, bridge_channel->bridge);
+		ast_debug(1, "Going into a single threaded signal wait for bridge channel %p(%s) of bridge %p\n",
+			bridge_channel, ast_channel_name(bridge_channel->chan),
+			bridge_channel->bridge);
 		ast_cond_wait(&bridge_channel->cond, ao2_object_get_lockaddr(bridge_channel));
 	}
 	ao2_unlock(bridge_channel);
@@ -1362,12 +1388,13 @@
 		int execution_time = 0;
 
 		if (ast_tvdiff_ms(hook->interval_trip_time, start) > 0) {
-			ast_debug(1, "Hook '%p' on '%p' wants to happen in the future, stopping our traversal\n",
-				hook, bridge_channel);
+			ast_debug(1, "Hook %p on bridge channel %p(%s) wants to happen in the future, stopping our traversal\n",
+				hook, bridge_channel, ast_channel_name(bridge_channel->chan));
 			break;
 		}
 
-		ast_debug(1, "Executing hook '%p' on channel '%p'\n", hook, bridge_channel);
+		ast_debug(1, "Executing hook %p on bridge channel %p(%s)\n",
+			hook, bridge_channel, ast_channel_name(bridge_channel->chan));
 		res = hook->callback(bridge, bridge_channel, hook->hook_pvt);
 
 		/*
@@ -1377,7 +1404,8 @@
 		ast_heap_pop(bridge_channel->features->interval_hooks);
 
 		if (res || !hook->interval) {
-			ast_debug(1, "Hook '%p' is being removed from '%p'\n", hook, bridge_channel);
+			ast_debug(1, "Hook %p is being removed from bridge channel %p(%s)\n",
+				hook, bridge_channel, ast_channel_name(bridge_channel->chan));
 			if (hook->destructor) {
 				hook->destructor(hook->hook_pvt);
 			}
@@ -1385,7 +1413,8 @@
 			continue;
 		}
 
-		ast_debug(1, "Updating hook '%p' and adding it back to '%p'\n", hook, bridge_channel);
+		ast_debug(1, "Updating hook %p and adding it back to bridge channel %p(%s)\n",
+			hook, bridge_channel, ast_channel_name(bridge_channel->chan));
 
 		execution_time = ast_tvdiff_ms(ast_tvnow(), start);
 
@@ -1393,8 +1422,6 @@
 		start = ast_tvnow();
 
 		hook->interval_trip_time = ast_tvadd(start, ast_samp2tv(hook->interval - execution_time, 1000));
-
-		ast_debug(1, "Sticking hook '%p' in heap on '%p'\n", hook, bridge_channel->features);
 
 		hook->seqno = ast_atomic_fetchadd_int((int *)&bridge_channel->features->interval_sequence, +1);
 		ast_heap_push(bridge_channel->features->interval_hooks, hook);
@@ -1422,10 +1449,12 @@
 
 		/* If the above timed out simply exit */
 		if (!res) {
-			ast_debug(1, "DTMF feature string collection on bridge channel %p timed out\n", bridge_channel);
+			ast_debug(1, "DTMF feature string collection on bridge channel %p(%s) timed out\n",
+				bridge_channel, ast_channel_name(bridge_channel->chan));
 			break;
 		} else if (res < 0) {
-			ast_debug(1, "DTMF feature string collection failed on bridge channel %p for some reason\n", bridge_channel);
+			ast_debug(1, "DTMF feature string collection failed on bridge channel %p(%s) for some reason\n",
+				bridge_channel, ast_channel_name(bridge_channel->chan));
 			break;
 		}
 
@@ -1433,7 +1462,8 @@
 		/* Add the above DTMF into the DTMF string so we can do our matching */
 		dtmf[dtmf_len++] = res;
 
-		ast_debug(1, "DTMF feature string on bridge channel %p is now '%s'\n", bridge_channel, dtmf);
+		ast_debug(1, "DTMF feature string on bridge channel %p(%s) is now '%s'\n",
+			bridge_channel, ast_channel_name(bridge_channel->chan), dtmf);
 
 		/* Assume that we do not want to look for DTMF any longer */
 		look_for_dtmf = 0;
@@ -1442,14 +1472,17 @@
 		AST_LIST_TRAVERSE(&features->hooks, hook, entry) {
 			/* If this hook matches just break out now */
 			if (!strcmp(hook->dtmf, dtmf)) {
-				ast_debug(1, "DTMF feature hook %p matched DTMF string '%s' on bridge channel %p\n", hook, dtmf, bridge_channel);
+				ast_debug(1, "DTMF feature hook %p matched DTMF string '%s' on bridge channel %p(%s)\n",
+					hook, dtmf, bridge_channel, ast_channel_name(bridge_channel->chan));
 				look_for_dtmf = 0;
 				break;
 			} else if (!strncmp(hook->dtmf, dtmf, dtmf_len)) {
-				ast_debug(1, "DTMF feature hook %p can match DTMF string '%s', it wants '%s', on bridge channel %p\n", hook, dtmf, hook->dtmf, bridge_channel);
+				ast_debug(1, "DTMF feature hook %p can match DTMF string '%s', it wants '%s', on bridge channel %p(%s)\n",
+					hook, dtmf, hook->dtmf, bridge_channel, ast_channel_name(bridge_channel->chan));
 				look_for_dtmf = 1;
 			} else {
-				ast_debug(1, "DTMF feature hook %p does not match DTMF string '%s', it wants '%s', on bridge channel %p\n", hook, dtmf, hook->dtmf, bridge_channel);
+				ast_debug(1, "DTMF feature hook %p does not match DTMF string '%s', it wants '%s', on bridge channel %p(%s)\n",
+					hook, dtmf, hook->dtmf, bridge_channel, ast_channel_name(bridge_channel->chan));
 			}
 		}
 
@@ -1503,7 +1536,8 @@
 /*! \brief Internal function that plays back DTMF on a bridge channel */
 static void bridge_channel_dtmf_stream(struct ast_bridge_channel *bridge_channel, const char *dtmf)
 {
-	ast_debug(1, "Playing DTMF stream '%s' out to bridge channel %p\n", dtmf, bridge_channel);
+	ast_debug(1, "Playing DTMF stream '%s' out to bridge channel %p(%s)\n",
+		dtmf, bridge_channel, ast_channel_name(bridge_channel->chan));
 	ast_dtmf_stream(bridge_channel->chan, NULL, dtmf, 0, 0);
 }
 
@@ -1590,8 +1624,8 @@
 	/* Record the thread that will be the owner of us */
 	bridge_channel->thread = pthread_self();
 
-	ast_debug(1, "Joining bridge channel %p to bridge %p\n",
-		bridge_channel, bridge_channel->bridge);
+	ast_debug(1, "Joining bridge channel %p(%s) to bridge %p\n",
+		bridge_channel, ast_channel_name(bridge_channel->chan), bridge_channel->bridge);
 
 	ao2_lock(bridge_channel->bridge);
 
@@ -1718,19 +1752,23 @@
 
 	/* Restore original formats of the channel as they came in */
 	if (ast_format_cmp(ast_channel_readformat(bridge_channel->chan), &formats[0]) == AST_FORMAT_CMP_NOT_EQUAL) {
-		ast_debug(1, "Bridge is returning %p to read format %s(%d)\n",
-			bridge_channel, ast_getformatname(&formats[0]), formats[0].id);
+		ast_debug(1, "Bridge is returning bridge channel %p(%s) to read format %s\n",
+			bridge_channel, ast_channel_name(bridge_channel->chan),
+			ast_getformatname(&formats[0]));
 		if (ast_set_read_format(bridge_channel->chan, &formats[0])) {
-			ast_debug(1, "Bridge failed to return channel %p to read format %s(%d)\n",
-				bridge_channel, ast_getformatname(&formats[0]), formats[0].id);
+			ast_debug(1, "Bridge failed to return bridge channel %p(%s) to read format %s\n",
+				bridge_channel, ast_channel_name(bridge_channel->chan),
+				ast_getformatname(&formats[0]));
 		}
 	}
 	if (ast_format_cmp(ast_channel_writeformat(bridge_channel->chan), &formats[1]) == AST_FORMAT_CMP_NOT_EQUAL) {
-		ast_debug(1, "Bridge is returning %p to write format %s(%d)\n",
-			bridge_channel, ast_getformatname(&formats[1]), formats[1].id);
+		ast_debug(1, "Bridge is returning bridge channel %p(%s) to write format %s\n",
+			bridge_channel, ast_channel_name(bridge_channel->chan),
+			ast_getformatname(&formats[1]));
 		if (ast_set_write_format(bridge_channel->chan, &formats[1])) {
-			ast_debug(1, "Bridge failed to return channel %p to write format %s(%d)\n",
-				bridge_channel, ast_getformatname(&formats[1]), formats[1].id);
+			ast_debug(1, "Bridge failed to return bridge channel %p(%s) to write format %s\n",
+				bridge_channel, ast_channel_name(bridge_channel->chan),
+				ast_getformatname(&formats[1]));
 		}
 	}
 }
@@ -2557,7 +2595,7 @@
 	hook->destructor = destructor;
 	hook->hook_pvt = hook_pvt;
 
-	ast_debug(1, "Putting interval hook '%p' in the interval hooks heap on features '%p'\n",
+	ast_debug(1, "Putting interval hook %p in the interval hooks heap on features %p\n",
 		hook, features);
 	hook->interval_trip_time = ast_tvadd(ast_tvnow(), ast_samp2tv(hook->interval, 1000));
 	hook->seqno = ast_atomic_fetchadd_int((int *)&features->interval_sequence, +1);
@@ -2598,7 +2636,8 @@
 		dtmf = builtin_features_dtmf[feature];
 		/* If no DTMF is still available (ie: it has been disabled) then error out now */
 		if (ast_strlen_zero(dtmf)) {
-			ast_debug(1, "Failed to enable built in feature %d on %p, no DTMF string is available for it.\n", feature, features);
+			ast_debug(1, "Failed to enable built in feature %d on %p, no DTMF string is available for it.\n",
+				feature, features);
 			return -1;
 		}
 	}




More information about the svn-commits mailing list