[svn-commits] russell: branch group/bindings r204011 - in /team/group/bindings: ./ apps/ bu...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Mon Jun 29 10:03:16 CDT 2009


Author: russell
Date: Mon Jun 29 10:03:10 2009
New Revision: 204011

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=204011
Log:
resolve, reset

Added:
    team/group/bindings/cdr/cdr_syslog.c
      - copied unchanged from r203985, trunk/cdr/cdr_syslog.c
    team/group/bindings/configs/cdr_syslog.conf.sample
      - copied unchanged from r203985, trunk/configs/cdr_syslog.conf.sample
Modified:
    team/group/bindings/   (props changed)
    team/group/bindings/CHANGES
    team/group/bindings/UPGRADE.txt
    team/group/bindings/apps/app_chanspy.c
    team/group/bindings/build_tools/menuselect-deps.in
    team/group/bindings/channels/chan_dahdi.c
    team/group/bindings/channels/sig_pri.c
    team/group/bindings/configure
    team/group/bindings/configure.ac
    team/group/bindings/main/app.c
    team/group/bindings/main/file.c

Propchange: team/group/bindings/
------------------------------------------------------------------------------
    automerge = *

Propchange: team/group/bindings/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/group/bindings/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Jun 29 10:03:10 2009
@@ -1,1 +1,1 @@
-/trunk:1-203794
+/trunk:1-204010

Modified: team/group/bindings/CHANGES
URL: http://svn.asterisk.org/svn-view/asterisk/team/group/bindings/CHANGES?view=diff&rev=204011&r1=204010&r2=204011
==============================================================================
--- team/group/bindings/CHANGES (original)
+++ team/group/bindings/CHANGES Mon Jun 29 10:03:10 2009
@@ -50,16 +50,19 @@
 Applications
 ------------
  * Added progress option to the app_dial D() option.  When progress DTMF is
-   present, those values are sent immediatly upon receiving a PROGRESS message
+   present, those values are sent immediately upon receiving a PROGRESS message
    regardless if the call has been answered or not.
  * Added functionality to the app_dial F() option to continue with execution
    at the current location when no parameters are provided.
  * Added c() option to app_chanspy. This option allows custom DTMF to be set
-   to cycle through the next avaliable channel.  By default this is still '*'.
+   to cycle through the next available channel.  By default this is still '*'.
  * Added x() option to app_chanspy.  This option allows DTMF to be set to
    exit the application.
  * The Voicemail application has been improved to automatically ignore messages
    that only contain silence.
+ * The ChanSpy application now has the 's' option, which makes the application
+   automatically exit once it hits a point where no more channels are available
+   to spy on.
 
 Dialplan Functions
 ------------------
@@ -84,7 +87,7 @@
 
    The possible values are:
 
-     on - normal mode (the echo canceller is actually reinitalized)
+     on - normal mode (the echo canceller is actually reinitialized)
      off - disabled
      fax - FAX/data mode (NLP disabled if possible, otherwise completely
            disabled)
@@ -163,12 +166,6 @@
    reflect this change.  Previous options such as 'sslenable' still work,
    but options with the 'tls' prefix are preferred.
 
-Logger
-------
- * The rarely used 'event_log' and LOG_EVENT channel have been removed; the few
-   users of this channel in the tree have been converted to LOG_NOTICE or removed
-   (in cases where the same message was already generated to another channel).
-
 Channel Event Logging
 ---------------------
  * A new interface, CEL, is introduced here. CEL logs single events, much like
@@ -185,6 +182,8 @@
    linkedid is based on uniqueID, but spreads to other channels as transfers, dials,
    etc are performed. Thus the peices of CDR can be grouped into multilegged sets.
  * Multiple files and formats can now be specified in cdr_custom.conf.
+ * cdr_syslog has been added which allows CDRs to be written directly to syslog.
+   See configs/cdr_syslog.conf.sample for more information.
 
 Calendaring for Asterisk
 ------------------------
@@ -500,12 +499,8 @@
    as well as periodically updating the IP address. These properties allow for
    better performance as well as recovery in the event of an IP change.
  * Performance improvements via using hash tables (astobj2) and doubly-linked lists to improve 
-   load/reload of large numbers of peers/users by ~40x (for large lists of peers.
-   Initially, we saw 4x improvement in call setup/destruction, but at the time
-   of merging, this gain has disappeared; further research will be done to try
-   and restore this performance improvement. Astobj2 refcounting is now used
-   for users, peers, and dialogs.  Users are encouraged to assist in regression
-   testing and problem reporting!
+   load/reload of large numbers of peers/users by ~40x (for large lists of peers).
+   These changes also provide performance improvements for call setup and tear down.
  * Added ability to specify registration expiry time on a per registration basis in
    the register line.
  * Added support for T140 RED - redundancy in T.140 to prevent text loss due to
@@ -1141,11 +1136,11 @@
 --------------
   * Added rotatestrategy option to logger.conf, along with two new options:
      "timestamp" which will use the time to name the logger files instead of
-     sequence number; and "rotate", which rotates the names of the logfiles,
+     sequence number; and "rotate", which rotates the names of the log files,
      similar to the way syslog rotates files.
   * Added exec_after_rotate option to logger.conf, which allows a system
      command to be run after rotation.  This is primarily useful with
-     rotatestrategry=rotate, to allow a limit on the number of logfiles kept
+     rotatestrategy=rotate, to allow a limit on the number of log files kept
      and to ensure that the oldest log file gets deleted.
   * Added realtime support for the queue log
 

Modified: team/group/bindings/UPGRADE.txt
URL: http://svn.asterisk.org/svn-view/asterisk/team/group/bindings/UPGRADE.txt?view=diff&rev=204011&r1=204010&r2=204011
==============================================================================
--- team/group/bindings/UPGRADE.txt (original)
+++ team/group/bindings/UPGRADE.txt Mon Jun 29 10:03:10 2009
@@ -20,11 +20,16 @@
 
 From 1.6.2 to 1.6.3:
 
+* The rarely used 'event_log' and LOG_EVENT channel have been removed; the few
+  users of this channel in the tree have been converted to LOG_NOTICE or removed
+  (in cases where the same message was already generated to another channel).
+
 * The usage of RTP inside of Asterisk has now become modularized. This means
   the Asterisk RTP stack now exists as a loadable module, res_rtp_asterisk.
   If you are not using autoload=yes in modules.conf you will need to ensure
   it is set to load. If not, then any module which uses RTP (such as chan_sip)
   will not be able to send or receive calls.
+
 * The app_dahdiscan.c file has been removed, but the dialplan app DAHDIScan still 
   remains. It now exists within app_chanspy.c and retains the exact same 
   functionality as before. 

Modified: team/group/bindings/apps/app_chanspy.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/group/bindings/apps/app_chanspy.c?view=diff&rev=204011&r1=204010&r2=204011
==============================================================================
--- team/group/bindings/apps/app_chanspy.c (original)
+++ team/group/bindings/apps/app_chanspy.c Mon Jun 29 10:03:10 2009
@@ -134,6 +134,9 @@
 					</option>
 					<option name="o">
 						<para>Only listen to audio coming from this channel.</para>
+					</option>
+					<option name="s">
+						<para>Stop when no more channels are left to spy on.</para>
 					</option>
 					<option name="X">
 						<para>Allow the user to exit ChanSpy to a valid single digit
@@ -266,6 +269,9 @@
 					<option name="o">
 						<para>Only listen to audio coming from this channel.</para>
 					</option>
+					<option name="s">
+						<para>Stop when there are no more extensions left to spy on.</para>
+					</option>
 					<option name="X">
 						<para>Allow the user to exit ChanSpy to a valid single digit
 						numeric extension in the current context or the context
@@ -349,6 +355,7 @@
 	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_DAHDI_SCAN        = (1 << 16),	/* Scan groups in DAHDIScan mode */
+	OPTION_STOP              = (1 << 17),
 };
 
 enum {
@@ -373,6 +380,7 @@
 	AST_APP_OPTION_ARG('r', OPTION_RECORD, OPT_ARG_RECORD),
 	AST_APP_OPTION_ARG('e', OPTION_ENFORCED, OPT_ARG_ENFORCED),
 	AST_APP_OPTION('o', OPTION_READONLY),
+	AST_APP_OPTION('s', OPTION_STOP),
 	AST_APP_OPTION('X', OPTION_EXIT),
 	AST_APP_OPTION('s', OPTION_NOTECH),
 	AST_APP_OPTION_ARG('n', OPTION_NAME, OPT_ARG_NAME),
@@ -956,6 +964,9 @@
 
 		if (res == -1 || ast_check_hangup(chan))
 			break;
+		if (ast_test_flag(flags, OPTION_STOP) && !next_autochan) {
+			break;
+		}
 	}
 exit:
 

Modified: team/group/bindings/build_tools/menuselect-deps.in
URL: http://svn.asterisk.org/svn-view/asterisk/team/group/bindings/build_tools/menuselect-deps.in?view=diff&rev=204011&r1=204010&r2=204011
==============================================================================
--- team/group/bindings/build_tools/menuselect-deps.in (original)
+++ team/group/bindings/build_tools/menuselect-deps.in Mon Jun 29 10:03:10 2009
@@ -51,6 +51,7 @@
 OPENSSL=@PBX_OPENSSL@
 SUPPSERV=@PBX_SUPPSERV@
 SWIG=@PBX_SWIG@
+SYSLOG=@PBX_SYSLOG@
 TONEZONE=@PBX_TONEZONE@
 UNIXODBC=@PBX_UNIXODBC@
 USB=@PBX_USB@

Modified: team/group/bindings/channels/chan_dahdi.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/group/bindings/channels/chan_dahdi.c?view=diff&rev=204011&r1=204010&r2=204011
==============================================================================
--- team/group/bindings/channels/chan_dahdi.c (original)
+++ team/group/bindings/channels/chan_dahdi.c Mon Jun 29 10:03:10 2009
@@ -15667,7 +15667,7 @@
 	}
 	/*< \todo why check for the pseudo in the per-channel section.
 	 * Any actual use for manual setup of the pseudo channel? */
-	if (!found_pseudo && reload == 0) {
+	if (!found_pseudo && reload != 1) {
 		/* use the default configuration for a channel, so
 		   that any settings from real configured channels
 		   don't "leak" into the pseudo channel config

Modified: team/group/bindings/channels/sig_pri.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/group/bindings/channels/sig_pri.c?view=diff&rev=204011&r1=204010&r2=204011
==============================================================================
--- team/group/bindings/channels/sig_pri.c (original)
+++ team/group/bindings/channels/sig_pri.c Mon Jun 29 10:03:10 2009
@@ -1811,15 +1811,12 @@
 	}
 
 	p->digital = IS_DIGITAL(ast->transfercapability);
-	/* Add support for exclusive override */
-	if (p->priexclusive)
+
+	/* Should the picked channel be used exclusively? */
+	if (p->priexclusive || p->pri->nodetype == PRI_NETWORK) {
 		exclusive = 1;
-	else {
-	/* otherwise, traditional behavior */
-		if (p->pri->nodetype == PRI_NETWORK)
-			exclusive = 0;
-		else
-			exclusive = 1;
+	} else {
+		exclusive = 0;
 	}
 	
 	pri_sr_set_channel(sr, PVT_TO_CHANNEL(p), exclusive, 1);

Modified: team/group/bindings/configure.ac
URL: http://svn.asterisk.org/svn-view/asterisk/team/group/bindings/configure.ac?view=diff&rev=204011&r1=204010&r2=204011
==============================================================================
--- team/group/bindings/configure.ac (original)
+++ team/group/bindings/configure.ac Mon Jun 29 10:03:10 2009
@@ -1877,6 +1877,8 @@
 AC_SUBST([GENERIC_ODBC_INCLUDE])
 AC_SUBST([PBX_GENERIC_ODBC])
 
+PBX_SYSLOG=0
+
 if test "${ac_cv_header_syslog_h}" = "yes"; then
    # syslog facilities
    AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_AUTH],     [LOG_AUTH],     [syslog.h])
@@ -1890,7 +1892,10 @@
    AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_NEWS],     [LOG_NEWS],     [syslog.h])
    AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_SYSLOG],   [LOG_SYSLOG],   [syslog.h])
    AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_UUCP],     [LOG_UUCP],     [syslog.h])
-fi
+   PBX_SYSLOG=1
+fi
+
+AC_SUBST([PBX_SYSLOG])
 
 AC_CONFIG_FILES([build_tools/menuselect-deps makeopts channels/h323/Makefile])
 AST_CHECK_MANDATORY

Modified: team/group/bindings/main/app.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/group/bindings/main/app.c?view=diff&rev=204011&r1=204010&r2=204011
==============================================================================
--- team/group/bindings/main/app.c (original)
+++ team/group/bindings/main/app.c Mon Jun 29 10:03:10 2009
@@ -700,6 +700,7 @@
 	struct ast_dsp *sildet = NULL;   /* silence detector dsp */
 	int totalsilence = 0;
 	int dspsilence = 0;
+	int olddspsilence = 0;
 	int rfmt = 0;
 	struct ast_silence_generator *silgen = NULL;
 	char prependfile[80];
@@ -826,7 +827,10 @@
 				if (maxsilence > 0) {
 					dspsilence = 0;
 					ast_dsp_silence(sildet, f, &dspsilence);
-					totalsilence += dspsilence;
+					if (olddspsilence > dspsilence) {
+						totalsilence += olddspsilence;
+					}
+					olddspsilence = dspsilence;
 
 					if (dspsilence > maxsilence) {
 						/* Ended happily with silence */
@@ -906,6 +910,10 @@
 
 	if (!prepend) {
 		/* Reduce duration by a total silence amount */
+		if (olddspsilence <= dspsilence) {
+			totalsilence += dspsilence;
+		}
+
         	if (totalsilence > 0)
 			*duration -= (totalsilence - 200) / 1000;
 		if (*duration < 0) {

Modified: team/group/bindings/main/file.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/group/bindings/main/file.c?view=diff&rev=204011&r1=204010&r2=204011
==============================================================================
--- team/group/bindings/main/file.c (original)
+++ team/group/bindings/main/file.c Mon Jun 29 10:03:10 2009
@@ -1227,7 +1227,14 @@
 				} else {
 					res = fr->subclass;
 					if (strchr(forward, res)) {
+						int eoftest;
 						ast_stream_fastforward(c->stream, skip_ms);
+						eoftest = fgetc(c->stream->f);
+						if (feof(c->stream->f)) {
+							ast_stream_rewind(c->stream, skip_ms);
+						} else {
+							ungetc(eoftest, c->stream->f);
+						}
 					} else if (strchr(reverse, res)) {
 						ast_stream_rewind(c->stream, skip_ms);
 					} else if (strchr(breakon, res)) {




More information about the svn-commits mailing list