[asterisk-commits] russell: branch jamesgolovich/chan_sip-ast_str r108437 - in /team/jamesgolovi...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Mar 13 14:26:43 CDT 2008


Author: russell
Date: Thu Mar 13 14:26:42 2008
New Revision: 108437

URL: http://svn.digium.com/view/asterisk?view=rev&rev=108437
Log:
resolve, reset

Added:
    team/jamesgolovich/chan_sip-ast_str/configs/dbsep.conf.sample
      - copied unchanged from r108404, trunk/configs/dbsep.conf.sample
    team/jamesgolovich/chan_sip-ast_str/configs/dsp.conf.sample
      - copied unchanged from r108404, trunk/configs/dsp.conf.sample
    team/jamesgolovich/chan_sip-ast_str/contrib/scripts/dbsep.cgi
      - copied unchanged from r108404, trunk/contrib/scripts/dbsep.cgi
    team/jamesgolovich/chan_sip-ast_str/funcs/func_config.c
      - copied unchanged from r108404, trunk/funcs/func_config.c
Modified:
    team/jamesgolovich/chan_sip-ast_str/   (props changed)
    team/jamesgolovich/chan_sip-ast_str/CHANGES
    team/jamesgolovich/chan_sip-ast_str/Makefile
    team/jamesgolovich/chan_sip-ast_str/Makefile.rules
    team/jamesgolovich/chan_sip-ast_str/UPGRADE.txt
    team/jamesgolovich/chan_sip-ast_str/apps/app_amd.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_chanspy.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_dial.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_dumpchan.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_externalivr.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_followme.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_meetme.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_minivm.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_mixmonitor.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_page.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_queue.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_record.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_rpt.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_sms.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_speech_utils.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_talkdetect.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_voicemail.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_waitforsilence.c
    team/jamesgolovich/chan_sip-ast_str/apps/app_zapras.c
    team/jamesgolovich/chan_sip-ast_str/cdr/cdr_odbc.c
    team/jamesgolovich/chan_sip-ast_str/cdr/cdr_pgsql.c
    team/jamesgolovich/chan_sip-ast_str/channels/Makefile
    team/jamesgolovich/chan_sip-ast_str/channels/chan_alsa.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_console.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_gtalk.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_h323.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_iax2.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_jingle.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_mgcp.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_misdn.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_oss.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_phone.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_sip.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_skinny.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_unistim.c
    team/jamesgolovich/chan_sip-ast_str/channels/chan_vpb.cc
    team/jamesgolovich/chan_sip-ast_str/channels/chan_zap.c
    team/jamesgolovich/chan_sip-ast_str/channels/console_gui.c
    team/jamesgolovich/chan_sip-ast_str/channels/misdn/isdn_lib.c
    team/jamesgolovich/chan_sip-ast_str/codecs/Makefile
    team/jamesgolovich/chan_sip-ast_str/codecs/codec_g722.c
    team/jamesgolovich/chan_sip-ast_str/configs/zapata.conf.sample
    team/jamesgolovich/chan_sip-ast_str/configure
    team/jamesgolovich/chan_sip-ast_str/configure.ac
    team/jamesgolovich/chan_sip-ast_str/contrib/scripts/iax-friends.sql
    team/jamesgolovich/chan_sip-ast_str/contrib/scripts/sip-friends.sql
    team/jamesgolovich/chan_sip-ast_str/doc/manager_1_1.txt
    team/jamesgolovich/chan_sip-ast_str/doc/smdi.txt
    team/jamesgolovich/chan_sip-ast_str/doc/tex/realtime.tex
    team/jamesgolovich/chan_sip-ast_str/doc/voicemail_odbc_postgresql.txt
    team/jamesgolovich/chan_sip-ast_str/formats/format_pcm.c
    team/jamesgolovich/chan_sip-ast_str/funcs/func_enum.c
    team/jamesgolovich/chan_sip-ast_str/funcs/func_global.c
    team/jamesgolovich/chan_sip-ast_str/funcs/func_odbc.c
    team/jamesgolovich/chan_sip-ast_str/funcs/func_strings.c
    team/jamesgolovich/chan_sip-ast_str/include/asterisk/audiohook.h
    team/jamesgolovich/chan_sip-ast_str/include/asterisk/autoconfig.h.in
    team/jamesgolovich/chan_sip-ast_str/include/asterisk/cdr.h
    team/jamesgolovich/chan_sip-ast_str/include/asterisk/config.h
    team/jamesgolovich/chan_sip-ast_str/include/asterisk/dsp.h
    team/jamesgolovich/chan_sip-ast_str/include/asterisk/frame.h
    team/jamesgolovich/chan_sip-ast_str/include/asterisk/http.h
    team/jamesgolovich/chan_sip-ast_str/include/asterisk/pbx.h
    team/jamesgolovich/chan_sip-ast_str/include/asterisk/pval.h
    team/jamesgolovich/chan_sip-ast_str/include/asterisk/sched.h
    team/jamesgolovich/chan_sip-ast_str/include/asterisk/slinfactory.h
    team/jamesgolovich/chan_sip-ast_str/include/asterisk/tcptls.h
    team/jamesgolovich/chan_sip-ast_str/main/Makefile
    team/jamesgolovich/chan_sip-ast_str/main/alaw.c
    team/jamesgolovich/chan_sip-ast_str/main/app.c
    team/jamesgolovich/chan_sip-ast_str/main/asterisk.c
    team/jamesgolovich/chan_sip-ast_str/main/astobj2.c
    team/jamesgolovich/chan_sip-ast_str/main/audiohook.c
    team/jamesgolovich/chan_sip-ast_str/main/callerid.c
    team/jamesgolovich/chan_sip-ast_str/main/cdr.c
    team/jamesgolovich/chan_sip-ast_str/main/channel.c
    team/jamesgolovich/chan_sip-ast_str/main/cli.c
    team/jamesgolovich/chan_sip-ast_str/main/config.c
    team/jamesgolovich/chan_sip-ast_str/main/cryptostub.c
    team/jamesgolovich/chan_sip-ast_str/main/dial.c
    team/jamesgolovich/chan_sip-ast_str/main/dlfcn.c
    team/jamesgolovich/chan_sip-ast_str/main/dns.c
    team/jamesgolovich/chan_sip-ast_str/main/dsp.c
    team/jamesgolovich/chan_sip-ast_str/main/editline/Makefile.in
    team/jamesgolovich/chan_sip-ast_str/main/editline/readline.c
    team/jamesgolovich/chan_sip-ast_str/main/enum.c
    team/jamesgolovich/chan_sip-ast_str/main/features.c
    team/jamesgolovich/chan_sip-ast_str/main/file.c
    team/jamesgolovich/chan_sip-ast_str/main/frame.c
    team/jamesgolovich/chan_sip-ast_str/main/fskmodem.c
    team/jamesgolovich/chan_sip-ast_str/main/http.c
    team/jamesgolovich/chan_sip-ast_str/main/image.c
    team/jamesgolovich/chan_sip-ast_str/main/jitterbuf.c
    team/jamesgolovich/chan_sip-ast_str/main/loader.c
    team/jamesgolovich/chan_sip-ast_str/main/logger.c
    team/jamesgolovich/chan_sip-ast_str/main/manager.c
    team/jamesgolovich/chan_sip-ast_str/main/netsock.c
    team/jamesgolovich/chan_sip-ast_str/main/pbx.c
    team/jamesgolovich/chan_sip-ast_str/main/poll.c
    team/jamesgolovich/chan_sip-ast_str/main/rtp.c
    team/jamesgolovich/chan_sip-ast_str/main/say.c
    team/jamesgolovich/chan_sip-ast_str/main/slinfactory.c
    team/jamesgolovich/chan_sip-ast_str/main/strcompat.c
    team/jamesgolovich/chan_sip-ast_str/main/tcptls.c
    team/jamesgolovich/chan_sip-ast_str/main/tdd.c
    team/jamesgolovich/chan_sip-ast_str/main/term.c
    team/jamesgolovich/chan_sip-ast_str/main/translate.c
    team/jamesgolovich/chan_sip-ast_str/main/udptl.c
    team/jamesgolovich/chan_sip-ast_str/main/utils.c
    team/jamesgolovich/chan_sip-ast_str/makeopts.in
    team/jamesgolovich/chan_sip-ast_str/pbx/pbx_ael.c
    team/jamesgolovich/chan_sip-ast_str/pbx/pbx_config.c
    team/jamesgolovich/chan_sip-ast_str/res/Makefile
    team/jamesgolovich/chan_sip-ast_str/res/ael/ael.flex
    team/jamesgolovich/chan_sip-ast_str/res/ael/ael.tab.c
    team/jamesgolovich/chan_sip-ast_str/res/ael/ael.tab.h
    team/jamesgolovich/chan_sip-ast_str/res/ael/ael.y
    team/jamesgolovich/chan_sip-ast_str/res/ael/ael_lex.c
    team/jamesgolovich/chan_sip-ast_str/res/ael/pval.c
    team/jamesgolovich/chan_sip-ast_str/res/res_agi.c
    team/jamesgolovich/chan_sip-ast_str/res/res_config_curl.c
    team/jamesgolovich/chan_sip-ast_str/res/res_config_ldap.c
    team/jamesgolovich/chan_sip-ast_str/res/res_config_odbc.c
    team/jamesgolovich/chan_sip-ast_str/res/res_config_pgsql.c
    team/jamesgolovich/chan_sip-ast_str/res/res_config_sqlite.c
    team/jamesgolovich/chan_sip-ast_str/res/res_phoneprov.c
    team/jamesgolovich/chan_sip-ast_str/sounds/Makefile
    team/jamesgolovich/chan_sip-ast_str/sounds/sounds.xml
    team/jamesgolovich/chan_sip-ast_str/utils/Makefile
    team/jamesgolovich/chan_sip-ast_str/utils/ael_main.c
    team/jamesgolovich/chan_sip-ast_str/utils/conf2ael.c
    team/jamesgolovich/chan_sip-ast_str/utils/extconf.c

Propchange: team/jamesgolovich/chan_sip-ast_str/
------------------------------------------------------------------------------
    automerge = *

Propchange: team/jamesgolovich/chan_sip-ast_str/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.

Propchange: team/jamesgolovich/chan_sip-ast_str/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/jamesgolovich/chan_sip-ast_str/
------------------------------------------------------------------------------
--- svn:externals (original)
+++ svn:externals Thu Mar 13 14:26:42 2008
@@ -1,1 +1,1 @@
-menuselect https://origsvn.digium.com/svn/menuselect/branches/1.0
+menuselect https://origsvn.digium.com/svn/menuselect/trunk

Propchange: team/jamesgolovich/chan_sip-ast_str/
------------------------------------------------------------------------------
    svnmerge-blocked = /branches/1.4:106178

Propchange: team/jamesgolovich/chan_sip-ast_str/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Mar 13 14:26:42 2008
@@ -1,1 +1,1 @@
-/trunk:1-105782
+/trunk:1-108405

Modified: team/jamesgolovich/chan_sip-ast_str/CHANGES
URL: http://svn.digium.com/view/asterisk/team/jamesgolovich/chan_sip-ast_str/CHANGES?view=diff&rev=108437&r1=108436&r2=108437
==============================================================================
--- team/jamesgolovich/chan_sip-ast_str/CHANGES (original)
+++ team/jamesgolovich/chan_sip-ast_str/CHANGES Thu Mar 13 14:26:42 2008
@@ -2,7 +2,15 @@
 --- Functionality changes from Asterisk 1.6.0 to Asterisk 1.6.1  -------------
 ------------------------------------------------------------------------------
 
-
+Dialplan Functions
+------------------
+ * Added a new dialplan function, AST_CONFIG(), which allows you to access
+   variables from an Asterisk configuration file.
+
+Zaptel channel driver (chan_zap) Changes
+----------------------------------------
+ * Channels can now be configured using named sections in zapata.conf, just
+   like other channel drivers, including the use of templates.
 
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 1.4.X to Asterisk 1.6.0  -------------
@@ -57,6 +65,8 @@
   * Originate now requires the Originate privilege and, if you want to call out
     to a subshell, it requires the System privilege, as well.  This was done to
     enhance manager security.
+  * New command: Atxfer. See doc/manager_1_1.txt for more details or 
+    manager show command Atxfer from the CLI
 
 Dialplan functions
 ------------------
@@ -175,7 +185,7 @@
   * Proper codec support in chan_skinny.
   * Added settings for IP and Ethernet QoS requests
 
-
+MGCP changes
 ------------
   * Added separate settings for media QoS in mgcp.conf
 
@@ -387,6 +397,8 @@
   * The ChannelRedirect application no longer exits the dialplan if the given channel
      does not exist. It will now set the CHANNELREDIRECT_STATUS variable to SUCCESS upon success
      or NOCHANNEL if the given channel was not found.
+  * The silencethreshold setting that was previously configurable in multiple
+     applications is now settable globally via dsp.conf.
 
 Music On Hold Changes
 ---------------------

Modified: team/jamesgolovich/chan_sip-ast_str/Makefile
URL: http://svn.digium.com/view/asterisk/team/jamesgolovich/chan_sip-ast_str/Makefile?view=diff&rev=108437&r1=108436&r2=108437
==============================================================================
--- team/jamesgolovich/chan_sip-ast_str/Makefile (original)
+++ team/jamesgolovich/chan_sip-ast_str/Makefile Thu Mar 13 14:26:42 2008
@@ -811,22 +811,38 @@
 
 menuconfig: menuselect
 
+cmenuconfig: cmenuselect
+
 gmenuconfig: gmenuselect
+
+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!"
 
+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!"
+
 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!"
 
+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!"
+
 # options for make in menuselect/
 MAKE_MENUSELECT=CC="$(HOST_CC)" CXX="$(CXX)" LD="" AR="" RANLIB="" CFLAGS="" $(MAKE) -C menuselect CONFIGURE_SILENT="--silent"
 
 menuselect/menuselect: menuselect/makeopts
 	$(MAKE_MENUSELECT)
 
+menuselect/cmenuselect: menuselect/makeopts
+	$(MAKE_MENUSELECT) cmenuselect
+
 menuselect/gmenuselect: menuselect/makeopts
 	$(MAKE_MENUSELECT) gmenuselect
+
+menuselect/nmenuselect: menuselect/makeopts
+	$(MAKE_MENUSELECT) nmenuselect
 
 menuselect/makeopts:
 	$(MAKE_MENUSELECT) makeopts

Modified: team/jamesgolovich/chan_sip-ast_str/Makefile.rules
URL: http://svn.digium.com/view/asterisk/team/jamesgolovich/chan_sip-ast_str/Makefile.rules?view=diff&rev=108437&r1=108436&r2=108437
==============================================================================
--- team/jamesgolovich/chan_sip-ast_str/Makefile.rules (original)
+++ team/jamesgolovich/chan_sip-ast_str/Makefile.rules Thu Mar 13 14:26:42 2008
@@ -61,7 +61,7 @@
 
 %.oo: %.cc
 	$(ECHO_PREFIX) echo "   [CXX] $< -> $@"
-	$(CMD_PREFIX) $(CXX) -o $@ -c $< $(PTHREAD_CFLAGS) $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations,$(ASTCFLAGS)) $(MAKE_DEPS)
+	$(CMD_PREFIX) $(CXX) -o $@ -c $< $(PTHREAD_CFLAGS) $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(AST_DECLARATION_AFTER_STATEMENT),$(ASTCFLAGS)) $(MAKE_DEPS)
 
 %.c: %.y
 	$(ECHO_PREFIX) echo "   [BISON] $< -> $@"

Modified: team/jamesgolovich/chan_sip-ast_str/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/team/jamesgolovich/chan_sip-ast_str/UPGRADE.txt?view=diff&rev=108437&r1=108436&r2=108437
==============================================================================
--- team/jamesgolovich/chan_sip-ast_str/UPGRADE.txt (original)
+++ team/jamesgolovich/chan_sip-ast_str/UPGRADE.txt Thu Mar 13 14:26:42 2008
@@ -55,6 +55,9 @@
 
 * The concise versions of various CLI commands are now deprecated. We recommend
   using the manager interface (AMI) for application integration with Asterisk.
+
+* The silencethreshold used for various applications is now settable via a
+  centralized config option in dsp.conf.
 
 Voicemail:
 

Modified: team/jamesgolovich/chan_sip-ast_str/apps/app_amd.c
URL: http://svn.digium.com/view/asterisk/team/jamesgolovich/chan_sip-ast_str/apps/app_amd.c?view=diff&rev=108437&r1=108436&r2=108437
==============================================================================
--- team/jamesgolovich/chan_sip-ast_str/apps/app_amd.c (original)
+++ team/jamesgolovich/chan_sip-ast_str/apps/app_amd.c Thu Mar 13 14:26:42 2008
@@ -371,6 +371,8 @@
 	struct ast_variable *var = NULL;
 	struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 };
 
+	dfltSilenceThreshold = ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE);
+
 	if (!(cfg = ast_config_load("amd.conf", config_flags))) {
 		ast_log(LOG_ERROR, "Configuration file amd.conf missing.\n");
 		return -1;

Modified: team/jamesgolovich/chan_sip-ast_str/apps/app_chanspy.c
URL: http://svn.digium.com/view/asterisk/team/jamesgolovich/chan_sip-ast_str/apps/app_chanspy.c?view=diff&rev=108437&r1=108436&r2=108437
==============================================================================
--- team/jamesgolovich/chan_sip-ast_str/apps/app_chanspy.c (original)
+++ team/jamesgolovich/chan_sip-ast_str/apps/app_chanspy.c Thu Mar 13 14:26:42 2008
@@ -2,7 +2,7 @@
  * Asterisk -- An open source telephony toolkit.
  *
  * Copyright (C) 2005 Anthony Minessale II (anthmct at yahoo.com)
- * Copyright (C) 2005 - 2006, Digium, Inc.
+ * Copyright (C) 2005 - 2008, Digium, Inc.
  *
  * A license has been granted to Digium (via disclaimer) for the use of
  * this code.
@@ -23,6 +23,8 @@
  * \brief ChanSpy: Listen in on any channel.
  *
  * \author Anthony Minessale II <anthmct at yahoo.com>
+ * \author Joshua Colp <jcolp at digium.com>
+ * \author Russell Bryant <russell at digium.com>
  *
  * \ingroup applications
  */
@@ -682,7 +684,7 @@
 				continue;
 
 			strcpy(peer_name, "spy-");
-			strncat(peer_name, peer->name, AST_NAME_STRLEN);
+			strncat(peer_name, peer->name, AST_NAME_STRLEN - 4 - 1);
 			ptr = strchr(peer_name, '/');
 			*ptr++ = '\0';
 

Modified: team/jamesgolovich/chan_sip-ast_str/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/jamesgolovich/chan_sip-ast_str/apps/app_dial.c?view=diff&rev=108437&r1=108436&r2=108437
==============================================================================
--- team/jamesgolovich/chan_sip-ast_str/apps/app_dial.c (original)
+++ team/jamesgolovich/chan_sip-ast_str/apps/app_dial.c Thu Mar 13 14:26:42 2008
@@ -60,6 +60,7 @@
 #include "asterisk/privacy.h"
 #include "asterisk/stringfields.h"
 #include "asterisk/global_datastores.h"
+#include "asterisk/dsp.h"
 
 static char *app = "Dial";
 
@@ -716,6 +717,10 @@
 					ast_verb(3, "%s requested a video update, passing it to %s\n", c->name, in->name);
 					ast_indicate(in, AST_CONTROL_VIDUPDATE);
 					break;
+				case AST_CONTROL_SRCUPDATE:
+					ast_verb(3, "%s requested a source update, passing it to %s\n", c->name, in->name);
+					ast_indicate(in, AST_CONTROL_SRCUPDATE);
+					break;
 				case AST_CONTROL_PROCEEDING:
 					ast_verb(3, "%s is proceeding passing it to %s\n", c->name, in->name);
 					if (single && CAN_EARLY_BRIDGE(peerflags))
@@ -746,19 +751,21 @@
 					ast_debug(1, "Dunno what to do with control type %d\n", f->subclass);
 				}
 			} else if (single) {
-				/* XXX are we sure the logic is correct ? or we should just switch on f->frametype ? */
-				if (f->frametype == AST_FRAME_VOICE && !ast_test_flag64(outgoing, OPT_RINGBACK|OPT_MUSICBACK)) {
-					if (ast_write(in, f))
-						ast_log(LOG_WARNING, "Unable to forward voice frame\n");
-				} else if (f->frametype == AST_FRAME_IMAGE && !ast_test_flag64(outgoing, OPT_RINGBACK|OPT_MUSICBACK)) {
-					if (ast_write(in, f))
-						ast_log(LOG_WARNING, "Unable to forward image\n");
-				} else if (f->frametype == AST_FRAME_TEXT && !ast_test_flag64(outgoing, OPT_RINGBACK|OPT_MUSICBACK)) {
-					if (ast_write(in, f))
-						ast_log(LOG_WARNING, "Unable to send text\n");
-				} else if (f->frametype == AST_FRAME_HTML && !ast_test_flag64(outgoing, DIAL_NOFORWARDHTML)) {
-					if (ast_channel_sendhtml(in, f->subclass, f->data, f->datalen) == -1)
-						ast_log(LOG_WARNING, "Unable to send URL\n");
+				switch (f->frametype) {
+					case AST_FRAME_VOICE:
+					case AST_FRAME_IMAGE:
+					case AST_FRAME_TEXT:
+						if (ast_write(in, f)) {
+							ast_log(LOG_WARNING, "Unable to write frame\n");
+						}
+						break;
+					case AST_FRAME_HTML:
+						if (!ast_test_flag64(outgoing, DIAL_NOFORWARDHTML) && ast_channel_sendhtml(in, f->subclass, f->data, f->datalen) == -1) {
+							ast_log(LOG_WARNING, "Unable to send URL\n");
+						}
+						break;
+					default:
+						break;
 				}
 			}
 			ast_frfree(f);
@@ -819,7 +826,8 @@
 			if (single && (f->frametype == AST_FRAME_CONTROL) &&
 				((f->subclass == AST_CONTROL_HOLD) ||
 				(f->subclass == AST_CONTROL_UNHOLD) ||
-				(f->subclass == AST_CONTROL_VIDUPDATE))) {
+				(f->subclass == AST_CONTROL_VIDUPDATE) ||
+				 (f->subclass == AST_CONTROL_SRCUPDATE))) {
 				ast_verb(3, "%s requested special control %d, passing it to %s\n", in->name, f->subclass, outgoing->chan->name);
 				ast_indicate_data(outgoing->chan, f->subclass, f->data, f->datalen);
 			}
@@ -829,23 +837,6 @@
 			ast_verb(3, "Nobody picked up in %d ms\n", orig);
 		if (!*to || ast_check_hangup(in))
 			ast_cdr_noanswer(in->cdr);
-	}
-	if (peer && !ast_cdr_log_unanswered()) {
-		/* suppress the CDR's that didn't win */
-		struct chanlist *o;
-		for (o = outgoing; o; o = o->next) {
-			struct ast_channel *c = o->chan;
-			if (c && c != peer && c->cdr)
-				ast_set_flag(c->cdr, AST_CDR_FLAG_POST_DISABLED);
-		}
-	} else if (!peer && !ast_cdr_log_unanswered()) {
-			/* suppress the CDR's that didn't win */
-		struct chanlist *o;
-		for (o = outgoing; o; o = o->next) {
-			struct ast_channel *c = o->chan;
-			if (c && c->cdr)
-				ast_set_flag(c->cdr, AST_CDR_FLAG_POST_DISABLED);
-		}
 	}
 
 #ifdef HAVE_EPOLL
@@ -1115,6 +1106,7 @@
 	char callerid[60];
 	int res;
 	char *l;
+	int silencethreshold;
 
 	if (!ast_strlen_zero(chan->cid.cid_num)) {
 		l = ast_strdupa(chan->cid.cid_num);
@@ -1188,8 +1180,9 @@
 			   "At the tone, please say your name:"
 
 			*/
+			silencethreshold = ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE);
 			ast_answer(chan);
-			res = ast_play_and_record(chan, "priv-recordintro", pa->privintro, 4, "gsm", &duration, 128, 2000, 0);  /* NOTE: I've reduced the total time to 4 sec */
+			res = ast_play_and_record(chan, "priv-recordintro", pa->privintro, 4, "gsm", &duration, silencethreshold, 2000, 0);  /* NOTE: I've reduced the total time to 4 sec */
 									/* don't think we'll need a lock removed, we took care of
 									   conflicts by naming the pa.privintro file */
 			if (res == -1) {
@@ -2088,9 +2081,7 @@
 	int res;
 	struct ast_context *con;
 
-	con = ast_context_find("app_dial_gosub_virtual_context");
-	if (!con)
-		con = ast_context_create(NULL, "app_dial_gosub_virtual_context", "app_dial");
+	con = ast_context_find_or_create(NULL, NULL, "app_dial_gosub_virtual_context", "app_dial");
 	if (!con)
 		ast_log(LOG_ERROR, "Dial virtual context 'app_dial_gosub_virtual_context' does not exist and unable to create\n");
 	else

Modified: team/jamesgolovich/chan_sip-ast_str/apps/app_dumpchan.c
URL: http://svn.digium.com/view/asterisk/team/jamesgolovich/chan_sip-ast_str/apps/app_dumpchan.c?view=diff&rev=108437&r1=108436&r2=108437
==============================================================================
--- team/jamesgolovich/chan_sip-ast_str/apps/app_dumpchan.c (original)
+++ team/jamesgolovich/chan_sip-ast_str/apps/app_dumpchan.c Thu Mar 13 14:26:42 2008
@@ -141,8 +141,8 @@
 
 	pbx_builtin_serialize_variables(chan, &vars);
 	serialize_showchan(chan, info, sizeof(info));
-	if (level > 0)
-		ast_verb(level, "\nDumping Info For Channel: %s:\n%s\nInfo:\n%s\nVariables:\n%s%s\n", chan->name, line, info, vars->str, line);
+	if (option_verbose >= level)
+		ast_verbose("\nDumping Info For Channel: %s:\n%s\nInfo:\n%s\nVariables:\n%s%s\n", chan->name, line, info, vars->str, line);
 
 	return 0;
 }

Modified: team/jamesgolovich/chan_sip-ast_str/apps/app_externalivr.c
URL: http://svn.digium.com/view/asterisk/team/jamesgolovich/chan_sip-ast_str/apps/app_externalivr.c?view=diff&rev=108437&r1=108436&r2=108437
==============================================================================
--- team/jamesgolovich/chan_sip-ast_str/apps/app_externalivr.c (original)
+++ team/jamesgolovich/chan_sip-ast_str/apps/app_externalivr.c Thu Mar 13 14:26:42 2008
@@ -45,6 +45,7 @@
 #include "asterisk/linkedlists.h"
 #include "asterisk/app.h"
 #include "asterisk/utils.h"
+#include "asterisk/tcptls.h"
 
 static const char *app = "ExternalIVR";
 
@@ -88,6 +89,8 @@
 static int eivr_comm(struct ast_channel *chan, struct ivr_localuser *u, 
               int eivr_events_fd, int eivr_commands_fd, int eivr_errors_fd, 
               const char *args);
+
+int eivr_connect_socket(struct ast_channel *chan, const char *host, int port);
 
 static void send_eivr_event(FILE *handle, const char event, const char *data,
 	const struct ast_channel *chan)
@@ -305,6 +308,12 @@
 	int gen_active = 0;
 	int pid;
 	char *buf, *pipe_delim_argbuf, *pdargbuf_ptr;
+
+	char hostname[1024];
+	char *port_str = NULL;
+	int port = 0;
+	struct ast_tcptls_session_instance *ser;
+
 	struct ivr_localuser foo = {
 		.playlist = AST_LIST_HEAD_INIT_VALUE,
 		.finishlist = AST_LIST_HEAD_INIT_VALUE,
@@ -333,90 +342,137 @@
 	pipe_delim_argbuf = ast_strdupa(data);
 	while((pdargbuf_ptr = strchr(pipe_delim_argbuf, ',')) != NULL)
 		pdargbuf_ptr[0] = '|';
+
+	if(!strncmp(args.cmd[0], "ivr://", 6)) {
+		struct server_args ivr_desc = {
+			.accept_fd = -1,
+			.name = "IVR",
+		};
+		struct ast_hostent hp;
+
+		/*communicate through socket to server*/
+		if (chan->_state != AST_STATE_UP) {
+			ast_answer(chan);
+		}
+		if (ast_activate_generator(chan, &gen, u) < 0) {
+			ast_chan_log(LOG_WARNING, chan, "Failed to activate generator\n");
+			goto exit;
+		} else {
+			gen_active = 1;
+		}
+
+		ast_chan_log(LOG_DEBUG, chan, "Parsing hostname:port for socket connect from \"%s\"\n", args.cmd[0]);           
+		strncpy(hostname, args.cmd[0] + 6, sizeof(hostname));
+		if((port_str = strchr(hostname, ':')) != NULL) {
+			port_str[0] = 0;
+			port_str += 1;
+			port = atoi(port_str);
+		}
+		if(!port)
+			port = 2949;  /*default port, if one is not provided*/
+
+		ast_gethostbyname(hostname, &hp);
+		ivr_desc.sin.sin_family = AF_INET;
+		ivr_desc.sin.sin_port = htons(port);
+		memmove(&ivr_desc.sin.sin_addr.s_addr, hp.hp.h_addr, hp.hp.h_length);
+		ser = ast_tcptls_client_start(&ivr_desc);
+
+		if (!ser) {
+			goto exit;
+		} 
+		res = eivr_comm(chan, u, ser->fd, ser->fd, 0, pipe_delim_argbuf);
+	} else {
 	
-	if (pipe(child_stdin)) {
-		ast_chan_log(LOG_WARNING, chan, "Could not create pipe for child input: %s\n", strerror(errno));
-		goto exit;
-	}
-	if (pipe(child_stdout)) {
-		ast_chan_log(LOG_WARNING, chan, "Could not create pipe for child output: %s\n", strerror(errno));
-		goto exit;
-	}
-	if (pipe(child_stderr)) {
-		ast_chan_log(LOG_WARNING, chan, "Could not create pipe for child errors: %s\n", strerror(errno));
-		goto exit;
-	}
-	if (chan->_state != AST_STATE_UP) {
-		ast_answer(chan);
-	}
-	if (ast_activate_generator(chan, &gen, u) < 0) {
-		ast_chan_log(LOG_WARNING, chan, "Failed to activate generator\n");
-		goto exit;
-	} else
-		gen_active = 1;
-
-	pid = fork();
-	if (pid < 0) {
-		ast_log(LOG_WARNING, "Failed to fork(): %s\n", strerror(errno));
-		goto exit;
-	}
-
-	if (!pid) {
-		/* child process */
-		int i;
-
-		signal(SIGPIPE, SIG_DFL);
-		pthread_sigmask(SIG_UNBLOCK, &fullset, NULL);
-
-		if (ast_opt_high_priority)
-			ast_set_priority(0);
-
-		dup2(child_stdin[0], STDIN_FILENO);
-		dup2(child_stdout[1], STDOUT_FILENO);
-		dup2(child_stderr[1], STDERR_FILENO);
-		for (i = STDERR_FILENO + 1; i < 1024; i++)
-			close(i);
-		execv(args.cmd[0], args.cmd);
-		fprintf(stderr, "Failed to execute '%s': %s\n", args.cmd[0], strerror(errno));
-		_exit(1);
-	} else {
-		/* parent process */
-
+		if (pipe(child_stdin)) {
+			ast_chan_log(LOG_WARNING, chan, "Could not create pipe for child input: %s\n", strerror(errno));
+			goto exit;
+		}
+		if (pipe(child_stdout)) {
+			ast_chan_log(LOG_WARNING, chan, "Could not create pipe for child output: %s\n", strerror(errno));
+			goto exit;
+		}
+		if (pipe(child_stderr)) {
+			ast_chan_log(LOG_WARNING, chan, "Could not create pipe for child errors: %s\n", strerror(errno));
+			goto exit;
+		}
+		if (chan->_state != AST_STATE_UP) {
+			ast_answer(chan);
+		}
+		if (ast_activate_generator(chan, &gen, u) < 0) {
+			ast_chan_log(LOG_WARNING, chan, "Failed to activate generator\n");
+			goto exit;
+		} else {
+			gen_active = 1;
+		}
+	
+		pid = fork();
+		if (pid < 0) {
+			ast_log(LOG_WARNING, "Failed to fork(): %s\n", strerror(errno));
+			goto exit;
+		}
+	
+		if (!pid) {
+			/* child process */
+			int i;
+	
+			signal(SIGPIPE, SIG_DFL);
+			pthread_sigmask(SIG_UNBLOCK, &fullset, NULL);
+	
+			if (ast_opt_high_priority)
+				ast_set_priority(0);
+	
+			dup2(child_stdin[0], STDIN_FILENO);
+			dup2(child_stdout[1], STDOUT_FILENO);
+			dup2(child_stderr[1], STDERR_FILENO);
+			for (i = STDERR_FILENO + 1; i < 1024; i++)
+				close(i);
+			execv(args.cmd[0], args.cmd);
+			fprintf(stderr, "Failed to execute '%s': %s\n", args.cmd[0], strerror(errno));
+			_exit(1);
+		} else {
+			/* parent process */
+	
+			close(child_stdin[0]);
+			child_stdin[0] = 0;
+			close(child_stdout[1]);
+			child_stdout[1] = 0;
+			close(child_stderr[1]);
+			child_stderr[1] = 0;
+			res = eivr_comm(chan, u, child_stdin[1], child_stdout[0], child_stderr[0], pipe_delim_argbuf);
+		}
+	}
+
+	exit:
+	if (gen_active)
+		ast_deactivate_generator(chan);
+
+	if (child_stdin[0])
 		close(child_stdin[0]);
-		child_stdin[0] = 0;
+
+	if (child_stdin[1])
+		close(child_stdin[1]);
+
+	if (child_stdout[0])
+		close(child_stdout[0]);
+
+	if (child_stdout[1])
 		close(child_stdout[1]);
-		child_stdout[1] = 0;
+
+	if (child_stderr[0])
+		close(child_stderr[0]);
+
+	if (child_stderr[1])
 		close(child_stderr[1]);
-		child_stderr[1] = 0;
-		res = eivr_comm(chan, u, child_stdin[1], child_stdout[0], child_stderr[0], pipe_delim_argbuf);
-
-		exit:
-		if (gen_active)
-			ast_deactivate_generator(chan);
-
-		if (child_stdin[0])
-			close(child_stdin[0]);
-
-		if (child_stdin[1])
-			close(child_stdin[1]);
-
-		if (child_stdout[0])
-			close(child_stdout[0]);
-
-		if (child_stdout[1])
-			close(child_stdout[1]);
-
-		if (child_stderr[0])
-			close(child_stderr[0]);
-
-		if (child_stderr[1])
-			close(child_stderr[1]);
-
-		while ((entry = AST_LIST_REMOVE_HEAD(&u->playlist, list)))
-			ast_free(entry);
-
-		return res;
-	}
+
+	if (ser) {
+		fclose(ser->f);
+		ast_tcptls_session_instance_destroy(ser);
+	}
+
+	while ((entry = AST_LIST_REMOVE_HEAD(&u->playlist, list)))
+		ast_free(entry);
+
+	return res;
 }
 
 static int eivr_comm(struct ast_channel *chan, struct ivr_localuser *u, 
@@ -436,21 +492,21 @@
  	FILE *eivr_commands = NULL;
  	FILE *eivr_errors = NULL;
  	FILE *eivr_events = NULL;
- 
- 	if (!(eivr_events = fdopen(eivr_events_fd, "w"))) {
- 		ast_chan_log(LOG_WARNING, chan, "Could not open stream to send events\n");
- 		goto exit;
- 	}
- 	if (!(eivr_commands = fdopen(eivr_commands_fd, "r"))) {
- 		ast_chan_log(LOG_WARNING, chan, "Could not open stream to receive commands\n");
- 		goto exit;
- 	}
- 	if(eivr_errors_fd) {  /*if opening a socket connection, error stream will not be used*/
+
+	if (!(eivr_events = fdopen(eivr_events_fd, "w"))) {
+		ast_chan_log(LOG_WARNING, chan, "Could not open stream to send events\n");
+		goto exit;
+	}
+	if (!(eivr_commands = fdopen(eivr_commands_fd, "r"))) {
+		ast_chan_log(LOG_WARNING, chan, "Could not open stream to receive commands\n");
+		goto exit;
+	}
+	if(eivr_errors_fd) {  /* if opening a socket connection, error stream will not be used */
  		if (!(eivr_errors = fdopen(eivr_errors_fd, "r"))) {
  			ast_chan_log(LOG_WARNING, chan, "Could not open stream to receive errors\n");
  			goto exit;
  		}
- 	}
+	}
  
  	setvbuf(eivr_events, NULL, _IONBF, 0);
  	setvbuf(eivr_commands, NULL, _IONBF, 0);
@@ -633,18 +689,18 @@
  
 exit:
  
- 	if (eivr_events)
+	if (eivr_events)
  		fclose(eivr_events);
  
- 	if (eivr_commands)
+	if (eivr_commands)
 		fclose(eivr_commands);
 
- 	if (eivr_errors)
- 		fclose(eivr_errors);
+	if (eivr_errors)
+		fclose(eivr_errors);
   
   	return res;
  
-  }
+}
 
 static int unload_module(void)
 {

Modified: team/jamesgolovich/chan_sip-ast_str/apps/app_followme.c
URL: http://svn.digium.com/view/asterisk/team/jamesgolovich/chan_sip-ast_str/apps/app_followme.c?view=diff&rev=108437&r1=108436&r2=108437
==============================================================================
--- team/jamesgolovich/chan_sip-ast_str/apps/app_followme.c (original)
+++ team/jamesgolovich/chan_sip-ast_str/apps/app_followme.c Thu Mar 13 14:26:42 2008
@@ -55,6 +55,7 @@
 #include "asterisk/utils.h"
 #include "asterisk/causes.h"
 #include "asterisk/astdb.h"
+#include "asterisk/dsp.h"
 #include "asterisk/app.h"
 
 static char *app = "FollowMe";
@@ -130,7 +131,7 @@
 	int ynidx; 
 	long digts;
 	int cleared;
-	AST_LIST_ENTRY(findme_user) entry;	
+	AST_LIST_ENTRY(findme_user) entry;
 };
 
 enum {
@@ -183,7 +184,6 @@
 		/* Free the whitelisted number */
 		ast_free(prev);
 	AST_LIST_HEAD_INIT_NOLOCK(&f->wlnumbers);
-	
 }
 
 
@@ -258,7 +258,6 @@
 {
 	struct number *cur;
 	char *tmp;
-	
 
 	if (!(cur = ast_calloc(1, sizeof(*cur))))
 		return NULL;
@@ -284,7 +283,7 @@
 	char numberstr[90];
 	int timeout;
 	char *timeoutstr;
-	int numorder;	
+	int numorder;
 	const char *takecallstr;
 	const char *declinecallstr;
 	const char *tmpstr;
@@ -307,7 +306,7 @@
 	}
 
 	featuredigittostr = ast_variable_retrieve(cfg, "general", "featuredigittimeout");
-	
+
 	if (!ast_strlen_zero(featuredigittostr)) {
 		if (!sscanf(featuredigittostr, "%d", &featuredigittimeout))
 			featuredigittimeout = 5000;
@@ -316,7 +315,7 @@
 	takecallstr = ast_variable_retrieve(cfg, "general", "takecall");
 	if (!ast_strlen_zero(takecallstr))
 		ast_copy_string(takecall, takecallstr, sizeof(takecall));
-	
+
 	declinecallstr = ast_variable_retrieve(cfg, "general", "declinecall");
 	if (!ast_strlen_zero(declinecallstr))
 		ast_copy_string(nextindp, declinecallstr, sizeof(nextindp));
@@ -369,7 +368,7 @@
 		/* Totally fail if we fail to find/create an entry */
 		if (!f)
 			continue;
-		
+
 		if (!new)
 			ast_mutex_lock(&f->lock);
 		/* Re-initialize the profile */
@@ -399,8 +398,8 @@
 					timeout = 25;
 					numorder = 0;
 				}
-				
-				if (!numorder) {	
+
+				if (!numorder) {
 					idx = 1;
 					AST_LIST_TRAVERSE(&f->numbers, nm, entry) 
 						idx++;
@@ -414,7 +413,7 @@
 			}
 			var = var->next;
 		} /* End while(var) loop */
-		
+
 		if (!new) 
 			ast_mutex_unlock(&f->lock);
 		else
@@ -431,7 +430,7 @@
 static void clear_caller(struct findme_user *tmpuser)
 {
 	struct ast_channel *outbound;
-	
+
 	if (tmpuser && tmpuser->ochan && tmpuser->state >= 0) {
 		outbound = tmpuser->ochan;
 		if (!outbound->cdr) {
@@ -460,12 +459,11 @@
 static void clear_calling_tree(struct findme_user_listptr *findme_user_list) 
 {
 	struct findme_user *tmpuser;
-	
+
 	AST_LIST_TRAVERSE(findme_user_list, tmpuser, entry) {
 		clear_caller(tmpuser);
 		tmpuser->cleared = 1;
 	}
-	
 }
 
 
@@ -489,29 +487,29 @@
 	/* ------------ wait_for_winner_channel start --------------- */ 
 
 	callfromname = ast_strdupa(tpargs->callfromprompt);
-	pressbuttonname = ast_strdupa(tpargs->optionsprompt);	
+	pressbuttonname = ast_strdupa(tpargs->optionsprompt);
 
 	if (AST_LIST_EMPTY(findme_user_list)) {
 		ast_verb(3, "couldn't reach at this number.\n");
 		return NULL;
 	}
-	
+
 	if (!caller) {
 		ast_verb(3, "Original caller hungup. Cleanup.\n");
 		clear_calling_tree(findme_user_list);
 		return NULL;
 	}
-	
+
 	totalwait = nm->timeout * 1000;
-	
+
 	while (!ctstatus) {
 		to = 1000;
 		pos = 1; 
 		livechannels = 0;
 		watchers[0] = caller;
-		
-		dg = 0;	
-		winner = NULL;	
+
+		dg = 0;
+		winner = NULL;
 		AST_LIST_TRAVERSE(findme_user_list, tmpuser, entry) {
 			if (tmpuser->state >= 0 && tmpuser->ochan) {
 				if (tmpuser->state == 3) 
@@ -526,7 +524,7 @@
 						} else {
 							ast_log(LOG_WARNING, "Unable to playback %s.\n", callfromname);
 							return NULL;
-						}							
+						}
 					} else {
 						tmpuser->state = 2;
 						tmpuser->digts = 0;
@@ -566,7 +564,6 @@
 							tmpuser->ynidx = 0;
 							if (!ast_streamfile(tmpuser->ochan, pressbuttonname, tmpuser->ochan->language)) {
 								tmpuser->state = 3;
-								
 							} else {
 								return NULL;
 							} 
@@ -580,7 +577,7 @@
 				livechannels++;
 			}
 		}
-		
+
 		tmpto = to;
 		if (to < 0) {
 			to = 1000;
@@ -590,7 +587,7 @@
 		winner = ast_waitfor_n(watchers, pos, &to);
 		tmpto -= to;
 		totalwait -= tmpto;
-		wtd = to;	
+		wtd = to;
 		if (totalwait <= 0) {
 			ast_verb(3, "We've hit our timeout for this step. Drop everyone and move on to the next one. %ld\n", totalwait);
 			clear_calling_tree(findme_user_list);
@@ -631,8 +628,8 @@
 									ast_log(LOG_WARNING, "Unable to playback %s.\n", callfromname);
 									ast_frfree(f);
 									return NULL;
-								}				
-							} else {			
+								}
+							} else {
 								tmpuser->state = 2;
 								if (!ast_streamfile(tmpuser->ochan, tpargs->norecordingprompt, tmpuser->ochan->language))
 									ast_sched_runq(tmpuser->ochan->sched);
@@ -658,6 +655,9 @@
 						break;
 					case AST_CONTROL_VIDUPDATE:
 						ast_verb(3, "%s requested a video update, passing it to %s\n", winner->name, caller->name);
+						break;
+					case AST_CONTROL_SRCUPDATE:
+						ast_verb(3, "%s requested a source update, passing it to %s\n", winner->name, caller->name);
 						break;
 					case AST_CONTROL_PROCEEDING:
 						ast_verb(3, "%s is proceeding passing it to %s\n", winner->name,caller->name);
@@ -693,18 +693,18 @@
 						if (!strcmp(tmpuser->yn, tpargs->takecall)) {
 							ast_debug(1, "Match to take the call!\n");
 							ast_frfree(f);
-							return tmpuser->ochan;	
+							return tmpuser->ochan;
 						}
 						if (!strcmp(tmpuser->yn, tpargs->nextindp)) {
 							ast_debug(1, "Next in dial plan step requested.\n");
 							*status = 1;
 							ast_frfree(f);
 							return NULL;
-						}	
-						
+						}
+
 					}
 				}
-				
+
 				ast_frfree(f);
 			} else {
 				if (winner) {
@@ -723,12 +723,12 @@
 						}
 					}
 				}
-			}					
-			
+			}
+
 		} else
 			ast_debug(1, "timed out waiting for action\n");
 	}
-	
+
 	/* --- WAIT FOR WINNER NUMBER END! -----------*/
 	return NULL;
 }
@@ -748,7 +748,7 @@
 	struct findme_user_listptr *findme_user_list;
 	int status;
 
-	findme_user_list = ast_calloc(1, sizeof(*findme_user_list));		
+	findme_user_list = ast_calloc(1, sizeof(*findme_user_list));
 	AST_LIST_HEAD_INIT_NOLOCK(findme_user_list);
 
 	/* We're going to figure out what the longest possible string of digits to collect is */
@@ -782,14 +782,14 @@
 				sprintf(dialarg, "%s", number);
 			else
 				sprintf(dialarg, "%s@%s", number, tpargs->context);
-					
+
 			tmpuser = ast_calloc(1, sizeof(*tmpuser));
 			if (!tmpuser) {
 				ast_log(LOG_WARNING, "Out of memory!\n");
 				ast_free(findme_user_list);
 				return;
 			}
-					
+
 			outbound = ast_request("Local", ast_best_codec(caller->nativeformats), dialarg, &dg);
 			if (outbound) {
 				ast_set_callerid(outbound, caller->cid.cid_num, caller->cid.cid_name, caller->cid.cid_num);
@@ -824,19 +824,17 @@
 							outbound = NULL;
 						}
 					}
-						
 				}
 			} else 
 				ast_log(LOG_WARNING, "Unable to allocate a channel for Local/%s cause: %s\n", dialarg, ast_cause2str(dg));
-					
+
 			number = rest;
 		} while (number);
-				
-		status = 0;	
+
+		status = 0;
 		if (!AST_LIST_EMPTY(findme_user_list))
 			winner = wait_for_winner(findme_user_list, nm, caller, tpargs->namerecloc, &status, tpargs);
-		
-					
+
 		while ((fmuser = AST_LIST_REMOVE_HEAD(findme_user_list, entry))) {
 			if (!fmuser->cleared && fmuser->ochan != winner)
 				clear_caller(fmuser);
@@ -845,21 +843,21 @@
 

[... 13969 lines stripped ...]



More information about the asterisk-commits mailing list