[asterisk-commits] bbryant: branch bbryant/iax2_rotation r115539 - in /team/bbryant/iax2_rotatio...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed May 7 16:17:24 CDT 2008


Author: bbryant
Date: Wed May  7 16:17:24 2008
New Revision: 115539

URL: http://svn.digium.com/view/asterisk?view=rev&rev=115539
Log:
Update merge on my branch.

Modified:
    team/bbryant/iax2_rotation/   (props changed)
    team/bbryant/iax2_rotation/CHANGES
    team/bbryant/iax2_rotation/Makefile
    team/bbryant/iax2_rotation/UPGRADE.txt
    team/bbryant/iax2_rotation/apps/app_queue.c
    team/bbryant/iax2_rotation/build_tools/menuselect-deps.in
    team/bbryant/iax2_rotation/channels/chan_h323.c
    team/bbryant/iax2_rotation/channels/chan_iax2.c
    team/bbryant/iax2_rotation/channels/chan_sip.c
    team/bbryant/iax2_rotation/codecs/codec_speex.c
    team/bbryant/iax2_rotation/configure
    team/bbryant/iax2_rotation/configure.ac
    team/bbryant/iax2_rotation/contrib/scripts/asterisk.ldap-schema
    team/bbryant/iax2_rotation/contrib/scripts/asterisk.ldif
    team/bbryant/iax2_rotation/contrib/scripts/get_ilbc_source.sh
    team/bbryant/iax2_rotation/funcs/func_speex.c
    team/bbryant/iax2_rotation/include/asterisk/autoconfig.h.in
    team/bbryant/iax2_rotation/include/asterisk/dlinkedlists.h   (props changed)
    team/bbryant/iax2_rotation/include/asterisk/res_odbc.h
    team/bbryant/iax2_rotation/main/asterisk.c
    team/bbryant/iax2_rotation/main/config.c
    team/bbryant/iax2_rotation/main/event.c
    team/bbryant/iax2_rotation/main/logger.c
    team/bbryant/iax2_rotation/main/manager.c
    team/bbryant/iax2_rotation/main/sched.c
    team/bbryant/iax2_rotation/res/res_config_ldap.c
    team/bbryant/iax2_rotation/res/res_musiconhold.c
    team/bbryant/iax2_rotation/res/res_odbc.c
    team/bbryant/iax2_rotation/sounds/Makefile
    team/bbryant/iax2_rotation/utils/refcounter.c

Propchange: team/bbryant/iax2_rotation/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.

Propchange: team/bbryant/iax2_rotation/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/bbryant/iax2_rotation/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed May  7 16:17:24 2008
@@ -1,1 +1,1 @@
-/trunk:1-115297
+/trunk:1-115538

Modified: team/bbryant/iax2_rotation/CHANGES
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/CHANGES?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/CHANGES (original)
+++ team/bbryant/iax2_rotation/CHANGES Wed May  7 16:17:24 2008
@@ -96,6 +96,11 @@
 Dialplan function changes
 -------------------------
  * TIMEOUT() has been modified to be accurate down to the millisecond.
+
+AMI - The manager (TCP/TLS/HTTP)
+--------------------------------
+  * The Status command now takes an optional list of variables to display
+    along with channel status.
 
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 1.4.X to Asterisk 1.6.0  -------------

Modified: team/bbryant/iax2_rotation/Makefile
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/Makefile?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/Makefile (original)
+++ team/bbryant/iax2_rotation/Makefile Wed May  7 16:17:24 2008
@@ -351,7 +351,7 @@
 	@exit 1
 
 menuselect.makeopts: menuselect/menuselect menuselect-tree makeopts
-	menuselect/menuselect --check-deps $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts
+	menuselect/menuselect --check-deps menuselect.makeopts $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS)
 
 $(MOD_SUBDIRS_EMBED_LDSCRIPT):
 	@echo "EMBED_LDSCRIPTS+="`$(SILENTMAKE) -C $(@:-embed-ldscript=) SUBDIR=$(@:-embed-ldscript=) __embed_ldscript` >> makeopts.embed_rules
@@ -821,16 +821,16 @@
 nmenuconfig: nmenuselect
 
 menuselect: menuselect/menuselect menuselect-tree
-	- at menuselect/menuselect $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!"
+	- at menuselect/menuselect menuselect.makeopts $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!"
 
 cmenuselect: menuselect/cmenuselect menuselect-tree
-	- at menuselect/cmenuselect $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!"
+	- at menuselect/cmenuselect menuselect.makeopts $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!"
 
 gmenuselect: menuselect/gmenuselect menuselect-tree
-	- at menuselect/gmenuselect $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!"
+	- at menuselect/gmenuselect menuselect.makeopts $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!"
 
 nmenuselect: menuselect/nmenuselect menuselect-tree
-	- at menuselect/nmenuselect $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!"
+	- at menuselect/nmenuselect menuselect.makeopts $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!"
 
 # options for make in menuselect/
 MAKE_MENUSELECT=CC="$(HOST_CC)" CXX="$(CXX)" LD="" AR="" RANLIB="" CFLAGS="" $(MAKE) -C menuselect CONFIGURE_SILENT="--silent"
@@ -869,4 +869,4 @@
 asterisk.pdf:
 	$(MAKE) -C doc/tex asterisk.pdf
 
-.PHONY: menuselect main sounds clean dist-clean distclean all prereqs cleantest uninstall _uninstall uninstall-all pdf dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_DIST_CLEAN) $(SUBDIRS_CLEAN) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS) badshell main/version.c include/asterisk/version.h installdirs
+.PHONY: menuselect menuselect.makeopts main sounds clean dist-clean distclean all prereqs cleantest uninstall _uninstall uninstall-all pdf dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_DIST_CLEAN) $(SUBDIRS_CLEAN) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS) badshell main/version.c include/asterisk/version.h installdirs

Modified: team/bbryant/iax2_rotation/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/UPGRADE.txt?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/UPGRADE.txt (original)
+++ team/bbryant/iax2_rotation/UPGRADE.txt Wed May  7 16:17:24 2008
@@ -110,6 +110,8 @@
   instead.
 * While app_directory has always relied on having a voicemail.conf or users.conf file
   correctly set up, it now is dependent on app_voicemail being compiled as well.
+* The arguments in ExecIf changed a bit, to be more like other applications.
+  The syntax is now ExecIf(<cond>?appiftrue(args):appiffalse(args)).
 
 Dialplan Functions:
 

Modified: team/bbryant/iax2_rotation/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/apps/app_queue.c?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/apps/app_queue.c (original)
+++ team/bbryant/iax2_rotation/apps/app_queue.c Wed May  7 16:17:24 2008
@@ -3294,7 +3294,6 @@
 		/* Ah ha!  Someone answered within the desired timeframe.  Of course after this
 		   we will always return with -1 so that it is hung up properly after the
 		   conversation.  */
-		qe->handled++;
 		if (!strcmp(qe->chan->tech->type, "Zap"))
 			ast_channel_setoption(qe->chan, AST_OPTION_TONE_VERIFY, &nondataquality, sizeof(nondataquality), 0);
 		if (!strcmp(peer->tech->type, "Zap"))
@@ -3348,7 +3347,6 @@
 				/* Agent must have hung up */
 				ast_log(LOG_WARNING, "Agent on %s hungup on the customer.\n", peer->name);
 				ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "AGENTDUMP", "%s", "");
-				record_abandoned(qe);
 				if (qe->parent->eventwhencalled)
 					manager_event(EVENT_FLAG_AGENT, "AgentDump",
 							"Queue: %s\r\n"
@@ -3628,6 +3626,7 @@
 			} else
 				ast_log(LOG_WARNING, "Asked to execute an AGI on this channel, but could not find application (agi)!\n");
 		}
+		qe->handled++;
 		ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "CONNECT", "%ld|%s|%ld", (long) time(NULL) - qe->start, peer->uniqueid,
 													(long)(orig - to > 0 ? (orig - to) / 1000 : 0));
 		if (update_cdr && qe->chan->cdr) 

Modified: team/bbryant/iax2_rotation/build_tools/menuselect-deps.in
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/build_tools/menuselect-deps.in?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/build_tools/menuselect-deps.in (original)
+++ team/bbryant/iax2_rotation/build_tools/menuselect-deps.in Wed May  7 16:17:24 2008
@@ -32,6 +32,7 @@
 RADIUS=@PBX_RADIUS@
 SPEEX=@PBX_SPEEX@
 SPEEXDSP=@PBX_SPEEXDSP@
+SPEEX_PREPROCESS=@PBX_SPEEX_PREPROCESS@
 SQLITE3=@PBX_SQLITE3@
 SQLITE=@PBX_SQLITE@
 SS7=@PBX_SS7@

Modified: team/bbryant/iax2_rotation/channels/chan_h323.c
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/channels/chan_h323.c?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/channels/chan_h323.c (original)
+++ team/bbryant/iax2_rotation/channels/chan_h323.c Wed May  7 16:17:24 2008
@@ -1548,11 +1548,11 @@
 	struct oh323_peer *peer;
 	struct ast_variable *var;
 	struct ast_variable *tmp;
-	const char *addr;
+	const char *addr = NULL;
 
 	/* First check on peer name */
 	if (peername)
-		var = ast_load_realtime("h323", "name", peername, addr = NULL);
+		var = ast_load_realtime("h323", "name", peername, NULL);
 	else if (sin) /* Then check on IP address for dynamic peers */
 		var = ast_load_realtime("h323", "host", addr = ast_inet_ntoa(sin->sin_addr), NULL);
 	else

Modified: team/bbryant/iax2_rotation/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/channels/chan_iax2.c?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/channels/chan_iax2.c (original)
+++ team/bbryant/iax2_rotation/channels/chan_iax2.c Wed May  7 16:17:24 2008
@@ -87,7 +87,6 @@
 #include "asterisk/netsock.h"
 #include "asterisk/stringfields.h"
 #include "asterisk/linkedlists.h"
-#include "asterisk/dlinkedlists.h"
 #include "asterisk/event.h"
 #include "asterisk/astobj2.h"
 
@@ -642,8 +641,6 @@
 	int frames_dropped;
 	/*! received frame count: (just for stats) */
 	int frames_received;
-
-	AST_DLLIST_ENTRY(chan_iax2_pvt) entry;
 };
 
 /*!
@@ -1590,20 +1587,7 @@
 	ao2_unlink(iax_peercallno_pvts, pvt);
 }
 
-/*!
- * \todo XXX Note that this function contains a very expensive operation that
- * happens for *every* incoming media frame.  It iterates through every
- * possible call number, locking and unlocking each one, to try to match the
- * incoming frame to an active call.  Call numbers can be up to 2^15, 32768.
- * So, for a call with a local call number of 20000, every incoming audio
- * frame would require 20000 mutex lock and unlock operations.  Ouch.
- *
- * It's a shame that IAX2 media frames carry the source call number instead of
- * the destination call number.  If they did, this lookup wouldn't be needed.
- * However, it's too late to change that now.  Instead, we need to come up with
- * a better way of indexing active calls so that these frequent lookups are not
- * so expensive.
- *
+/*
  * \note Calling this function while holding another pvt lock can cause a deadlock.
  */
 static int __find_callno(unsigned short callno, unsigned short dcallno, struct sockaddr_in *sin, int new, int sockfd, int return_locked, int full_frame)
@@ -3540,6 +3524,8 @@
 	l = c->cid.cid_num;
 	n = c->cid.cid_name;
 
+	iaxs[callno]->rotateid = 0;
+
 	/* Now build request */	
 	memset(&ied, 0, sizeof(ied));
 
@@ -4761,7 +4747,7 @@
 	}
 
 	if ( f->frametype == AST_FRAME_VOICE &&  ast_test_flag(pvt, IAX_ENCRYPTED) &&
-		 ast_test_flag(pvt, IAX_KEYPOPULATED) && !pvt->rotateid) {
+		 ast_test_flag(pvt, IAX_KEYPOPULATED) && pvt->rotateid < 1 ) {
 		iax2_send_rotate(pvt);
 	}
 	/* Allocate an iax_frame */
@@ -10035,7 +10021,7 @@
 		pthread_testcancel();
 
 		count = ast_sched_runq(sched);
-		if (count >= 20)
+//		if (count >= 20)
 			ast_debug(1, "chan_iax2: ast_sched_runq ran %d scheduled tasks all at once\n", count);
 	}
 

Modified: team/bbryant/iax2_rotation/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/channels/chan_sip.c?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/channels/chan_sip.c (original)
+++ team/bbryant/iax2_rotation/channels/chan_sip.c Wed May  7 16:17:24 2008
@@ -6170,11 +6170,6 @@
 	const char *to = get_header(req, "To");
 	const char *cseq = get_header(req, "Cseq");
 	struct sip_pvt *sip_pvt_ptr;
-
-	callid = get_header(req, "Call-ID");
-	from = get_header(req, "From");
-	to = get_header(req, "To");
-	cseq = get_header(req, "Cseq");
 
 	/* Call-ID, to, from and Cseq are required by RFC 3261. (Max-forwards and via too - ignored now) */
 	/* get_header always returns non-NULL so we must use ast_strlen_zero() */
@@ -15055,6 +15050,7 @@
 	char resp[256];
 	char resp_hash[256];
 	char uri[256];
+	char opaque[256] = "";
 	char cnonce[80];
 	const char *username;
 	const char *secret;
@@ -15103,11 +15099,17 @@
 	else
 		snprintf(resp, sizeof(resp), "%s:%s:%s", a1_hash, p->nonce, a2_hash);
 	ast_md5_hash(resp_hash, resp);
+
+	/* only include the opaque string if it's set */
+	if (!ast_strlen_zero(p->opaque)) {
+	  snprintf(opaque, sizeof(opaque), ", opaque=\"%s\"", p->opaque);
+	}
+
 	/* XXX We hard code our qop to "auth" for now.  XXX */
 	if (!ast_strlen_zero(p->qop))
-		snprintf(digest, digest_len, "Digest username=\"%s\", realm=\"%s\", algorithm=MD5, uri=\"%s\", nonce=\"%s\", response=\"%s\", opaque=\"%s\", qop=auth, cnonce=\"%s\", nc=%08x", username, p->realm, uri, p->nonce, resp_hash, p->opaque, cnonce, p->noncecount);
+		snprintf(digest, digest_len, "Digest username=\"%s\", realm=\"%s\", algorithm=MD5, uri=\"%s\", nonce=\"%s\", response=\"%s\"%s, qop=auth, cnonce=\"%s\", nc=%08x", username, p->realm, uri, p->nonce, resp_hash, opaque, cnonce, p->noncecount);
 	else
-		snprintf(digest, digest_len, "Digest username=\"%s\", realm=\"%s\", algorithm=MD5, uri=\"%s\", nonce=\"%s\", response=\"%s\", opaque=\"%s\"", username, p->realm, uri, p->nonce, resp_hash, p->opaque);
+		snprintf(digest, digest_len, "Digest username=\"%s\", realm=\"%s\", algorithm=MD5, uri=\"%s\", nonce=\"%s\", response=\"%s\"%s", username, p->realm, uri, p->nonce, resp_hash, opaque);
 
 	append_history(p, "AuthResp", "Auth response sent for %s in realm %s - nc %d", username, p->realm, p->noncecount);
 
@@ -21967,7 +21969,7 @@
 	/* Done, tell the manager */
 	manager_event(EVENT_FLAG_SYSTEM, "ChannelReload", "ChannelType: SIP\r\nReloadReason: %s\r\nRegistry_Count: %d\r\nPeer_Count: %d\r\nUser_Count: %d\r\n", channelreloadreason2txt(reason), registry_count, peer_count, user_count);
 	run_end = time(0);
-	ast_log(LOG_NOTICE, "reload_config done...Runtime= %d sec\n", (int)(run_end-run_start));
+	ast_debug(4, "reload_config done...Runtime= %d sec\n", (int)(run_end-run_start));
 
 	return 0;
 }
@@ -22486,7 +22488,7 @@
 	sip_send_all_registers();
 	end_poke = time(0);
 	
-	ast_log(LOG_NOTICE, "do_reload finished. peer poke/prune reg contact time = %d sec.\n", (int)(end_poke-start_poke));
+	ast_debug(4, "do_reload finished. peer poke/prune reg contact time = %d sec.\n", (int)(end_poke-start_poke));
 
 	ast_debug(4, "--------------- SIP reload done\n");
 

Modified: team/bbryant/iax2_rotation/codecs/codec_speex.c
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/codecs/codec_speex.c?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/codecs/codec_speex.c (original)
+++ team/bbryant/iax2_rotation/codecs/codec_speex.c Wed May  7 16:17:24 2008
@@ -32,6 +32,7 @@
 
 /*** MODULEINFO
 	<depend>speex</depend>
+	<depend>speex_preprocess</depend>
 	<use>speexdsp</use>
  ***/
 

Modified: team/bbryant/iax2_rotation/configure.ac
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/configure.ac?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/configure.ac (original)
+++ team/bbryant/iax2_rotation/configure.ac Wed May  7 16:17:24 2008
@@ -1314,7 +1314,18 @@
 
 AST_EXT_LIB_CHECK([SPEEX], [speex], [speex_encode], [speex/speex.h], [-lm])
 
+# See if the main speex library contains the preprocess functions
+AST_EXT_LIB_CHECK([SPEEX_PREPROCESS], [speex], [speex_preprocess_ctl], [speex/speex.h], [-lm])
+if test "${PBX_SPEEX_PREPROCESS}" = 1; then
+   PBX_SPEEX_PREPROCESS=1
+fi
+
 AST_EXT_LIB_CHECK([SPEEXDSP], [speexdsp], [speex_preprocess_ctl], [speex/speex.h], [-lm])
+if test "${PBX_SPEEXDSP}" = 1; then
+   PBX_SPEEX_PREPROCESS=1
+fi
+
+AC_SUBST(PBX_SPEEX_PREPROCESS)
 
 AST_EXT_LIB_CHECK([SQLITE], [sqlite], [sqlite_exec], [sqlite.h])
 

Modified: team/bbryant/iax2_rotation/contrib/scripts/asterisk.ldap-schema
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/contrib/scripts/asterisk.ldap-schema?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/contrib/scripts/asterisk.ldap-schema (original)
+++ team/bbryant/iax2_rotation/contrib/scripts/asterisk.ldap-schema Wed May  7 16:17:24 2008
@@ -1,5 +1,12 @@
 #
-# Copyright (c) 2007 Suretec Systems Ltd. - <http://www.suretecsystems.com/>
+# Copyright (c) 2007-2008 Suretec Systems Ltd. - <http://www.suretecsystems.com/>
+#
+# Version: 3.1.5
+#
+# Changes:
+# - Fixed wrong DESC - 07/05/2008
+#
+# Author: Gavin Henry - <ghenry at suretecsystems.com>
 #
 # Asterisk LDAP Schema
 #
@@ -224,28 +231,28 @@
 
 attributetype ( AstAccountExpirationTimestamp 
         NAME 'AstAccountExpirationTimestamp'
-        DESC 'Asterisk Account Allowed Codec'
+        DESC 'Asterisk Account Expiration Timestamp'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 
 attributetype ( AstAccountRegistrationContext 
         NAME 'AstAccountRegistrationContext'
-        DESC 'Asterisk Account AMA Flags'
+        DESC 'Asterisk Account Registration Context'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 
 attributetype ( AstAccountRegistrationExten 
         NAME 'AstAccountRegistrationExten'
-        DESC 'Asterisk Account AMA Flags'
+        DESC 'Asterisk Account Registration Extension'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 
 attributetype ( AstAccountNoTransfer 
         NAME 'AstAccountNoTransfer'
-        DESC 'Asterisk Account AMA Flags'
+        DESC 'Asterisk Account No Transfer'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
@@ -327,28 +334,28 @@
       
 attributetype ( AstAccountRestrictCID 
         NAME 'AstAccountRestrictCID'
-        DESC 'Asterisk Restrict CallerID'
+        DESC 'Asterisk Account Restrict CallerID'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
             
 attributetype ( AstAccountRTPTimeout 
         NAME 'AstAccountRTPTimeout'
-        DESC 'Asterisk RTP Timeout'
+        DESC 'Asterisk Account RTP Timeout'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
       
 attributetype ( AstAccountRTPHoldTimeout 
         NAME 'AstAccountRTPHoldTimeout'
-        DESC 'Asterisk RTP Hold Timeout'
+        DESC 'Asterisk Account RTP Hold Timeout'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
       
 attributetype ( AstAccountRealmedPassword 
         NAME 'AstAccountRealmedPassword'
-        DESC 'Asterisk RTP Hold Timeout'
+        DESC 'Asterisk Account Realmed Password'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
@@ -362,21 +369,21 @@
 
 attributetype ( AstAccountMusicOnHold 
         NAME 'AstAccountMusicOnHold'
-        DESC 'Asterisk Account Allowed Codec'
+        DESC 'Asterisk Account Music On Hold'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 
 attributetype ( AstAccountCanCallForward 
         NAME 'AstAccountCanCallForward'
-        DESC 'Asterisk Can CAll Forward' 
+        DESC 'Asterisk Account Can Call Forward' 
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 
 attributetype ( AstAccountSecret 
         NAME 'AstAccountSecret'
-        DESC 'Asterisk Can CAll Forward' 
+        DESC 'Asterisk Account Secret' 
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
@@ -559,4 +566,3 @@
         AstConfigCommented
     ) 
     )
-

Modified: team/bbryant/iax2_rotation/contrib/scripts/asterisk.ldif
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/contrib/scripts/asterisk.ldif?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/contrib/scripts/asterisk.ldif (original)
+++ team/bbryant/iax2_rotation/contrib/scripts/asterisk.ldif Wed May  7 16:17:24 2008
@@ -1,5 +1,12 @@
 #
-# Copyright (c) 2007 Suretec Systems Ltd. - <http://www.suretecsystems.com/>
+# Copyright (c) 2007-2008 Suretec Systems Ltd. - <http://www.suretecsystems.com/>
+#
+# Version: 3.1.5
+#
+# Changes:
+# - Fixed wrong DESC - 07/05/2008
+#
+# Author: Gavin Henry - <ghenry at suretecsystems.com>
 #
 # Asterisk LDAP Schema ldif
 #
@@ -228,28 +235,28 @@
 #
 olcAttributeTypes: ( AstAccountExpirationTimestamp 
         NAME 'AstAccountExpirationTimestamp'
-        DESC 'Asterisk Account Allowed Codec'
+        DESC 'Asterisk Account Expiration Timestamp'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 #
 olcAttributeTypes: ( AstAccountRegistrationContext 
         NAME 'AstAccountRegistrationContext'
-        DESC 'Asterisk Account AMA Flags'
+        DESC 'Asterisk Account Registration Context'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 #
 olcAttributeTypes: ( AstAccountRegistrationExten 
         NAME 'AstAccountRegistrationExten'
-        DESC 'Asterisk Account AMA Flags'
+        DESC 'Asterisk Account Registration Extension'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 #
 olcAttributeTypes: ( AstAccountNoTransfer 
         NAME 'AstAccountNoTransfer'
-        DESC 'Asterisk Account AMA Flags'
+        DESC 'Asterisk Account No Transfer'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
@@ -331,28 +338,28 @@
 #      
 olcAttributeTypes: ( AstAccountRestrictCID 
         NAME 'AstAccountRestrictCID'
-        DESC 'Asterisk Restrict CallerID'
+        DESC 'Asterisk Account Restrict CallerID'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 #            
 olcAttributeTypes: ( AstAccountRTPTimeout 
         NAME 'AstAccountRTPTimeout'
-        DESC 'Asterisk RTP Timeout'
+        DESC 'Asterisk Account RTP Timeout'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 #      
 olcAttributeTypes: ( AstAccountRTPHoldTimeout 
         NAME 'AstAccountRTPHoldTimeout'
-        DESC 'Asterisk RTP Hold Timeout'
+        DESC 'Asterisk Account RTP Hold Timeout'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 #      
 olcAttributeTypes: ( AstAccountRealmedPassword 
         NAME 'AstAccountRealmedPassword'
-        DESC 'Asterisk RTP Hold Timeout'
+        DESC 'Asterisk Account Realmed Password'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
@@ -366,21 +373,21 @@
 #
 olcAttributeTypes: ( AstAccountMusicOnHold 
         NAME 'AstAccountMusicOnHold'
-        DESC 'Asterisk Account Allowed Codec'
+        DESC 'Asterisk Account Music On Hold'
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 #
 olcAttributeTypes: ( AstAccountCanCallForward 
         NAME 'AstAccountCanCallForward'
-        DESC 'Asterisk Can CAll Forward' 
+        DESC 'Asterisk Account Can Call Forward' 
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 #
 olcAttributeTypes: ( AstAccountSecret 
         NAME 'AstAccountSecret'
-        DESC 'Asterisk Can CAll Forward' 
+        DESC 'Asterisk Account Secret' 
         EQUALITY caseIgnoreMatch
         SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
@@ -564,4 +571,3 @@
     ) 
     )
 #
-

Modified: team/bbryant/iax2_rotation/contrib/scripts/get_ilbc_source.sh
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/contrib/scripts/get_ilbc_source.sh?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/contrib/scripts/get_ilbc_source.sh (original)
+++ team/bbryant/iax2_rotation/contrib/scripts/get_ilbc_source.sh Wed May  7 16:17:24 2008
@@ -18,7 +18,7 @@
 echo "If you have not done so, you can abort the script now."
 echo "***"
 
-read
+read tmp
 
 wget -P codecs/ilbc http://www.ietf.org/rfc/rfc3951.txt
 

Modified: team/bbryant/iax2_rotation/funcs/func_speex.c
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/funcs/func_speex.c?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/funcs/func_speex.c (original)
+++ team/bbryant/iax2_rotation/funcs/func_speex.c Wed May  7 16:17:24 2008
@@ -31,6 +31,8 @@
 
 /*** MODULEINFO
 	<depend>speex</depend>
+	<depend>speex_preprocess</depend>
+	<use>speexdsp</use>
  ***/
 
 #include "asterisk.h"

Modified: team/bbryant/iax2_rotation/include/asterisk/autoconfig.h.in
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/include/asterisk/autoconfig.h.in?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/include/asterisk/autoconfig.h.in (original)
+++ team/bbryant/iax2_rotation/include/asterisk/autoconfig.h.in Wed May  7 16:17:24 2008
@@ -723,6 +723,12 @@
 
 /* Define to indicate the ${SPEEXDSP_DESCRIP} library version */
 #undef HAVE_SPEEXDSP_VERSION
+
+/* Define this to indicate the ${SPEEX_PREPROCESS_DESCRIP} library */
+#undef HAVE_SPEEX_PREPROCESS
+
+/* Define to indicate the ${SPEEX_PREPROCESS_DESCRIP} library version */
+#undef HAVE_SPEEX_PREPROCESS_VERSION
 
 /* Define to indicate the ${SPEEX_DESCRIP} library version */
 #undef HAVE_SPEEX_VERSION

Propchange: team/bbryant/iax2_rotation/include/asterisk/dlinkedlists.h
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Wed May  7 16:17:24 2008
@@ -1,1 +1,1 @@
-Author Id Date Revision
+Author Date Id Revision

Modified: team/bbryant/iax2_rotation/include/asterisk/res_odbc.h
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/include/asterisk/res_odbc.h?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/include/asterisk/res_odbc.h (original)
+++ team/bbryant/iax2_rotation/include/asterisk/res_odbc.h Wed May  7 16:17:24 2008
@@ -96,7 +96,7 @@
 
 /*! \brief Checks if the database natively supports backslash as an escape character.
  * \param obj The ODBC object
- * \return Returns 1 if an ESCAPE clause is needed to support '\', 0 otherwise
+ * \return Returns 1 if backslash is a native escape character, 0 if an ESCAPE clause is needed to support '\'
  */
 int ast_odbc_backslash_is_escape(struct odbc_obj *obj);
 

Modified: team/bbryant/iax2_rotation/main/asterisk.c
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/main/asterisk.c?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/main/asterisk.c (original)
+++ team/bbryant/iax2_rotation/main/asterisk.c Wed May  7 16:17:24 2008
@@ -1420,6 +1420,12 @@
 static const char *fix_header(char *outbuf, int maxout, const char *s, char *cmp)
 {
 	const char *c;
+
+	/* Check for verboser preamble */
+	if (*s == 127) {
+		s++;
+	}
+
 	if (!strncmp(s, cmp, strlen(cmp))) {
 		c = s + strlen(cmp);
 		term_color(outbuf, cmp, COLOR_GRAY, 0, maxout);
@@ -1928,6 +1934,7 @@
 
 			buf[res] = '\0';
 
+			/* Write over the CLI prompt */
 			if (!ast_opt_exec && !lastpos)
 				write(STDOUT_FILENO, "\r", 1);
 			write(STDOUT_FILENO, buf, res);
@@ -2425,13 +2432,38 @@
 		ast_el_read_history(filename);
 
 	if (ast_opt_exec && data) {  /* hack to print output then exit if asterisk -rx is used */
-		char tempchar;
 		struct pollfd fds;
 		fds.fd = ast_consock;
 		fds.events = POLLIN;
 		fds.revents = 0;
-		while (poll(&fds, 1, 100) > 0)
-			ast_el_read_char(el, &tempchar);
+		while (poll(&fds, 1, 500) > 0) {
+			char buf[512] = "", *curline = buf, *nextline;
+			int not_written = 1;
+
+			if (read(ast_consock, buf, sizeof(buf) - 1) < 0) {
+				break;
+			}
+
+			do {
+				if ((nextline = strchr(curline, '\n'))) {
+					nextline++;
+				} else {
+					nextline = strchr(curline, '\0');
+				}
+
+				/* Skip verbose lines */
+				if (*curline != 127) {
+					not_written = 0;
+					write(STDOUT_FILENO, curline, nextline - curline);
+				}
+				curline = nextline;
+			} while (!ast_strlen_zero(curline));
+
+			/* No non-verbose output in 500ms */
+			if (not_written) {
+				break;
+			}
+		}
 		return;
 	}
 	for (;;) {

Modified: team/bbryant/iax2_rotation/main/config.c
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/main/config.c?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/main/config.c (original)
+++ team/bbryant/iax2_rotation/main/config.c Wed May  7 16:17:24 2008
@@ -1056,9 +1056,10 @@
 				/* #exec </path/to/executable>
 				   We create a tmp file, then we #include it, then we delete it. */
 				if (!do_include) {
+					struct timeval tv = ast_tvnow();
 					if (!ast_test_flag(&flags, CONFIG_FLAG_NOCACHE))
 						config_cache_attribute(configfile, ATTRIBUTE_EXEC, NULL, who_asked);
-					snprintf(exec_file, sizeof(exec_file), "/var/tmp/exec.%d.%ld", (int)time(NULL), (long)pthread_self());
+					snprintf(exec_file, sizeof(exec_file), "/var/tmp/exec.%d%d.%ld", (int)tv.tv_sec, (int)tv.tv_usec, (long)pthread_self());
 					snprintf(cmd, sizeof(cmd), "%s > %s 2>&1", cur, exec_file);
 					ast_safe_system(cmd);
 					cur = exec_file;

Modified: team/bbryant/iax2_rotation/main/event.c
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/main/event.c?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/main/event.c (original)
+++ team/bbryant/iax2_rotation/main/event.c Wed May  7 16:17:24 2008
@@ -34,9 +34,9 @@
 #include "asterisk/lock.h"
 #include "asterisk/utils.h"
 #include "asterisk/unaligned.h"
-
-/* Only use one thread for now to ensure ordered delivery */
-#define NUM_EVENT_THREADS 1
+#include "asterisk/taskprocessor.h"
+
+struct ast_taskprocessor *event_dispatcher;
 
 /*!
  * \brief An event information element
@@ -82,15 +82,6 @@
 	uint16_t event_len;
 	const struct ast_event *event;
 	struct ast_event_ie *ie;
-};
-
-/*! \brief data shared between event dispatching threads */
-static struct {
-	ast_cond_t cond;
-	ast_mutex_t lock;
-	AST_LIST_HEAD_NOLOCK(, ast_event_ref) event_q;
-} event_thread = {
-	.lock = AST_MUTEX_INIT_VALUE,
 };
 
 struct ast_event_ie_val {
@@ -717,6 +708,50 @@
 	return (ast_event_queue(event) || res) ? -1 : 0;
 }
 
+static int handle_event(void *data)
+{
+	struct ast_event_ref *event_ref = data;
+	struct ast_event_sub *sub;
+	uint16_t host_event_type;
+
+	host_event_type = ntohs(event_ref->event->type);
+
+	/* Subscribers to this specific event first */
+	AST_RWDLLIST_RDLOCK(&ast_event_subs[host_event_type]);
+	AST_RWDLLIST_TRAVERSE(&ast_event_subs[host_event_type], sub, entry) {
+		struct ast_event_ie_val *ie_val;
+		AST_LIST_TRAVERSE(&sub->ie_vals, ie_val, entry) {
+			if (ie_val->ie_pltype == AST_EVENT_IE_PLTYPE_EXISTS &&
+				ast_event_get_ie_raw(event_ref->event, ie_val->ie_type)) {
+				continue;
+			} else if (ie_val->ie_pltype == AST_EVENT_IE_PLTYPE_UINT &&
+				ast_event_get_ie_uint(event_ref->event, ie_val->ie_type) 
+				== ie_val->payload.uint) {
+				continue;
+			} else if (ie_val->ie_pltype == AST_EVENT_IE_PLTYPE_STR &&
+				!strcmp(ast_event_get_ie_str(event_ref->event, ie_val->ie_type),
+					ie_val->payload.str)) {
+				continue;
+			}
+			break;
+		}
+		if (ie_val)
+			continue;
+		sub->cb(event_ref->event, sub->userdata);
+	}
+	AST_RWDLLIST_UNLOCK(&ast_event_subs[host_event_type]);
+
+	/* Now to subscribers to all event types */
+	AST_RWDLLIST_RDLOCK(&ast_event_subs[AST_EVENT_ALL]);
+	AST_RWDLLIST_TRAVERSE(&ast_event_subs[AST_EVENT_ALL], sub, entry)
+		sub->cb(event_ref->event, sub->userdata);
+	AST_RWDLLIST_UNLOCK(&ast_event_subs[AST_EVENT_ALL]);
+
+	ast_event_ref_destroy(event_ref);
+
+	return 0;
+}
+
 int ast_event_queue(struct ast_event *event)
 {
 	struct ast_event_ref *event_ref;
@@ -743,63 +778,7 @@
 
 	event_ref->event = event;
 
-	ast_mutex_lock(&event_thread.lock);
-	AST_LIST_INSERT_TAIL(&event_thread.event_q, event_ref, entry);
-	ast_cond_signal(&event_thread.cond);
-	ast_mutex_unlock(&event_thread.lock);
-
-	return 0;
-}
-
-static void *ast_event_dispatcher(void *unused)
-{
-	for (;;) {
-		struct ast_event_ref *event_ref;
-		struct ast_event_sub *sub;
-		uint16_t host_event_type;
-
-		ast_mutex_lock(&event_thread.lock);
-		while (!(event_ref = AST_LIST_REMOVE_HEAD(&event_thread.event_q, entry)))
-			ast_cond_wait(&event_thread.cond, &event_thread.lock);
-		ast_mutex_unlock(&event_thread.lock);
-
-		host_event_type = ntohs(event_ref->event->type);
-
-		/* Subscribers to this specific event first */
-		AST_RWDLLIST_RDLOCK(&ast_event_subs[host_event_type]);
-		AST_RWDLLIST_TRAVERSE(&ast_event_subs[host_event_type], sub, entry) {
-			struct ast_event_ie_val *ie_val;
-			AST_LIST_TRAVERSE(&sub->ie_vals, ie_val, entry) {
-				if (ie_val->ie_pltype == AST_EVENT_IE_PLTYPE_EXISTS &&
-					ast_event_get_ie_raw(event_ref->event, ie_val->ie_type)) {
-					continue;
-				} else if (ie_val->ie_pltype == AST_EVENT_IE_PLTYPE_UINT &&
-					ast_event_get_ie_uint(event_ref->event, ie_val->ie_type) 
-					== ie_val->payload.uint) {
-					continue;
-				} else if (ie_val->ie_pltype == AST_EVENT_IE_PLTYPE_STR &&
-					!strcmp(ast_event_get_ie_str(event_ref->event, ie_val->ie_type),
-						ie_val->payload.str)) {
-					continue;
-				}
-				break;
-			}
-			if (ie_val)
-				continue;
-			sub->cb(event_ref->event, sub->userdata);
-		}
-		AST_RWDLLIST_UNLOCK(&ast_event_subs[host_event_type]);
-
-		/* Now to subscribers to all event types */
-		AST_RWDLLIST_RDLOCK(&ast_event_subs[AST_EVENT_ALL]);
-		AST_RWDLLIST_TRAVERSE(&ast_event_subs[AST_EVENT_ALL], sub, entry)
-			sub->cb(event_ref->event, sub->userdata);
-		AST_RWDLLIST_UNLOCK(&ast_event_subs[AST_EVENT_ALL]);
-
-		ast_event_ref_destroy(event_ref);
-	}
-
-	return NULL;
+	return ast_taskprocessor_push(event_dispatcher, handle_event, event_ref);
 }
 
 void ast_event_init(void)
@@ -812,10 +791,5 @@
 	for (i = 0; i < AST_EVENT_TOTAL; i++)
 		AST_RWLIST_HEAD_INIT(&ast_event_cache[i]);
 
-	ast_cond_init(&event_thread.cond, NULL);
-
-	for (i = 0; i < NUM_EVENT_THREADS; i++) {
-		pthread_t dont_care;
-		ast_pthread_create_background(&dont_care, NULL, ast_event_dispatcher, NULL);
-	}
-}
+	event_dispatcher = ast_taskprocessor_get("core_event_dispatcher", 0);
+}

Modified: team/bbryant/iax2_rotation/main/logger.c
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/main/logger.c?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/main/logger.c (original)
+++ team/bbryant/iax2_rotation/main/logger.c Wed May  7 16:17:24 2008
@@ -1176,8 +1176,12 @@
 		ast_localtime(&tv, &tm, NULL);
 		ast_strftime(date, sizeof(date), dateformat, &tm);
 		datefmt = alloca(strlen(date) + 3 + strlen(fmt) + 1);
-		sprintf(datefmt, "[%s] %s", date, fmt);
+		sprintf(datefmt, "%c[%s] %s", 127, date, fmt);
 		fmt = datefmt;
+	} else {
+		char *tmp = alloca(strlen(fmt) + 2);
+		sprintf(tmp, "%c%s", 127, fmt);
+		fmt = tmp;
 	}
 
 	/* Build string */
@@ -1194,7 +1198,7 @@
 
 	strcpy(logmsg->str, buf->str);
 
-	ast_log(LOG_VERBOSE, "%s", logmsg->str);
+	ast_log(LOG_VERBOSE, "%s", logmsg->str + 1);
 
 	/* Set type */
 	logmsg->type = LOGMSG_VERBOSE;

Modified: team/bbryant/iax2_rotation/main/manager.c
URL: http://svn.digium.com/view/asterisk/team/bbryant/iax2_rotation/main/manager.c?view=diff&rev=115539&r1=115538&r2=115539
==============================================================================
--- team/bbryant/iax2_rotation/main/manager.c (original)
+++ team/bbryant/iax2_rotation/main/manager.c Wed May  7 16:17:24 2008
@@ -1731,12 +1731,23 @@
 	return 0;
 }
 
+static char mandescr_status[] = 
+"Description: Lists channel status along with requested channel vars.\n"
+"Variables: (Names marked with * are required)\n"
+"	*Channel: Name of the channel to query for status\n"
+"	Variables: Comma ',' separated list of variables to include\n"
+"	ActionID: Optional ID for this transaction\n"
+"Will return the status information of each channel along with the\n"
+"value for the specified channel variables.\n";
+ 
 
 /*! \brief Manager "status" command to show channels */
 /* Needs documentation... */

[... 837 lines stripped ...]



More information about the asterisk-commits mailing list