[asterisk-commits] oej: branch oej/adb-appleraision-1.8-mark-2 r414994 - in /team/oej/adb-appler...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Jun 2 09:20:46 CDT 2014


Author: oej
Date: Mon Jun  2 09:20:36 2014
New Revision: 414994

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=414994
Log:
Hey ho

Modified:
    team/oej/adb-appleraision-1.8-mark-2/   (props changed)
    team/oej/adb-appleraision-1.8-mark-2/UPGRADE.txt
    team/oej/adb-appleraision-1.8-mark-2/addons/chan_ooh323.c
    team/oej/adb-appleraision-1.8-mark-2/addons/ooh323cDriver.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_adsiprog.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_chanspy.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_dial.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_dumpchan.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_festival.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_forkcdr.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_getcpeid.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_jack.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_minivm.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_mixmonitor.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_playback.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_queue.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_readexten.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_saycounted.c   (props changed)
    team/oej/adb-appleraision-1.8-mark-2/apps/app_speech_utils.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_stack.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_transfer.c
    team/oej/adb-appleraision-1.8-mark-2/apps/app_voicemail.c
    team/oej/adb-appleraision-1.8-mark-2/cel/cel_custom.c
    team/oej/adb-appleraision-1.8-mark-2/cel/cel_manager.c
    team/oej/adb-appleraision-1.8-mark-2/cel/cel_odbc.c
    team/oej/adb-appleraision-1.8-mark-2/cel/cel_pgsql.c
    team/oej/adb-appleraision-1.8-mark-2/cel/cel_radius.c
    team/oej/adb-appleraision-1.8-mark-2/channels/chan_multicast_rtp.c   (contents, props changed)
    team/oej/adb-appleraision-1.8-mark-2/channels/chan_sip.c
    team/oej/adb-appleraision-1.8-mark-2/channels/sig_ss7.c   (props changed)
    team/oej/adb-appleraision-1.8-mark-2/channels/sip/config_parser.c
    team/oej/adb-appleraision-1.8-mark-2/channels/sip/dialplan_functions.c
    team/oej/adb-appleraision-1.8-mark-2/channels/sip/include/sip.h
    team/oej/adb-appleraision-1.8-mark-2/channels/sip/reqresp_parser.c
    team/oej/adb-appleraision-1.8-mark-2/pbx/dundi-parser.c
    team/oej/adb-appleraision-1.8-mark-2/pbx/pbx_config.c
    team/oej/adb-appleraision-1.8-mark-2/pbx/pbx_dundi.c
    team/oej/adb-appleraision-1.8-mark-2/pbx/pbx_loopback.c
    team/oej/adb-appleraision-1.8-mark-2/pbx/pbx_lua.c
    team/oej/adb-appleraision-1.8-mark-2/pbx/pbx_spool.c
    team/oej/adb-appleraision-1.8-mark-2/tests/test_dlinklists.c
    team/oej/adb-appleraision-1.8-mark-2/tests/test_expr.c   (props changed)
    team/oej/adb-appleraision-1.8-mark-2/tests/test_func_file.c   (props changed)
    team/oej/adb-appleraision-1.8-mark-2/tests/test_linkedlists.c
    team/oej/adb-appleraision-1.8-mark-2/tests/test_locale.c   (props changed)
    team/oej/adb-appleraision-1.8-mark-2/tests/test_poll.c   (props changed)
    team/oej/adb-appleraision-1.8-mark-2/tests/test_substitution.c

Propchange: team/oej/adb-appleraision-1.8-mark-2/
------------------------------------------------------------------------------
--- automerge-email (original)
+++ automerge-email Mon Jun  2 09:20:36 2014
@@ -1,1 +1,0 @@
-oej at edvina.net

Propchange: team/oej/adb-appleraision-1.8-mark-2/
            ('svnmerge-integrated' removed)

Modified: team/oej/adb-appleraision-1.8-mark-2/UPGRADE.txt
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/UPGRADE.txt?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/UPGRADE.txt (original)
+++ team/oej/adb-appleraision-1.8-mark-2/UPGRADE.txt Mon Jun  2 09:20:36 2014
@@ -18,7 +18,72 @@
 ===
 ===========================================================
 
-<<<<<<< .working
+from 1.8.27.0 to 1.8.28.0:
+* The asterisk command line -I option and the asterisk.conf internal_timing
+  option are removed and always enabled if any timing module is loaded.
+* SIP (chan_sip) accounts dialed through a Local channel will now properly
+  hide the "1 missed call" if one of the other dialed accounts picks up the
+  call.
+
+* Added a new Compiler Flag, REF_DEBUG. When enabled, reference counted
+  objects will emit additional debug information to the refs log file located
+  in the standard Asterisk log file directory. This log file is useful in
+  tracking down object leaks and other reference counting issues. Prior to
+  this version, this option was only available by modifying the source code
+  directly. This change also includes a new script, refcounter.py, in the
+  contrib folder that will process the refs log file.
+
+from 1.8.26.0 to 1.8.27.0:
+* res_fax now returns the correct rates for V.27ter (4800 or 9600 bit/s).
+  Because of this the default settings would not load, so the minrate (minimum
+  transmission rate) option was changed to default to 4800 since that is the
+  minimum rate for v.27 which is included in the default modem options.
+
+* When communicating with a peer on an Asterisk 1.4 or earlier system, the
+  chan_iax2 parameter 'connectedline' must be set to "no" in iax.conf. This
+  prevents an incompatible connected line frame from an Astersik 1.8 or later
+  system from causing a hangup in an Asterisk 1.4 or earlier system. Note that
+  this particular incompatibility has always existed between 1.4 and 1.8 and
+  later versions; this upgrade note is simply informing users of its existance.
+
+* A compatibility setting, allow_empty_string_in_nontext, has been added to
+  res_odbc.conf. When enabled (default behavior), empty column values are
+  stored as empty strings during realtime updates. Disabling this option
+  causes empty column values to be stored as NULLs for non-text columns.
+
+  Disable it for PostgreSQL backends in order to avoid errors caused by
+  updating integer columns with an empty string instead of NULL
+  (sipppeers,sipregs)
+
+from 1.8.23.0 to 1.8.24.0:
+* res_agi will now properly indicate if there was an error in streaming an
+  audio file.  The result code will be -1 and the result returned from the
+  the function will be RESULT_FAILURE instead of the prior behavior of always
+  returning RESULT_SUCCESS even if there was an error. 
+
+* The option "register_retry_403" has been added to chan_sip to work around
+  servers that are known to erroneously send 403 in response to valid
+  REGISTER requests and allows Asterisk to continue attepmting to connect.
+  Due to a failed merge, this option is present, but non-functional until 1.8.26.0.
+
+* Certain dialplan functions have been marked as 'dangerous', and may only be
+  executed from the dialplan. Execution from extenal sources (AMI's GetVar and
+  SetVar actions; etc.) may be inhibited by setting live_dangerously in the
+  [options] section of asterisk.conf to no. SHELL(), channel locking, and direct
+  file read/write functions are marked as dangerous. DB_DELETE() and
+  REALTIME_DESTROY() are marked as dangerous for reads, but can now safely
+  accept writes (which ignore the provided value).
+
+from 1.8.22.0 to 1.8.23.0:
+* The default settings for chan_sip are now overriden properly by the general
+  settings in sip.conf.  Please look over your settings upon upgrading.
+
+* It is now possible to play the Queue prompts to the first user waiting in a call queue.
+  Note that this may impact the ability for agents to talk with users, as a prompt may
+  still be playing when an agent connects to the user. This ability is disabled by
+  default but can be enabled on an individual queue using the 'announce-to-first-user'
+  option.
+
 from 1.8.21.0 to 1.8.22.0:
 * Added the 'n' option to MeetMe to prevent application of the DENOISE function
   to a channel joining a conference. Some channel drivers that vary the number
@@ -59,114 +124,6 @@
   the makefile in favor of using native optimization suppport when available.
   BUILD_NATIVE can be disabled via menuselect under "Compiler Flags".
 
-=======
-from 1.8.27.0 to 1.8.28.0:
-* The asterisk command line -I option and the asterisk.conf internal_timing
-  option are removed and always enabled if any timing module is loaded.
-* SIP (chan_sip) accounts dialed through a Local channel will now properly
-  hide the "1 missed call" if one of the other dialed accounts picks up the
-  call.
-
-* Added a new Compiler Flag, REF_DEBUG. When enabled, reference counted
-  objects will emit additional debug information to the refs log file located
-  in the standard Asterisk log file directory. This log file is useful in
-  tracking down object leaks and other reference counting issues. Prior to
-  this version, this option was only available by modifying the source code
-  directly. This change also includes a new script, refcounter.py, in the
-  contrib folder that will process the refs log file.
-
-from 1.8.26.0 to 1.8.27.0:
-* res_fax now returns the correct rates for V.27ter (4800 or 9600 bit/s).
-  Because of this the default settings would not load, so the minrate (minimum
-  transmission rate) option was changed to default to 4800 since that is the
-  minimum rate for v.27 which is included in the default modem options.
-
-* When communicating with a peer on an Asterisk 1.4 or earlier system, the
-  chan_iax2 parameter 'connectedline' must be set to "no" in iax.conf. This
-  prevents an incompatible connected line frame from an Astersik 1.8 or later
-  system from causing a hangup in an Asterisk 1.4 or earlier system. Note that
-  this particular incompatibility has always existed between 1.4 and 1.8 and
-  later versions; this upgrade note is simply informing users of its existance.
-
-* A compatibility setting, allow_empty_string_in_nontext, has been added to
-  res_odbc.conf. When enabled (default behavior), empty column values are
-  stored as empty strings during realtime updates. Disabling this option
-  causes empty column values to be stored as NULLs for non-text columns.
-
-  Disable it for PostgreSQL backends in order to avoid errors caused by
-  updating integer columns with an empty string instead of NULL
-  (sipppeers,sipregs)
-
-from 1.8.23.0 to 1.8.24.0:
-* res_agi will now properly indicate if there was an error in streaming an
-  audio file.  The result code will be -1 and the result returned from the
-  the function will be RESULT_FAILURE instead of the prior behavior of always
-  returning RESULT_SUCCESS even if there was an error. 
-
-* The option "register_retry_403" has been added to chan_sip to work around
-  servers that are known to erroneously send 403 in response to valid
-  REGISTER requests and allows Asterisk to continue attepmting to connect.
-  Due to a failed merge, this option is present, but non-functional until 1.8.26.0.
-
-* Certain dialplan functions have been marked as 'dangerous', and may only be
-  executed from the dialplan. Execution from extenal sources (AMI's GetVar and
-  SetVar actions; etc.) may be inhibited by setting live_dangerously in the
-  [options] section of asterisk.conf to no. SHELL(), channel locking, and direct
-  file read/write functions are marked as dangerous. DB_DELETE() and
-  REALTIME_DESTROY() are marked as dangerous for reads, but can now safely
-  accept writes (which ignore the provided value).
-
-from 1.8.22.0 to 1.8.23.0:
-* The default settings for chan_sip are now overriden properly by the general
-  settings in sip.conf.  Please look over your settings upon upgrading.
-
-* It is now possible to play the Queue prompts to the first user waiting in a call queue.
-  Note that this may impact the ability for agents to talk with users, as a prompt may
-  still be playing when an agent connects to the user. This ability is disabled by
-  default but can be enabled on an individual queue using the 'announce-to-first-user'
-  option.
-
-from 1.8.21.0 to 1.8.22.0:
-* Added the 'n' option to MeetMe to prevent application of the DENOISE function
-  to a channel joining a conference. Some channel drivers that vary the number
-  of audio samples in a voice frame will experience significant quality problems
-  if a denoiser is attached to the channel; this option gives them the ability
-  to remove the denoiser without having to unload func_speex.
-
-* The Registry AMI event for SIP registrations will now always include the
-  Username field. A previous bug fix missed an instance where it was not
-  included; that has been corrected in this release.
-
-from 1.8.20.0 to 1.8.20.1:
-* Asterisk would previously not output certain error messages when a remote
-  console attempted to connect to Asterisk and no instance of Asterisk was
-  running. This error message is displayed on stderr; as a result, some
-  initialization scripts that used remote consoles to test for the presence
-  of a running Asterisk instance started to display erroneous error messages.
-  The init.d scripts and the safe_asterisk have been updated in the contrib
-  folder to account for this.
-
-from 1.8.19 to 1.8.20:
-* Asterisk has always had code to ignore dash '-' characters that are not
-  part of a character set in the dialplan extensions.  The code now
-  consistently ignores these characters when matching dialplan extensions.
-
-from 1.8.18 to 1.8.19:
-* Queue strategy rrmemory now has a predictable order similar to strategy
-  rrordered. Members will be called in the order that they are added to the
-  queue.
-
-From 1.8.13 to 1.8.14:
-* permitdirectmedia/denydirectmedia now controls whether peers can be
-  bridged via directmedia by comparing the ACL to the bridging peer's
-  address rather than its own address.
-
-From 1.8.12 to 1.8.13:
-* The complex processor detection and optimization has been removed from
-  the makefile in favor of using native optimization suppport when available.
-  BUILD_NATIVE can be disabled via menuselect under "Compiler Flags".
-
->>>>>>> .merge-right.r414880
 From 1.8.11 to 1.8.12:
 * In AEL dialplans, the "h" extension will now be inherited from prior
   calling contexts, just as it had in 1.4.  If you have created an AEL

Modified: team/oej/adb-appleraision-1.8-mark-2/addons/chan_ooh323.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/addons/chan_ooh323.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/addons/chan_ooh323.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/addons/chan_ooh323.c Mon Jun  2 09:20:36 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 */
@@ -286,6 +287,8 @@
 int onCallCleared(ooCallData *call);
 void onModeChanged(ooCallData *call, int t38mode);
 
+extern OOH323EndPoint gH323ep;
+
 static char gLogFile[256] = DEFAULT_LOGFILE;
 static int  gPort = 1720;
 static char gIP[20];
@@ -629,6 +632,7 @@
 		ooh323_destroy(p);
 		ast_mutex_unlock(&iflock);
 		ast_log(LOG_ERROR, "Destination format is not supported\n");
+		*cause = AST_CAUSE_INVALID_NUMBER_FORMAT;
 		return NULL;
 	}
 
@@ -671,6 +675,10 @@
 			ast_mutex_unlock(&p->lock);
 			ooh323_destroy(p);
 			ast_mutex_unlock(&iflock);
+			return NULL;
+		} else if (gH323ep.gkClient && gH323ep.gkClient->state != GkClientRegistered) {
+			ast_log(LOG_ERROR, "Gatekeeper client is configured but not registered\n");
+			*cause = AST_CAUSE_NORMAL_TEMPORARY_FAILURE;
 			return NULL;
 		}
 		p->g729onlyA = g729onlyA;
@@ -2562,7 +2570,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/oej/adb-appleraision-1.8-mark-2/addons/ooh323cDriver.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/addons/ooh323cDriver.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/addons/ooh323cDriver.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/addons/ooh323cDriver.c Mon Jun  2 09:20:36 2014
@@ -100,8 +100,10 @@
 	pfds[0].fd = mycthread->thePipe[0];
 	pfds[0].events = POLLIN;
 	ooSocketPoll(pfds, 1, SEC_TO_HOLD_THREAD * 1000);
-	if (ooPDRead(pfds, 1, mycthread->thePipe[0]))
+	if (ooPDRead(pfds, 1, mycthread->thePipe[0])) {
 		res = read(mycthread->thePipe[0], &c, 1);
+		(void) res;/* Shut up compiler: Set but not used and unused return value of read. */
+	}
 
  	ast_mutex_lock(&callThreadsLock);
 	ast_mutex_lock(&mycthread->lock);
@@ -182,6 +184,7 @@
 	cur->inUse = TRUE;
 	cur->call = call;
 	res = write(cur->thePipe[1], &c, 1);
+	(void) res;/* Shut up compiler: Set but not used and unused return value of write. */
 	ast_mutex_unlock(&cur->lock);
 
  }

Modified: team/oej/adb-appleraision-1.8-mark-2/apps/app_adsiprog.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/apps/app_adsiprog.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/apps/app_adsiprog.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/apps/app_adsiprog.c Mon Jun  2 09:20:36 2014
@@ -202,7 +202,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/oej/adb-appleraision-1.8-mark-2/apps/app_chanspy.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/apps/app_chanspy.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/apps/app_chanspy.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/apps/app_chanspy.c Mon Jun  2 09:20:36 2014
@@ -158,7 +158,9 @@
 					</option>
 					<option name="x">
 						<argument name="digit" required="true">
-							<para>Specify a DTMF digit that can be used to exit the application.</para>
+							<para>Specify a DTMF digit that can be used to exit the application while actively
+							spying on a channel. If there is no channel being spied on, the DTMF digit will be
+							ignored.</para>
 						</argument>
 					</option>
 					<option name="X">
@@ -295,7 +297,9 @@
 					</option>
 					<option name="x">
 						<argument name="digit" required="true">
-							<para>Specify a DTMF digit that can be used to exit the application.</para>
+							<para>Specify a DTMF digit that can be used to exit the application while actively
+							spying on a channel. If there is no channel being spied on, the DTMF digit will be
+							ignored.</para>
 						</argument>
 					</option>
 					<option name="X">
@@ -363,7 +367,7 @@
 	OPTION_NAME              = (1 << 12),   /* Say the name of the person on whom we will spy */
 	OPTION_DTMF_SWITCH_MODES = (1 << 13),   /* Allow numeric DTMF to switch between chanspy modes */
 	OPTION_DTMF_EXIT         = (1 << 14),	/* Set DTMF to exit, added for DAHDIScan integration */
-	OPTION_DTMF_CYCLE        = (1 << 15),	/* Custom DTMF for cycling next avaliable channel, (default is '*') */
+	OPTION_DTMF_CYCLE        = (1 << 15),	/* Custom DTMF for cycling next available channel, (default is '*') */
 	OPTION_DAHDI_SCAN        = (1 << 16),	/* Scan groups in DAHDIScan mode */
 	OPTION_STOP              = (1 << 17),
 	OPTION_EXITONHANGUP      = (1 << 18),   /* Hang up when the spied-on channel hangs up. */

Modified: team/oej/adb-appleraision-1.8-mark-2/apps/app_dial.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/apps/app_dial.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/apps/app_dial.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/apps/app_dial.c Mon Jun  2 09:20:36 2014
@@ -1470,7 +1470,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;
@@ -1575,7 +1575,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;
@@ -2760,8 +2760,9 @@
 					/* perform a transfer to a new extension */
 					if (strchr(macro_transfer_dest, '^')) { /* context^exten^priority*/
 						replace_macro_delimiter(macro_transfer_dest);
-						if (!ast_parseable_goto(chan, macro_transfer_dest))
-							ast_set_flag64(peerflags, OPT_GO_ON);
+					}
+					if (!ast_parseable_goto(chan, macro_transfer_dest)) {
+						ast_set_flag64(peerflags, OPT_GO_ON);
 					}
 				}
 			}
@@ -2872,8 +2873,9 @@
 					/* perform a transfer to a new extension */
 					if (strchr(gosub_transfer_dest, '^')) { /* context^exten^priority*/
 						replace_macro_delimiter(gosub_transfer_dest);
-						if (!ast_parseable_goto(chan, gosub_transfer_dest))
-							ast_set_flag64(peerflags, OPT_GO_ON);
+					}
+					if (!ast_parseable_goto(chan, gosub_transfer_dest)) {
+						ast_set_flag64(peerflags, OPT_GO_ON);
 					}
 				}
 			}
@@ -3023,7 +3025,9 @@
 	}
 
 	ast_channel_early_bridge(chan, NULL);
-	hanguptree(outgoing, NULL, 0); /* In this case, there's no answer anywhere */
+	/* When dialing local channels, the hangupcause of the parent channel
+	 * tells us whether the call was answered elsewhere. */
+	hanguptree(outgoing, NULL, chan->hangupcause == AST_CAUSE_ANSWERED_ELSEWHERE ? 1 : 0);
 	pbx_builtin_setvar_helper(chan, "DIALSTATUS", pa.status);
 	senddialendevent(chan, pa.status);
 	ast_debug(1, "Exiting with DIALSTATUS=%s.\n", pa.status);

Modified: team/oej/adb-appleraision-1.8-mark-2/apps/app_dumpchan.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/apps/app_dumpchan.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/apps/app_dumpchan.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/apps/app_dumpchan.c Mon Jun  2 09:20:36 2014
@@ -49,7 +49,7 @@
 		</synopsis>
 		<syntax>
 			<parameter name="level">
-				<para>Minimun verbose level</para>
+				<para>Minimum verbose level</para>
 			</parameter>
 		</syntax>
 		<description>
@@ -107,7 +107,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"
@@ -117,8 +117,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"
 		"DirectBridge=       %s\n"

Modified: team/oej/adb-appleraision-1.8-mark-2/apps/app_festival.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/apps/app_festival.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/apps/app_festival.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/apps/app_festival.c Mon Jun  2 09:20:36 2014
@@ -414,7 +414,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/oej/adb-appleraision-1.8-mark-2/apps/app_forkcdr.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/apps/app_forkcdr.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/apps/app_forkcdr.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/apps/app_forkcdr.c Mon Jun  2 09:20:36 2014
@@ -239,13 +239,14 @@
 {
 	int res = 0;
 	char *argcopy = NULL;
+	struct ast_cdr *cdr;
 	struct ast_flags flags = {0};
 	char *opts[OPT_ARG_ARRAY_SIZE];
 	AST_DECLARE_APP_ARGS(arglist,
 		AST_APP_ARG(options);
 	);
 
-	if (!chan->cdr) {
+	if (!(cdr = chan->cdr)) {
 		ast_log(LOG_WARNING, "Channel does not have a CDR\n");
 		return 0;
 	}
@@ -261,7 +262,10 @@
 
 	if (!ast_strlen_zero(data)) {
 		int keepvars = ast_test_flag(&flags, OPT_KEEPVARS) ? 1 : 0;
-		ast_set2_flag(chan->cdr, keepvars, AST_CDR_FLAG_KEEP_VARS);
+		while (cdr->next) {
+			cdr = cdr->next;
+		}
+		ast_set2_flag(cdr, keepvars, AST_CDR_FLAG_KEEP_VARS);
 	}
 	
 	ast_cdr_fork(chan, flags, opts[OPT_ARG_VARSET]);

Modified: team/oej/adb-appleraision-1.8-mark-2/apps/app_getcpeid.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/apps/app_getcpeid.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/apps/app_getcpeid.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/apps/app_getcpeid.c Mon Jun  2 09:20:36 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], chan->name);
+			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], chan->name);
 		}
 		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/oej/adb-appleraision-1.8-mark-2/apps/app_jack.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/apps/app_jack.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/apps/app_jack.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/apps/app_jack.c Mon Jun  2 09:20:36 2014
@@ -951,6 +951,11 @@
 {
 	int res;
 
+	if (!chan) {
+		ast_log(LOG_WARNING, "No channel was provided to %s function.\n", cmd);
+		return -1;
+	}
+
 	if (!strcasecmp(value, "on"))
 		res = enable_jack_hook(chan, data);
 	else if (!strcasecmp(value, "off"))

Modified: team/oej/adb-appleraision-1.8-mark-2/apps/app_minivm.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/apps/app_minivm.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/apps/app_minivm.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/apps/app_minivm.c Mon Jun  2 09:20:36 2014
@@ -1390,7 +1390,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);
@@ -1441,7 +1441,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/oej/adb-appleraision-1.8-mark-2/apps/app_mixmonitor.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/apps/app_mixmonitor.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/apps/app_mixmonitor.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/apps/app_mixmonitor.c Mon Jun  2 09:20:36 2014
@@ -381,6 +381,8 @@
 
 	ast_verb(2, "End MixMonitor Recording %s\n", mixmonitor->name);
 	mixmonitor_free(mixmonitor);
+
+	ast_module_unref(ast_module_info->self);
 	return NULL;
 }
 
@@ -414,7 +416,7 @@
 	return 0;
 }
 
-static void launch_monitor_thread(struct ast_channel *chan, const char *filename, unsigned int flags,
+static int launch_monitor_thread(struct ast_channel *chan, const char *filename, unsigned int flags,
 				  int readvol, int writevol, const char *post_process) 
 {
 	pthread_t thread;
@@ -442,26 +444,26 @@
 
 	/* Pre-allocate mixmonitor structure and spy */
 	if (!(mixmonitor = ast_calloc(1, len))) {
-		return;
+		return -1;
 	}
 
 	/* Setup the actual spy before creating our thread */
 	if (ast_audiohook_init(&mixmonitor->audiohook, AST_AUDIOHOOK_TYPE_SPY, mixmonitor_spy_type)) {
 		mixmonitor_free(mixmonitor);
-		return;
+		return -1;
 	}
 
 	/* Copy over flags and channel name */
 	mixmonitor->flags = flags;
 	if (!(mixmonitor->autochan = ast_autochan_setup(chan))) {
 		mixmonitor_free(mixmonitor);
-		return;
+		return -1;
 	}
 
 	if (setup_mixmonitor_ds(mixmonitor, chan)) {
 		ast_autochan_destroy(mixmonitor->autochan);
 		mixmonitor_free(mixmonitor);
-		return;
+		return -1;
 	}
 	mixmonitor->name = (char *) mixmonitor + sizeof(*mixmonitor);
 	strcpy(mixmonitor->name, chan->name);
@@ -485,10 +487,10 @@
 			mixmonitor_spy_type, chan->name);
 		ast_audiohook_destroy(&mixmonitor->audiohook);
 		mixmonitor_free(mixmonitor);
-		return;
-	}
-
-	ast_pthread_create_detached_background(&thread, NULL, mixmonitor_thread, mixmonitor);
+		return -1;
+	}
+
+	return ast_pthread_create_detached_background(&thread, NULL, mixmonitor_thread, mixmonitor);
 }
 
 static int mixmonitor_exec(struct ast_channel *chan, const char *data)
@@ -567,7 +569,12 @@
 	ast_mkdir(tmp, 0777);
 
 	pbx_builtin_setvar_helper(chan, "MIXMONITOR_FILENAME", args.filename);
-	launch_monitor_thread(chan, args.filename, flags.flags, readvol, writevol, args.post_process);
+
+	/* If launch_monitor_thread works, the module reference must not be released until it is finished. */
+	ast_module_ref(ast_module_info->self);
+	if (launch_monitor_thread(chan, args.filename, flags.flags, readvol, writevol, args.post_process)) {
+		ast_module_unref(ast_module_info->self);
+	}
 
 	return 0;
 }
@@ -583,7 +590,7 @@
 
 		ast_mutex_lock(&mixmonitor_ds->lock);
 
-		/* closing the filestream here guarantees the file is avaliable to the dialplan
+		/* closing the filestream here guarantees the file is available to the dialplan
 	 	 * after calling StopMixMonitor */
 		mixmonitor_ds_close_fs(mixmonitor_ds);
 

Modified: team/oej/adb-appleraision-1.8-mark-2/apps/app_playback.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/apps/app_playback.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/apps/app_playback.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/apps/app_playback.c Mon Jun  2 09:20:36 2014
@@ -211,6 +211,10 @@
 		s = x + 1;
 	ast_debug(2, "value is <%s>\n", s);
 	n = ast_var_assign("SAY", s);
+	if (!n) {
+		ast_log(LOG_ERROR, "Memory allocation error in do_say\n");
+		return -1;
+	}
 	AST_LIST_INSERT_HEAD(&head, n, entries);
 
 	/* scan the body, one piece at a time */

Modified: team/oej/adb-appleraision-1.8-mark-2/apps/app_queue.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/adb-appleraision-1.8-mark-2/apps/app_queue.c?view=diff&rev=414994&r1=414993&r2=414994
==============================================================================
--- team/oej/adb-appleraision-1.8-mark-2/apps/app_queue.c (original)
+++ team/oej/adb-appleraision-1.8-mark-2/apps/app_queue.c Mon Jun  2 09:20:36 2014
@@ -205,10 +205,10 @@
 				connected to a queue member.</para>
 			</parameter>
 			<parameter name="macro">
-				<para>Will run a macro on the calling party's channel once they are connected to a queue member.</para>
+				<para>Will run a macro on the called party's channel (the queue member) once the parties are connected.</para>
 			</parameter>
 			<parameter name="gosub">
-				<para>Will run a gosub on the calling party's channel once they are connected to a queue member.</para>
+				<para>Will run a gosub on the called party's channel (the queue member) once the parties are connected.</para>
 			</parameter>
 			<parameter name="rule">
 				<para>Will cause the queue's defaultrule to be overridden by the rule specified.</para>
@@ -685,6 +685,7 @@
 		<syntax>
 		</syntax>
 		<description>
+			<para>Show queues information.</para>
 		</description>
 	</manager>
 	<manager name="QueueStatus" language="en_US">
@@ -693,10 +694,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">
@@ -705,9 +711,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">
@@ -716,11 +725,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>
@@ -732,8 +751,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>
@@ -744,12 +767,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">
@@ -773,11 +805,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="QueueRule" language="en_US">
@@ -786,9 +825,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">
@@ -797,20 +839,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>

[... 1499 lines stripped ...]



More information about the asterisk-commits mailing list