[svn-commits] mjordan: branch mjordan/12-corosync r414328 - in /team/mjordan/12-corosync: ....

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu May 22 06:27:24 CDT 2014


Author: mjordan
Date: Thu May 22 06:26:32 2014
New Revision: 414328

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=414328
Log:
Merge automerge conflicts

Modified:
    team/mjordan/12-corosync/   (props changed)
    team/mjordan/12-corosync/CHANGES
    team/mjordan/12-corosync/UPGRADE.txt
    team/mjordan/12-corosync/addons/chan_ooh323.c
    team/mjordan/12-corosync/apps/app_adsiprog.c
    team/mjordan/12-corosync/apps/app_chanspy.c
    team/mjordan/12-corosync/apps/app_confbridge.c
    team/mjordan/12-corosync/apps/app_dial.c
    team/mjordan/12-corosync/apps/app_dumpchan.c
    team/mjordan/12-corosync/apps/app_festival.c
    team/mjordan/12-corosync/apps/app_getcpeid.c
    team/mjordan/12-corosync/apps/app_meetme.c
    team/mjordan/12-corosync/apps/app_minivm.c
    team/mjordan/12-corosync/apps/app_queue.c
    team/mjordan/12-corosync/apps/app_sms.c
    team/mjordan/12-corosync/apps/app_stack.c
    team/mjordan/12-corosync/apps/app_verbose.c
    team/mjordan/12-corosync/apps/app_voicemail.c
    team/mjordan/12-corosync/apps/confbridge/conf_config_parser.c
    team/mjordan/12-corosync/bridges/bridge_native_rtp.c
    team/mjordan/12-corosync/bridges/bridge_softmix.c
    team/mjordan/12-corosync/cdr/cdr_adaptive_odbc.c
    team/mjordan/12-corosync/cel/cel_odbc.c
    team/mjordan/12-corosync/cel/cel_pgsql.c
    team/mjordan/12-corosync/channels/chan_alsa.c
    team/mjordan/12-corosync/channels/chan_dahdi.c
    team/mjordan/12-corosync/channels/chan_gtalk.c
    team/mjordan/12-corosync/channels/chan_iax2.c
    team/mjordan/12-corosync/channels/chan_jingle.c
    team/mjordan/12-corosync/channels/chan_mgcp.c
    team/mjordan/12-corosync/channels/chan_motif.c
    team/mjordan/12-corosync/channels/chan_phone.c
    team/mjordan/12-corosync/channels/chan_pjsip.c
    team/mjordan/12-corosync/channels/chan_sip.c
    team/mjordan/12-corosync/channels/chan_skinny.c
    team/mjordan/12-corosync/channels/chan_unistim.c
    team/mjordan/12-corosync/channels/iax2/firmware.c
    team/mjordan/12-corosync/channels/iax2/parser.c
    team/mjordan/12-corosync/channels/pjsip/dialplan_functions.c
    team/mjordan/12-corosync/channels/sig_analog.c
    team/mjordan/12-corosync/channels/sig_pri.c
    team/mjordan/12-corosync/channels/sip/config_parser.c
    team/mjordan/12-corosync/channels/sip/include/sip.h
    team/mjordan/12-corosync/configure.ac
    team/mjordan/12-corosync/formats/format_pcm.c
    team/mjordan/12-corosync/funcs/func_channel.c
    team/mjordan/12-corosync/funcs/func_env.c
    team/mjordan/12-corosync/funcs/func_frame_trace.c
    team/mjordan/12-corosync/funcs/func_hangupcause.c
    team/mjordan/12-corosync/funcs/func_iconv.c
    team/mjordan/12-corosync/funcs/func_srv.c
    team/mjordan/12-corosync/funcs/func_strings.c
    team/mjordan/12-corosync/funcs/func_sysinfo.c
    team/mjordan/12-corosync/include/asterisk/astobj.h
    team/mjordan/12-corosync/include/asterisk/autoconfig.h.in
    team/mjordan/12-corosync/include/asterisk/channel.h
    team/mjordan/12-corosync/include/asterisk/framehook.h
    team/mjordan/12-corosync/include/asterisk/message.h
    team/mjordan/12-corosync/include/asterisk/netsock2.h
    team/mjordan/12-corosync/include/asterisk/spinlock.h
    team/mjordan/12-corosync/main/abstract_jb.c
    team/mjordan/12-corosync/main/acl.c
    team/mjordan/12-corosync/main/adsi.c
    team/mjordan/12-corosync/main/aoc.c
    team/mjordan/12-corosync/main/app.c
    team/mjordan/12-corosync/main/asterisk.c
    team/mjordan/12-corosync/main/audiohook.c
    team/mjordan/12-corosync/main/bridge.c
    team/mjordan/12-corosync/main/bridge_basic.c
    team/mjordan/12-corosync/main/bridge_channel.c
    team/mjordan/12-corosync/main/bucket.c
    team/mjordan/12-corosync/main/callerid.c
    team/mjordan/12-corosync/main/ccss.c
    team/mjordan/12-corosync/main/cdr.c
    team/mjordan/12-corosync/main/channel.c
    team/mjordan/12-corosync/main/cli.c
    team/mjordan/12-corosync/main/config.c
    team/mjordan/12-corosync/main/config_options.c
    team/mjordan/12-corosync/main/core_unreal.c
    team/mjordan/12-corosync/main/data.c
    team/mjordan/12-corosync/main/devicestate.c
    team/mjordan/12-corosync/main/dsp.c
    team/mjordan/12-corosync/main/enum.c
    team/mjordan/12-corosync/main/event.c
    team/mjordan/12-corosync/main/file.c
    team/mjordan/12-corosync/main/format.c
    team/mjordan/12-corosync/main/frame.c
    team/mjordan/12-corosync/main/framehook.c
    team/mjordan/12-corosync/main/io.c
    team/mjordan/12-corosync/main/loader.c
    team/mjordan/12-corosync/main/logger.c
    team/mjordan/12-corosync/main/manager.c
    team/mjordan/12-corosync/main/manager_bridges.c
    team/mjordan/12-corosync/main/manager_channels.c
    team/mjordan/12-corosync/main/message.c
    team/mjordan/12-corosync/main/netsock.c
    team/mjordan/12-corosync/main/netsock2.c
    team/mjordan/12-corosync/main/parking.c
    team/mjordan/12-corosync/main/pbx.c
    team/mjordan/12-corosync/main/rtp_engine.c
    team/mjordan/12-corosync/main/sched.c
    team/mjordan/12-corosync/main/security_events.c
    team/mjordan/12-corosync/main/slinfactory.c
    team/mjordan/12-corosync/main/stdtime/localtime.c
    team/mjordan/12-corosync/main/stun.c
    team/mjordan/12-corosync/main/taskprocessor.c
    team/mjordan/12-corosync/main/translate.c
    team/mjordan/12-corosync/main/udptl.c
    team/mjordan/12-corosync/main/utils.c
    team/mjordan/12-corosync/main/xmldoc.c
    team/mjordan/12-corosync/pbx/dundi-parser.c
    team/mjordan/12-corosync/pbx/pbx_config.c
    team/mjordan/12-corosync/pbx/pbx_dundi.c
    team/mjordan/12-corosync/res/ael/pval.c
    team/mjordan/12-corosync/res/parking/parking_bridge_features.c
    team/mjordan/12-corosync/res/parking/parking_manager.c
    team/mjordan/12-corosync/res/parking/res_parking.h
    team/mjordan/12-corosync/res/res_agi.c
    team/mjordan/12-corosync/res/res_ari_model.c
    team/mjordan/12-corosync/res/res_calendar.c
    team/mjordan/12-corosync/res/res_calendar_caldav.c
    team/mjordan/12-corosync/res/res_calendar_ews.c
    team/mjordan/12-corosync/res/res_calendar_icalendar.c
    team/mjordan/12-corosync/res/res_config_odbc.c
    team/mjordan/12-corosync/res/res_config_pgsql.c
    team/mjordan/12-corosync/res/res_crypto.c
    team/mjordan/12-corosync/res/res_fax.c
    team/mjordan/12-corosync/res/res_fax_spandsp.c
    team/mjordan/12-corosync/res/res_format_attr_celt.c
    team/mjordan/12-corosync/res/res_format_attr_h263.c
    team/mjordan/12-corosync/res/res_format_attr_h264.c
    team/mjordan/12-corosync/res/res_format_attr_opus.c
    team/mjordan/12-corosync/res/res_format_attr_silk.c
    team/mjordan/12-corosync/res/res_http_websocket.c
    team/mjordan/12-corosync/res/res_jabber.c
    team/mjordan/12-corosync/res/res_monitor.c
    team/mjordan/12-corosync/res/res_musiconhold.c
    team/mjordan/12-corosync/res/res_odbc.c
    team/mjordan/12-corosync/res/res_pjsip/config_transport.c
    team/mjordan/12-corosync/res/res_pjsip/location.c
    team/mjordan/12-corosync/res/res_pjsip/pjsip_configuration.c
    team/mjordan/12-corosync/res/res_pjsip/presence_xml.c
    team/mjordan/12-corosync/res/res_pjsip_exten_state.c
    team/mjordan/12-corosync/res/res_pjsip_messaging.c
    team/mjordan/12-corosync/res/res_pjsip_outbound_registration.c
    team/mjordan/12-corosync/res/res_pjsip_pidf_digium_body_supplement.c
    team/mjordan/12-corosync/res/res_pjsip_pubsub.c
    team/mjordan/12-corosync/res/res_pjsip_refer.c
    team/mjordan/12-corosync/res/res_pjsip_registrar.c
    team/mjordan/12-corosync/res/res_pjsip_sdp_rtp.c
    team/mjordan/12-corosync/res/res_pjsip_session.c
    team/mjordan/12-corosync/res/res_pjsip_t38.c
    team/mjordan/12-corosync/res/res_pktccops.c
    team/mjordan/12-corosync/res/res_rtp_asterisk.c
    team/mjordan/12-corosync/res/res_sorcery_config.c
    team/mjordan/12-corosync/res/res_srtp.c
    team/mjordan/12-corosync/res/res_stasis_answer.c
    team/mjordan/12-corosync/res/res_stasis_playback.c
    team/mjordan/12-corosync/res/res_stasis_recording.c
    team/mjordan/12-corosync/res/res_stasis_snoop.c
    team/mjordan/12-corosync/res/res_stun_monitor.c
    team/mjordan/12-corosync/res/res_timing_dahdi.c
    team/mjordan/12-corosync/res/res_xmpp.c
    team/mjordan/12-corosync/res/stasis/control.c

Propchange: team/mjordan/12-corosync/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.

Propchange: team/mjordan/12-corosync/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu May 22 06:26:32 2014
@@ -1,1 +1,1 @@
-/branches/12:1-413029
+/branches/12:1-414327

Modified: team/mjordan/12-corosync/CHANGES
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/CHANGES?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/CHANGES (original)
+++ team/mjordan/12-corosync/CHANGES Thu May 22 06:26:32 2014
@@ -39,6 +39,15 @@
      In the case of PAI, a Privacy: id header will be appended for prohibited
      calling information to communicate that the private information should
      not be relayed to untrusted parties.
+
+res_parking
+------------------
+ * Manager action 'Park' now takes an additional argument 'AnnounceChannel'
+   which can be used to announce the parked call's location to an arbitrary
+   channel in a bridge. If 'Channel' and 'TimeoutChannel' are now the two
+   parties in a one to one bridge, 'TimeoutChannel' is treated as having
+   parked 'Channel' like with the Park Call DTMF feature and will receive
+   announcements prior to being hung up.
 
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 12.1.0 to Asterisk 12.2.0 ------------
@@ -1413,7 +1422,6 @@
    what the script provides will be needed.
 
 ------------------------------------------------------------------------------
->>>>>>> .merge-right.r412746
 --- Functionality changes from Asterisk 10 to Asterisk 11 --------------------
 ------------------------------------------------------------------------------
 

Modified: team/mjordan/12-corosync/UPGRADE.txt
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/UPGRADE.txt?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/UPGRADE.txt (original)
+++ team/mjordan/12-corosync/UPGRADE.txt Thu May 22 06:26:32 2014
@@ -24,6 +24,10 @@
 
  - The asterisk command line -I option and the asterisk.conf internal_timing
    option are removed and always enabled if any timing module is loaded.
+
+chan_sip:
+ - Made set SIPREFERREDBYHDR as inheritable for better chan_pjsip
+   interoperability.
 
 From 12.1.0 to 12.2.0:
 

Modified: team/mjordan/12-corosync/addons/chan_ooh323.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/addons/chan_ooh323.c?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/addons/chan_ooh323.c (original)
+++ team/mjordan/12-corosync/addons/chan_ooh323.c Thu May 22 06:26:32 2014
@@ -23,6 +23,7 @@
  ***/
 
 #include "chan_ooh323.h"
+#include "asterisk/paths.h"
 #include <math.h>
 
 #define FORMAT_STRING_SIZE	512
@@ -30,7 +31,7 @@
 /* Defaults */
 #define DEFAULT_CONTEXT "default"
 #define DEFAULT_H323ID "Asterisk PBX"
-#define DEFAULT_LOGFILE "/var/log/asterisk/h323_log"
+#define DEFAULT_LOGFILE "h323_log"
 #define DEFAULT_H323ACCNT "ast_h323"
 
 /* Flags */
@@ -2774,7 +2775,7 @@
 	}
 
 	/* Inintialize everything to default */
-	strcpy(gLogFile, DEFAULT_LOGFILE);
+	snprintf(gLogFile, sizeof(gLogFile), "%s/%s", ast_config_AST_LOG_DIR, DEFAULT_LOGFILE);
 	gPort = 1720;
 	gIP[0] = '\0';
 	strcpy(gCallerID, DEFAULT_H323ID);

Modified: team/mjordan/12-corosync/apps/app_adsiprog.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/apps/app_adsiprog.c?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/apps/app_adsiprog.c (original)
+++ team/mjordan/12-corosync/apps/app_adsiprog.c Thu May 22 06:26:32 2014
@@ -211,7 +211,7 @@
 		if (!(argtype & ARG_NUMBER))
 			return -1;
 		/* Octal value */
-		if (sscanf(src, "%30o", (int *)out) != 1)
+		if (sscanf(src, "%30o", (unsigned *)out) != 1)
 			return -1;
 		if (argtype & ARG_STRING) {
 			/* Convert */

Modified: team/mjordan/12-corosync/apps/app_chanspy.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/apps/app_chanspy.c?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/apps/app_chanspy.c (original)
+++ team/mjordan/12-corosync/apps/app_chanspy.c Thu May 22 06:26:32 2014
@@ -587,12 +587,43 @@
 	stasis_publish(ast_channel_topic(spyer), message);
 }
 
+static int attach_barge(struct ast_autochan *spyee_autochan,
+	struct ast_autochan **spyee_bridge_autochan, struct ast_audiohook *bridge_whisper_audiohook,
+	const char *spyer_name, const char *name)
+{
+	int retval = 0;
+	struct ast_autochan *internal_bridge_autochan;
+	RAII_VAR(struct ast_channel *, bridged, ast_channel_bridge_peer(spyee_autochan->chan), ast_channel_cleanup);
+
+	if (!bridged) {
+		return -1;
+	}
+
+	ast_audiohook_init(bridge_whisper_audiohook, AST_AUDIOHOOK_TYPE_WHISPER, "Chanspy", 0);
+
+	internal_bridge_autochan = ast_autochan_setup(bridged);
+	if (!internal_bridge_autochan) {
+		return -1;
+	}
+
+	ast_channel_lock(internal_bridge_autochan->chan);
+	if (start_spying(internal_bridge_autochan, spyer_name, bridge_whisper_audiohook)) {
+		ast_log(LOG_WARNING, "Unable to attach barge audiohook on spyee '%s'. Barge mode disabled.\n", name);
+		retval = -1;
+	}
+	ast_channel_unlock(internal_bridge_autochan->chan);
+
+	*spyee_bridge_autochan = internal_bridge_autochan;
+
+	return retval;
+}
+
 static int channel_spy(struct ast_channel *chan, struct ast_autochan *spyee_autochan,
 	int *volfactor, int fd, struct spy_dtmf_options *user_options, struct ast_flags *flags,
 	char *exitcontext)
 {
 	struct chanspy_translation_helper csth;
-	int running = 0, res, x = 0;
+	int running = 0, bridge_connected = 0, res, x = 0;
 	char inp[24] = {0};
 	char *name;
 	struct ast_frame *f;
@@ -637,23 +668,6 @@
 
 		if (start_spying(spyee_autochan, spyer_name, &csth.whisper_audiohook)) {
 			ast_log(LOG_WARNING, "Unable to attach whisper audiohook to spyee %s. Whisper mode disabled!\n", name);
-		}
-	}
-
-	if (ast_test_flag(flags, OPTION_BARGE | OPTION_DTMF_SWITCH_MODES)) {
-		RAII_VAR(struct ast_channel *, bridged, ast_channel_bridge_peer(spyee_autochan->chan), ast_channel_cleanup);
-
-		/* And this hook lets us inject audio into the channel that the spied on
-		   channel is currently bridged with.
-		*/
-		ast_audiohook_init(&csth.bridge_whisper_audiohook, AST_AUDIOHOOK_TYPE_WHISPER, "Chanspy", 0);
-
-		if ((spyee_bridge_autochan = ast_autochan_setup(bridged))) {
-			ast_channel_lock(spyee_bridge_autochan->chan);
-			if (start_spying(spyee_bridge_autochan, spyer_name, &csth.bridge_whisper_audiohook)) {
-				ast_log(LOG_WARNING, "Unable to attach barge audiohook on spyee %s. Barge mode disabled!\n", name);
-			}
-			ast_channel_unlock(spyee_bridge_autochan->chan);
 		}
 	}
 
@@ -696,12 +710,25 @@
 		}
 
 		if (ast_test_flag(flags, OPTION_BARGE) && f->frametype == AST_FRAME_VOICE) {
+			/* This hook lets us inject audio into the channel that the spyee is currently
+			 * bridged with. If the spyee isn't bridged with anything yet, nothing will
+			 * be attached and we'll need to continue attempting to attach the barge
+			 * audio hook. */
+			if (!bridge_connected && attach_barge(spyee_autochan, &spyee_bridge_autochan,
+					&csth.bridge_whisper_audiohook, spyer_name, name) == 0) {
+				bridge_connected = 1;
+			}
+
 			ast_audiohook_lock(&csth.whisper_audiohook);
-			ast_audiohook_lock(&csth.bridge_whisper_audiohook);
 			ast_audiohook_write_frame(&csth.whisper_audiohook, AST_AUDIOHOOK_DIRECTION_WRITE, f);
-			ast_audiohook_write_frame(&csth.bridge_whisper_audiohook, AST_AUDIOHOOK_DIRECTION_WRITE, f);
 			ast_audiohook_unlock(&csth.whisper_audiohook);
-			ast_audiohook_unlock(&csth.bridge_whisper_audiohook);
+
+			if (bridge_connected) {
+				ast_audiohook_lock(&csth.bridge_whisper_audiohook);
+				ast_audiohook_write_frame(&csth.bridge_whisper_audiohook, AST_AUDIOHOOK_DIRECTION_WRITE, f);
+				ast_audiohook_unlock(&csth.bridge_whisper_audiohook);
+			}
+
 			ast_frfree(f);
 			continue;
 		} else if (ast_test_flag(flags, OPTION_WHISPER) && f->frametype == AST_FRAME_VOICE) {
@@ -711,7 +738,7 @@
 			ast_frfree(f);
 			continue;
 		}
-		
+
 		res = (f->frametype == AST_FRAME_DTMF) ? f->subclass.integer : 0;
 		ast_frfree(f);
 		if (!res)

Modified: team/mjordan/12-corosync/apps/app_confbridge.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/apps/app_confbridge.c?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/apps/app_confbridge.c (original)
+++ team/mjordan/12-corosync/apps/app_confbridge.c Thu May 22 06:26:32 2014
@@ -433,7 +433,6 @@
 
 	json_object = ast_json_pack("{s: s}",
 		"conference", conference->name);
-
 	if (!json_object) {
 		return;
 	}
@@ -448,7 +447,6 @@
 		chan,
 		json_object);
 	ast_bridge_unlock(conference->bridge);
-
 	if (!msg) {
 		return;
 	}
@@ -458,7 +456,6 @@
 	} else {
 		stasis_publish(ast_bridge_topic(conference->bridge), msg);
 	}
-
 }
 
 static void send_conf_start_event(struct confbridge_conference *conference)
@@ -1448,9 +1445,10 @@
 static int conf_handle_talker_cb(struct ast_bridge_channel *bridge_channel, void *hook_pvt, int talking)
 {
 	const char *conf_name = hook_pvt;
-	struct confbridge_conference *conference = ao2_find(conference_bridges, conf_name, OBJ_KEY);
+	RAII_VAR(struct confbridge_conference *, conference, NULL, ao2_cleanup);
 	struct ast_json *talking_extras;
 
+	conference = ao2_find(conference_bridges, conf_name, OBJ_KEY);
 	if (!conference) {
 		/* Remove the hook since the conference does not exist. */
 		return -1;
@@ -2139,6 +2137,7 @@
 	struct confbridge_user *user = NULL;
 
 	SCOPED_AO2LOCK(bridge_lock, conference);
+
 	AST_LIST_TRAVERSE(&conference->active_list, user, list) {
 		if (!strcasecmp(ast_channel_name(user->chan), channel) && !user->kicked) {
 			user->kicked = 1;
@@ -2227,6 +2226,7 @@
 static char *handle_cli_confbridge_kick(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
 {
 	struct confbridge_conference *conference;
+	int not_found;
 
 	switch (cmd) {
 	case CLI_INIT:
@@ -2254,11 +2254,12 @@
 		ast_cli(a->fd, "No conference bridge named '%s' found!\n", a->argv[2]);
 		return CLI_SUCCESS;
 	}
-	if (kick_conference_participant(conference, a->argv[3])) {
+	not_found = kick_conference_participant(conference, a->argv[3]);
+	ao2_ref(conference, -1);
+	if (not_found) {
 		ast_cli(a->fd, "No participant named '%s' found!\n", a->argv[3]);
 		return CLI_SUCCESS;
 	}
-	ao2_ref(conference, -1);
 	ast_cli(a->fd, "Participant '%s' kicked out of conference '%s'\n", a->argv[3], a->argv[2]);
 	return CLI_SUCCESS;
 }
@@ -2335,7 +2336,7 @@
 		ast_cli(a->fd, "================================ ====== ====== ========\n");
 		iter = ao2_iterator_init(conference_bridges, 0);
 		while ((conference = ao2_iterator_next(&iter))) {
-			ast_cli(a->fd, "%-32s %6i %6i %s\n", conference->name, conference->activeusers + conference->waitingusers, conference->markedusers, (conference->locked ? "locked" : "unlocked"));
+			ast_cli(a->fd, "%-32s %6u %6u %s\n", conference->name, conference->activeusers + conference->waitingusers, conference->markedusers, (conference->locked ? "locked" : "unlocked"));
 			ao2_ref(conference, -1);
 		}
 		ao2_iterator_destroy(&iter);
@@ -2791,8 +2792,8 @@
 		"Event: ConfbridgeListRooms\r\n"
 		"%s"
 		"Conference: %s\r\n"
-		"Parties: %d\r\n"
-		"Marked: %d\r\n"
+		"Parties: %u\r\n"
+		"Marked: %u\r\n"
 		"Locked: %s\r\n"
 		"\r\n",
 		id_text,
@@ -2892,7 +2893,7 @@
 	const char *conference_name = astman_get_header(m, "Conference");
 	const char *channel = astman_get_header(m, "Channel");
 	struct confbridge_conference *conference;
-	int found = 0;
+	int found;
 
 	if (ast_strlen_zero(conference_name)) {
 		astman_send_error(s, m, "No Conference name provided.");

Modified: team/mjordan/12-corosync/apps/app_dial.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/apps/app_dial.c?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/apps/app_dial.c (original)
+++ team/mjordan/12-corosync/apps/app_dial.c Thu May 22 06:26:32 2014
@@ -1487,7 +1487,7 @@
 				/* Fall through */
 			case AST_FRAME_TEXT:
 				if (single && ast_write(in, f)) {
-					ast_log(LOG_WARNING, "Unable to write frametype: %d\n",
+					ast_log(LOG_WARNING, "Unable to write frametype: %u\n",
 						f->frametype);
 				}
 				break;
@@ -1592,7 +1592,7 @@
 				case AST_FRAME_DTMF_BEGIN:
 				case AST_FRAME_DTMF_END:
 					if (ast_write(o->chan, f)) {
-						ast_log(LOG_WARNING, "Unable to forward frametype: %d\n",
+						ast_log(LOG_WARNING, "Unable to forward frametype: %u\n",
 							f->frametype);
 					}
 					break;

Modified: team/mjordan/12-corosync/apps/app_dumpchan.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/apps/app_dumpchan.c?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/apps/app_dumpchan.c (original)
+++ team/mjordan/12-corosync/apps/app_dumpchan.c Thu May 22 06:26:32 2014
@@ -105,7 +105,7 @@
 		"RDNIS=              %s\n"
 		"Parkinglot=         %s\n"
 		"Language=           %s\n"
-		"State=              %s (%d)\n"
+		"State=              %s (%u)\n"
 		"Rings=              %d\n"
 		"NativeFormat=       %s\n"
 		"WriteFormat=        %s\n"
@@ -115,8 +115,8 @@
 		"WriteTranscode=     %s %s\n"
 		"ReadTranscode=      %s %s\n"
 		"1stFileDescriptor=  %d\n"
-		"Framesin=           %d %s\n"
-		"Framesout=          %d %s\n"
+		"Framesin=           %u %s\n"
+		"Framesout=          %u %s\n"
 		"TimetoHangup=       %ld\n"
 		"ElapsedTime=        %dh%dm%ds\n"
 		"BridgeID=           %s\n"

Modified: team/mjordan/12-corosync/apps/app_festival.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/apps/app_festival.c?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/apps/app_festival.c (original)
+++ team/mjordan/12-corosync/apps/app_festival.c Thu May 22 06:26:32 2014
@@ -424,7 +424,7 @@
 	/* Convert to HEX and look if there is any matching file in the cache 
 		directory */
 	for (i = 0; i < 16; i++) {
-		snprintf(koko, sizeof(koko), "%X", MD5Res[i]);
+		snprintf(koko, sizeof(koko), "%X", (unsigned)MD5Res[i]);
 		strncat(MD5Hex, koko, sizeof(MD5Hex) - strlen(MD5Hex) - 1);
 	}
 	readcache = 0;

Modified: team/mjordan/12-corosync/apps/app_getcpeid.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/apps/app_getcpeid.c?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/apps/app_getcpeid.c (original)
+++ team/mjordan/12-corosync/apps/app_getcpeid.c Thu May 22 06:26:32 2014
@@ -87,7 +87,9 @@
 		res = ast_adsi_get_cpeid(chan, cpeid, 0);
 		if (res > 0) {
 			gotcpeid = 1;
-			ast_verb(3, "Got CPEID of '%02x:%02x:%02x:%02x' on '%s'\n", cpeid[0], cpeid[1], cpeid[2], cpeid[3], ast_channel_name(chan));
+			ast_verb(3, "Got CPEID of '%02x:%02x:%02x:%02x' on '%s'\n",
+				(unsigned)cpeid[0], (unsigned)cpeid[1], (unsigned)cpeid[2],
+				(unsigned)cpeid[3], ast_channel_name(chan));
 		}
 		if (res > -1) {
 			strcpy(data[1], "Measuring CPE...");
@@ -101,7 +103,9 @@
 		}
 		if (res > -1) {
 			if (gotcpeid)
-				snprintf(data[1], 80, "CPEID: %02x:%02x:%02x:%02x", cpeid[0], cpeid[1], cpeid[2], cpeid[3]);
+				snprintf(data[1], 80, "CPEID: %02x:%02x:%02x:%02x",
+					(unsigned)cpeid[0], (unsigned)cpeid[1],
+					(unsigned)cpeid[2], (unsigned)cpeid[3]);
 			else
 				strcpy(data[1], "CPEID Unknown");
 			if (gotgeometry) 

Modified: team/mjordan/12-corosync/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/apps/app_meetme.c?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/apps/app_meetme.c (original)
+++ team/mjordan/12-corosync/apps/app_meetme.c Thu May 22 06:26:32 2014
@@ -2952,10 +2952,11 @@
  * \param chan ast_channel belonging to the user who called the menu
  * \param user which meetme conference user invoked the menu
  * \param recordingtmp character buffer which may hold the name of the conference recording file
- * \param dahdic dahdi configuration info used by the main conference loop
  */
-
-static void meetme_menu_admin_extended(enum menu_modes *menu_mode, int *dtmf, struct ast_conference *conf, struct ast_flags64 *confflags, struct ast_channel *chan, struct ast_conf_user *user, char *recordingtmp, int recordingtmp_size, struct dahdi_confinfo *dahdic, struct ast_format_cap *cap_slin)
+static void meetme_menu_admin_extended(enum menu_modes *menu_mode, int *dtmf,
+	struct ast_conference *conf, struct ast_flags64 *confflags, struct ast_channel *chan,
+	struct ast_conf_user *user, char *recordingtmp, int recordingtmp_size,
+	struct ast_format_cap *cap_slin)
 {
 	int keepplaying;
 	int playednamerec;
@@ -3088,12 +3089,14 @@
 
 			ast_mutex_lock(&conf->recordthreadlock);
 			if ((conf->recordthread == AST_PTHREADT_NULL) && ast_test_flag64(confflags, CONFFLAG_RECORDCONF) && ((conf->lchan = ast_request("DAHDI", cap_slin, NULL, chan, "pseudo", NULL)))) {
+				struct dahdi_confinfo dahdic;
+
 				ast_set_read_format_by_id(conf->lchan, AST_FORMAT_SLINEAR);
 				ast_set_write_format_by_id(conf->lchan, AST_FORMAT_SLINEAR);
-				dahdic->chan = 0;
-				dahdic->confno = conf->dahdiconf;
-				dahdic->confmode = DAHDI_CONF_CONFANN | DAHDI_CONF_CONFANNMON;
-				if (ioctl(ast_channel_fd(conf->lchan, 0), DAHDI_SETCONF, dahdic)) {
+				dahdic.chan = 0;
+				dahdic.confno = conf->dahdiconf;
+				dahdic.confmode = DAHDI_CONF_CONFANN | DAHDI_CONF_CONFANNMON;
+				if (ioctl(ast_channel_fd(conf->lchan, 0), DAHDI_SETCONF, &dahdic)) {
 					ast_log(LOG_WARNING, "Error starting listen channel\n");
 					ast_hangup(conf->lchan);
 					conf->lchan = NULL;
@@ -3136,10 +3139,11 @@
  * \param chan ast_channel belonging to the user who called the menu
  * \param user which meetme conference user invoked the menu
  * \param recordingtmp character buffer which may hold the name of the conference recording file
- * \param dahdic dahdi configuration info used by the main conference loop
  */
-
-static void meetme_menu(enum menu_modes *menu_mode, int *dtmf, struct ast_conference *conf, struct ast_flags64 *confflags, struct ast_channel *chan, struct ast_conf_user *user, char *recordingtmp, int recordingtmp_size, struct dahdi_confinfo *dahdic, struct ast_format_cap *cap_slin)
+static void meetme_menu(enum menu_modes *menu_mode, int *dtmf,
+	struct ast_conference *conf, struct ast_flags64 *confflags, struct ast_channel *chan,
+	struct ast_conf_user *user, char *recordingtmp, int recordingtmp_size,
+	struct ast_format_cap *cap_slin)
 {
 	switch (*menu_mode) {
 	case MENU_DISABLED:
@@ -3154,7 +3158,8 @@
 			break;
 		}
 	case MENU_ADMIN_EXTENDED:
-		meetme_menu_admin_extended(menu_mode, dtmf, conf, confflags, chan, user, recordingtmp, recordingtmp_size, dahdic, cap_slin);
+		meetme_menu_admin_extended(menu_mode, dtmf, conf, confflags, chan, user,
+			recordingtmp, recordingtmp_size, cap_slin);
 		break;
 	}
 }
@@ -3400,9 +3405,9 @@
 	if (rt_schedule && conf->maxusers) {
 		if (conf->users >= conf->maxusers) {
 			/* Sorry, but this confernce has reached the participant limit! */	
+			ast_mutex_unlock(&conf->playlock);
 			if (!ast_streamfile(chan, "conf-full", ast_channel_language(chan)))
 				ast_waitstream(chan, "");
-			ast_mutex_unlock(&conf->playlock);
 			goto outrun;
 		}
 	}
@@ -4168,6 +4173,7 @@
 					if (ast_test_flag64(confflags, CONFFLAG_PASS_DTMF)) {
 						conf_queue_dtmf(conf, user, f);
 					}
+					/* Take out of conference */
 					if (ioctl(fd, DAHDI_SETCONF, &dahdic_empty)) {
 						ast_log(LOG_WARNING, "Error setting conference\n");
 						close(fd);
@@ -4205,13 +4211,15 @@
 					}
 
 					if (dtmf > 0) {
-						meetme_menu(&menu_mode, &dtmf, conf, confflags, chan, user, recordingtmp, sizeof(recordingtmp), &dahdic, cap_slin);
+						meetme_menu(&menu_mode, &dtmf, conf, confflags,
+							chan, user, recordingtmp, sizeof(recordingtmp), cap_slin);
 					}
 
 					if (musiconhold && !menu_mode) {
 						conf_start_moh(chan, optargs[OPT_ARG_MOH_CLASS]);
 					}
 
+					/* Put back into conference */
 					if (ioctl(fd, DAHDI_SETCONF, &dahdic)) {
 						ast_log(LOG_WARNING, "Error setting conference\n");
 						close(fd);

Modified: team/mjordan/12-corosync/apps/app_minivm.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/apps/app_minivm.c?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/apps/app_minivm.c (original)
+++ team/mjordan/12-corosync/apps/app_minivm.c Thu May 22 06:26:32 2014
@@ -1406,7 +1406,7 @@
 		}
 	} 
 
-	fprintf(p, "Message-ID: <Asterisk-%d-%s-%d-%s>\n", (unsigned int)ast_random(), vmu->username, (int)getpid(), who);
+	fprintf(p, "Message-ID: <Asterisk-%u-%s-%d-%s>\n", (unsigned int)ast_random(), vmu->username, (int)getpid(), who);
 
 	if (ast_strlen_zero(vmu->email)) {
 		snprintf(email, sizeof(email), "%s@%s", vmu->username, vmu->domain);
@@ -1457,7 +1457,7 @@
 	fprintf(p, "MIME-Version: 1.0\n");
 
 	/* Something unique. */
-	snprintf(bound, sizeof(bound), "voicemail_%s%d%d", vmu->username, (int)getpid(), (unsigned int)ast_random());
+	snprintf(bound, sizeof(bound), "voicemail_%s%d%u", vmu->username, (int)getpid(), (unsigned int)ast_random());
 
 	fprintf(p, "Content-Type: multipart/mixed; boundary=\"%s\"\n\n\n", bound);
 

Modified: team/mjordan/12-corosync/apps/app_queue.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/apps/app_queue.c?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/apps/app_queue.c (original)
+++ team/mjordan/12-corosync/apps/app_queue.c Thu May 22 06:26:32 2014
@@ -736,6 +736,7 @@
 		<syntax>
 		</syntax>
 		<description>
+			<para>Show queues information.</para>
 		</description>
 	</manager>
 	<manager name="QueueStatus" language="en_US">
@@ -744,10 +745,15 @@
 		</synopsis>
 		<syntax>
 			<xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
-			<parameter name="Queue" />
-			<parameter name="Member" />
+			<parameter name="Queue">
+				<para>Limit the response to the status of the specified queue.</para>
+			</parameter>
+			<parameter name="Member">
+				<para>Limit the response to the status of the specified member.</para>
+			</parameter>
 		</syntax>
 		<description>
+			<para>Check the status of one or more queues.</para>
 		</description>
 	</manager>
 	<manager name="QueueSummary" language="en_US">
@@ -756,9 +762,12 @@
 		</synopsis>
 		<syntax>
 			<xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
-			<parameter name="Queue" />
+			<parameter name="Queue">
+				<para>Queue for which the summary is requested.</para>
+			</parameter>
 		</syntax>
 		<description>
+			<para>Request the manager to send a QueueSummary event.</para>
 		</description>
 	</manager>
 	<manager name="QueueAdd" language="en_US">
@@ -767,11 +776,21 @@
 		</synopsis>
 		<syntax>
 			<xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
-			<parameter name="Queue" required="true" />
-			<parameter name="Interface" required="true" />
-			<parameter name="Penalty" />
-			<parameter name="Paused" />
-			<parameter name="MemberName" />
+			<parameter name="Queue" required="true">
+				<para>Queue's name.</para>
+			</parameter>
+			<parameter name="Interface" required="true">
+				<para>The name of the interface (tech/name) to add to the queue.</para>
+			</parameter>
+			<parameter name="Penalty">
+				<para>A penalty (number) to apply to this member. Asterisk will distribute calls to members with higher penalties only after attempting to distribute calls to those with lower penalty.</para>
+			</parameter>
+			<parameter name="Paused">
+				<para>To pause or not the member initially (true/false or 1/0).</para>
+			</parameter>
+			<parameter name="MemberName">
+				<para>Text alias for the interface.</para>
+			</parameter>
 			<parameter name="StateInterface" />
 		</syntax>
 		<description>
@@ -783,8 +802,12 @@
 		</synopsis>
 		<syntax>
 			<xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
-			<parameter name="Queue" required="true" />
-			<parameter name="Interface" required="true" />
+			<parameter name="Queue" required="true">
+				<para>The name of the queue to take action on.</para>
+			</parameter>
+			<parameter name="Interface" required="true">
+				<para>The interface (tech/name) to remove from queue.</para>
+			</parameter>
 		</syntax>
 		<description>
 		</description>
@@ -795,12 +818,21 @@
 		</synopsis>
 		<syntax>
 			<xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
-			<parameter name="Interface" required="true" />
-			<parameter name="Paused" required="true" />
-			<parameter name="Queue" />
-			<parameter name="Reason" />
+			<parameter name="Interface" required="true">
+				<para>The name of the interface (tech/name) to pause or unpause.</para>
+			</parameter>
+			<parameter name="Paused" required="true">
+				<para>Pause or unpause the interface. Set to 'true' to pause the member or 'false' to unpause.</para>
+			</parameter>
+			<parameter name="Queue">
+				<para>The name of the queue in which to pause or unpause this member. If not specified, the member will be paused or unpaused in all the queues it is a member of.</para>
+			</parameter>
+			<parameter name="Reason">
+				<para>Text description, returned in the event QueueMemberPaused.</para>
+			</parameter>
 		</syntax>
 		<description>
+			<para>Pause or unpause a member in a queue.</para>
 		</description>
 	</manager>
 	<manager name="QueueLog" language="en_US">
@@ -824,11 +856,18 @@
 		</synopsis>
 		<syntax>
 			<xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
-			<parameter name="Interface" required="true" />
-			<parameter name="Penalty" required="true" />
-			<parameter name="Queue" />
+			<parameter name="Interface" required="true">
+				<para>The interface (tech/name) of the member whose penalty to change.</para>
+			</parameter>
+			<parameter name="Penalty" required="true">
+				<para>The new penalty (number) for the member. Must be nonnegative.</para>
+			</parameter>
+			<parameter name="Queue">
+				<para>If specified, only set the penalty for the member of this queue. Otherwise, set the penalty for the member in all queues to which the member belongs.</para>
+			</parameter>
 		</syntax>
 		<description>
+			<para>Change the penalty of a queue member</para>
 		</description>
 	</manager>
 	<manager name="QueueMemberRingInUse" language="en_US">
@@ -850,9 +889,12 @@
 		</synopsis>
 		<syntax>
 			<xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
-			<parameter name="Rule" />
+			<parameter name="Rule">
+				<para>The name of the rule in queuerules.conf whose contents to list.</para>
+			</parameter>
 		</syntax>
 		<description>
+			<para>List queue rules defined in queuerules.conf</para>
 		</description>
 	</manager>
 	<manager name="QueueReload" language="en_US">
@@ -861,20 +903,25 @@
 		</synopsis>
 		<syntax>
 			<xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
-			<parameter name="Queue" />
+			<parameter name="Queue">
+				<para>The name of the queue to take action on. If no queue name is specified, then all queues are affected.</para>
+			</parameter>
 			<parameter name="Members">
+				<para>Whether to reload the queue's members.</para>
 				<enumlist>
 					<enum name="yes" />
 					<enum name="no" />
 				</enumlist>
 			</parameter>
 			<parameter name="Rules">
+				<para>Whether to reload queuerules.conf</para>
 				<enumlist>
 					<enum name="yes" />
 					<enum name="no" />
 				</enumlist>
 			</parameter>
 			<parameter name="Parameters">
+				<para>Whether to reload the other queue options.</para>
 				<enumlist>
 					<enum name="yes" />
 					<enum name="no" />
@@ -890,9 +937,12 @@
 		</synopsis>
 		<syntax>
 			<xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
-			<parameter name="Queue" />
+			<parameter name="Queue">
+				<para>The name of the queue on which to reset statistics.</para>
+			</parameter>
 		</syntax>
 		<description>
+			<para>Reset the statistics for a queue.</para>
 		</description>
 	</manager>
 
@@ -2305,12 +2355,12 @@
 	ao2_iterator_destroy(&qiter);
 
 	if (found) {
-		ast_debug(1, "Device '%s' changed to state '%d' (%s)\n",
+		ast_debug(1, "Device '%s' changed to state '%u' (%s)\n",
 			dev_state->device,
 			dev_state->state,
 			ast_devstate2str(dev_state->state));
 	} else {
-		ast_debug(3, "Device '%s' changed to state '%d' (%s) but we don't care because they're not a member of any queue.\n",
+		ast_debug(3, "Device '%s' changed to state '%u' (%s) but we don't care because they're not a member of any queue.\n",
 			dev_state->device,
 			dev_state->state,
 			ast_devstate2str(dev_state->state));
@@ -6562,7 +6612,7 @@
 					ast_monitor_start(which, qe->parent->monfmt, ast_channel_uniqueid(qe->chan), 1, X_REC_IN | X_REC_OUT);
 				} else {
 					/* Last ditch effort -- no channel, make up something */
-					snprintf(tmpid, sizeof(tmpid), "chan-%lx", ast_random());
+					snprintf(tmpid, sizeof(tmpid), "chan-%lx", (unsigned long)ast_random());
 					ast_monitor_start(which, qe->parent->monfmt, tmpid, 1, X_REC_IN | X_REC_OUT);
 				}
 				if (!ast_strlen_zero(monexec)) {

Modified: team/mjordan/12-corosync/apps/app_sms.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/12-corosync/apps/app_sms.c?view=diff&rev=414328&r1=414327&r2=414328
==============================================================================
--- team/mjordan/12-corosync/apps/app_sms.c (original)
+++ team/mjordan/12-corosync/apps/app_sms.c Thu May 22 06:26:32 2014
@@ -782,7 +782,7 @@
 		unsigned char n;
 
 		if (h->mr >= 0) {
-			snprintf(mrs, sizeof(mrs), "%02X", h->mr);
+			snprintf(mrs, sizeof(mrs), "%02X", (unsigned)h->mr);
 		}
 		snprintf(line, sizeof(line), "%s %c%c%c%s %s %s %s ",
 			isodate(time(NULL), buf, sizeof(buf)),
@@ -999,7 +999,7 @@
 	snprintf(fn, sizeof(fn), "%s/sms/%s", ast_config_AST_SPOOL_DIR, h->smsc ? h->rx ? "morx" : "mttx" : h->rx ? "mtrx" : "motx");
 	ast_mkdir(fn, 0777);                    /* ensure it exists */
 	ast_copy_string(fn2, fn, sizeof(fn2));
-	snprintf(fn2 + strlen(fn2), sizeof(fn2) - strlen(fn2), "/%s.%s-%d", h->queue, isodate(h->scts.tv_sec, buf, sizeof(buf)), seq++);
+	snprintf(fn2 + strlen(fn2), sizeof(fn2) - strlen(fn2), "/%s.%s-%u", h->queue, isodate(h->scts.tv_sec, buf, sizeof(buf)), seq++);

[... 9673 lines stripped ...]



More information about the svn-commits mailing list