[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