[svn-commits] branch group/new_loader_completion r31159 - in /team/group/new_loader_complet...

svn-commits at lists.digium.com svn-commits at lists.digium.com
Wed May 31 14:36:33 MST 2006


Author: kpfleming
Date: Wed May 31 16:36:32 2006
New Revision: 31159

URL: http://svn.digium.com/view/asterisk?rev=31159&view=rev
Log:
update to trunk
make new modules compatible with new loader

Added:
    team/group/new_loader_completion/abstract_jb.c
      - copied unchanged from r31129, trunk/abstract_jb.c
    team/group/new_loader_completion/channels/chan_jingle.c
      - copied, changed from r31129, trunk/channels/chan_jingle.c
    team/group/new_loader_completion/configs/jabber.conf.sample
      - copied unchanged from r31129, trunk/configs/jabber.conf.sample
    team/group/new_loader_completion/configs/jingle.conf.sample
      - copied unchanged from r31129, trunk/configs/jingle.conf.sample
    team/group/new_loader_completion/doc/callfiles.txt
      - copied unchanged from r31129, trunk/doc/callfiles.txt
    team/group/new_loader_completion/doc/jabber.txt
      - copied unchanged from r31129, trunk/doc/jabber.txt
    team/group/new_loader_completion/doc/jingle.txt
      - copied unchanged from r31129, trunk/doc/jingle.txt
    team/group/new_loader_completion/funcs/func_global.c
      - copied, changed from r31129, trunk/funcs/func_global.c
    team/group/new_loader_completion/include/asterisk/abstract_jb.h
      - copied unchanged from r31129, trunk/include/asterisk/abstract_jb.h
    team/group/new_loader_completion/include/asterisk/jabber.h
      - copied unchanged from r31129, trunk/include/asterisk/jabber.h
    team/group/new_loader_completion/include/asterisk/jingle.h
      - copied unchanged from r31129, trunk/include/asterisk/jingle.h
    team/group/new_loader_completion/res/res_jabber.c
      - copied, changed from r31129, trunk/res/res_jabber.c
    team/group/new_loader_completion/scx_jitterbuf.c
      - copied unchanged from r31129, trunk/scx_jitterbuf.c
    team/group/new_loader_completion/scx_jitterbuf.h
      - copied unchanged from r31129, trunk/scx_jitterbuf.h
Modified:
    team/group/new_loader_completion/   (props changed)
    team/group/new_loader_completion/.cleancount
    team/group/new_loader_completion/CREDITS
    team/group/new_loader_completion/Makefile
    team/group/new_loader_completion/UPGRADE.txt
    team/group/new_loader_completion/apps/app_alarmreceiver.c
    team/group/new_loader_completion/apps/app_db.c
    team/group/new_loader_completion/apps/app_dial.c
    team/group/new_loader_completion/apps/app_directory.c
    team/group/new_loader_completion/apps/app_disa.c
    team/group/new_loader_completion/apps/app_echo.c
    team/group/new_loader_completion/apps/app_lookupblacklist.c
    team/group/new_loader_completion/apps/app_lookupcidname.c
    team/group/new_loader_completion/apps/app_meetme.c
    team/group/new_loader_completion/apps/app_playback.c
    team/group/new_loader_completion/apps/app_queue.c
    team/group/new_loader_completion/apps/app_rpt.c
    team/group/new_loader_completion/apps/app_setcallerid.c
    team/group/new_loader_completion/apps/app_setcdruserfield.c
    team/group/new_loader_completion/apps/app_settransfercapability.c
    team/group/new_loader_completion/apps/app_speech_utils.c
    team/group/new_loader_completion/apps/app_stack.c
    team/group/new_loader_completion/apps/app_waitforsilence.c
    team/group/new_loader_completion/asterisk.8
    team/group/new_loader_completion/asterisk.c
    team/group/new_loader_completion/build_tools/menuselect-deps.in
    team/group/new_loader_completion/cdr/cdr_radius.c
    team/group/new_loader_completion/channel.c
    team/group/new_loader_completion/channels/Makefile
    team/group/new_loader_completion/channels/chan_alsa.c
    team/group/new_loader_completion/channels/chan_h323.c
    team/group/new_loader_completion/channels/chan_iax2.c
    team/group/new_loader_completion/channels/chan_mgcp.c
    team/group/new_loader_completion/channels/chan_misdn.c
    team/group/new_loader_completion/channels/chan_oss.c
    team/group/new_loader_completion/channels/chan_sip.c
    team/group/new_loader_completion/channels/chan_skinny.c
    team/group/new_loader_completion/channels/chan_zap.c
    team/group/new_loader_completion/channels/misdn/chan_misdn_config.h
    team/group/new_loader_completion/channels/misdn/isdn_lib.c
    team/group/new_loader_completion/channels/misdn/isdn_lib.h
    team/group/new_loader_completion/channels/misdn/isdn_msg_parser.c
    team/group/new_loader_completion/channels/misdn_config.c
    team/group/new_loader_completion/cli.c
    team/group/new_loader_completion/codecs/codec_a_mu.c
    team/group/new_loader_completion/codecs/codec_ulaw.c
    team/group/new_loader_completion/codecs/gsm/Makefile
    team/group/new_loader_completion/configs/alsa.conf.sample
    team/group/new_loader_completion/configs/extensions.conf.sample
    team/group/new_loader_completion/configs/features.conf.sample
    team/group/new_loader_completion/configs/misdn.conf.sample
    team/group/new_loader_completion/configs/oss.conf.sample
    team/group/new_loader_completion/configs/sip.conf.sample
    team/group/new_loader_completion/configs/voicemail.conf.sample
    team/group/new_loader_completion/configs/zapata.conf.sample
    team/group/new_loader_completion/configure
    team/group/new_loader_completion/configure.ac
    team/group/new_loader_completion/doc/asterisk-conf.txt
    team/group/new_loader_completion/doc/channelvariables.txt
    team/group/new_loader_completion/doc/speechrec.txt
    team/group/new_loader_completion/frame.c
    team/group/new_loader_completion/funcs/func_channel.c
    team/group/new_loader_completion/funcs/func_db.c
    team/group/new_loader_completion/funcs/func_odbc.c
    team/group/new_loader_completion/include/asterisk/app.h
    team/group/new_loader_completion/include/asterisk/channel.h
    team/group/new_loader_completion/include/asterisk/devicestate.h
    team/group/new_loader_completion/include/asterisk/frame.h
    team/group/new_loader_completion/include/asterisk/linkedlists.h
    team/group/new_loader_completion/include/asterisk/lock.h
    team/group/new_loader_completion/include/asterisk/logger.h
    team/group/new_loader_completion/include/asterisk/options.h
    team/group/new_loader_completion/include/autoconfig.h.in
    team/group/new_loader_completion/logger.c
    team/group/new_loader_completion/makeopts.in
    team/group/new_loader_completion/pbx.c
    team/group/new_loader_completion/pbx/Makefile
    team/group/new_loader_completion/pbx/pbx_spool.c
    team/group/new_loader_completion/res/Makefile
    team/group/new_loader_completion/res/res_agi.c
    team/group/new_loader_completion/res/res_features.c
    team/group/new_loader_completion/rtp.c
    team/group/new_loader_completion/sample.call
    team/group/new_loader_completion/sounds.txt
    team/group/new_loader_completion/translate.c
    team/group/new_loader_completion/utils/Makefile

Propchange: team/group/new_loader_completion/
------------------------------------------------------------------------------
    automerge = yes

Propchange: team/group/new_loader_completion/
------------------------------------------------------------------------------
Binary property 'branch-1.2-blocked' - no diff available.

Propchange: team/group/new_loader_completion/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.

Propchange: team/group/new_loader_completion/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed May 31 16:36:32 2006
@@ -1,1 +1,1 @@
-/trunk:1-29520
+/trunk:1-31157

Modified: team/group/new_loader_completion/.cleancount
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/.cleancount?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/.cleancount (original)
+++ team/group/new_loader_completion/.cleancount Wed May 31 16:36:32 2006
@@ -1,1 +1,1 @@
-17
+18

Modified: team/group/new_loader_completion/CREDITS
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/CREDITS?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/CREDITS (original)
+++ team/group/new_loader_completion/CREDITS Wed May 31 16:36:32 2006
@@ -79,6 +79,8 @@
 Steve Murphy - privacy support, $[ ] parser upgrade, AEL2 parser upgrade
 Claude Patry - bug fixes, feature enhancements, and bug marshalling
 	cpatry at gmail.com
+Miroslav Nachev, miro at space-comm.com COSMOS Software Enterprises, Ltd.
+	- for Variable for No Answer Timeout for Attended Transfer
 
 === OTHER CONTRIBUTIONS ===
 John Todd - Monkey sounds and associated teletorture prompt

Modified: team/group/new_loader_completion/Makefile
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/Makefile?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/Makefile (original)
+++ team/group/new_loader_completion/Makefile Wed May 31 16:36:32 2006
@@ -95,14 +95,18 @@
 else
   ASTETCDIR=$(sysconfdir)/asterisk
   ASTLIBDIR=$(libdir)/asterisk
-  ASTVARLIBDIR=$(localstatedir)/lib/asterisk
-  ASTSPOOLDIR=$(localstatedir)/spool/asterisk
-  ASTLOGDIR=$(localstatedir)/log/asterisk
   ASTHEADERDIR=$(includedir)/asterisk
   ASTBINDIR=$(bindir)
   ASTSBINDIR=$(sbindir)
+  ASTSPOOLDIR=$(localstatedir)/spool/asterisk
+  ASTLOGDIR=$(localstatedir)/log/asterisk
   ASTVARRUNDIR=$(localstatedir)/run
   ASTMANDIR=$(mandir)
+ifeq ($(OSARCH),FreeBSD)
+  ASTVARLIBDIR=$(prefix)/share/asterisk
+else
+  ASTVARLIBDIR=$(localstatedir)/lib/asterisk
+endif
 endif
 ASTDATADIR?=$(ASTVARLIBDIR)
 
@@ -278,7 +282,7 @@
 	astmm.o enum.o srv.o dns.o aescrypt.o aestab.o aeskey.o \
 	utils.o plc.o jitterbuf.o dnsmgr.o devicestate.o \
 	netsock.o slinfactory.o ast_expr2.o ast_expr2f.o \
-	cryptostub.o sha1.o http.o
+	cryptostub.o sha1.o http.o scx_jitterbuf.o abstract_jb.o
 
 # we need to link in the objects statically, not as a library, because
 # otherwise modules will not have them available if none of the static

Modified: team/group/new_loader_completion/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/UPGRADE.txt?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/UPGRADE.txt (original)
+++ team/group/new_loader_completion/UPGRADE.txt Wed May 31 16:36:32 2006
@@ -14,30 +14,46 @@
 be present, etc.
 
 You must run the configure script before Asterisk will build, although it will
-attempt to automatically run it for you with no options specified; for most users,
-that will result in a similar build to what they would have had before the
-configure script was added to the build process (except for having to run 'make'
-again after the configure script is run). Note that the configure script does NOT
-need to be re-run just to rebuild Asterisk; you only need to re-run it when your
-system configuration changes or you wish to build Asterisk with different options.
+attempt to automatically run it for you with no options specified; for most
+users, that will result in a similar build to what they would have had before
+the configure script was added to the build process (except for having to run
+'make' again after the configure script is run). Note that the configure script
+does NOT need to be re-run just to rebuild Asterisk; you only need to re-run it
+when your system configuration changes or you wish to build Asterisk with 
+different options.
 
 Build Process (module selection):
 
 The Asterisk source tree now includes a basic module selection and build option
 selection tool called 'menuselect'. Run 'make menuselect' to make your choices.
 In this tool, you can disable building of modules that you don't care about,
-turn on/off global options for the build and see which modules will not (and cannot)
-be built because your system does not have the required external dependencies
-installed.
-
-(TODO: document where 'global' and 'per-user' menuselect input files should go
-and what they need to contain)
+turn on/off global options for the build and see which modules will not 
+(and cannot) be built because your system does not have the required external
+dependencies installed.
+
+The resulting file from menuselect is called 'menuselect.makeopts'. Note that
+the resulting menuselect.makeopts file generally contains which modules *not*
+to build. The modules listed in this file indicate which modules have unmet
+dependencies, a present conflict, or have been disabled by the user in the
+menuselect interface. Compiler Flags can also be set in the menuselect
+interface.  In this case, the resulting file contains which CFLAGS are in use,
+not which ones are not in use.
+
+If you would like to save your choices and have them applied against all
+builds, the file can be copied to '~/.asterisk.makeopts' or 
+'/etc/asterisk.makeopts'.
 
 PBX Core:
 
 * The (very old and undocumented) ability to use BYEXTENSION for dialing
   instead of ${EXTEN} has been removed.
-
+  
+* Builtin (res_features) transfer functionality attempts to use the context
+  defined in TRANSFER_CONTEXT variable of the transferer channel first. If
+  not set, it uses the transferee variable. If not set in any channel, it will 
+  attempt to use the last non macro context. If not possible, it will default
+  to the current context.
+ 
 Command Line Interface:
 
 * 'show channels concise', designed to be used by applications that will parse
@@ -58,6 +74,12 @@
   and GetGroupMatchCount were all deprecated in version 1.2, and therefore have
   been removed in this version.  You should use the equivalent dialplan
   function in places where you have previously used one of these applications.
+
+* The application SetGlobalVar has been deprecated.  You should replace uses
+  of this application with the following combination of Set and GLOBAL():
+  Set(GLOBAL(name)=value).  You may also access global variables exclusively by
+  using the GLOBAL() dialplan function, instead of relying on variable
+  interpolation falling back to globals when no channel variable is set.
 
 * The application SetVar has been renamed to Set.  The syntax SetVar was marked
   deprecated in version 1.2 and is no longer recognized in this version.
@@ -97,6 +119,17 @@
   record conversations queue members are having with queue callers. Please
   see configs/queues.conf.sample for more information on this option.
 
+* The app_queue application strategy called 'roundrobin' has been deprecated
+  for this release. Users are encouraged to use 'rrmemory' instead, since it
+  provides more 'true' round-robin call delivery. For the Asterisk 1.6 release,
+  'rrmemory' will be renamed 'roundrobin'.
+
+* app_meetme: The 'm' option (monitor) is renamed to 'l' (listen only), and
+  the 'm' option now provides the functionality of "initially muted". 
+  In practice, most existing dialplans using the 'm' flag should not notice
+  any difference, unless the keypad menu is enabled, allowing the user 
+  to unmute themsleves.
+
 * ast_play_and_record would attempt to cancel the recording if a DTMF
   '0' was received.  This behavior was not documented in most of the
   applications that used ast_play_and_record and the return codes from
@@ -113,6 +146,24 @@
   This addresses the deficiency of not being able to count the number of
   messages in folders other than INBOX and Old.
 
+* The exit behavior of the AGI applications has changed. Previously, when
+  a connection to an AGI server failed, the application would cause the channel
+  to immediately stop dialplan execution and hangup. Now, the only time that
+  the AGI applications will cause the channel to stop dialplan execution is
+  when the channel itself requests hangup. The AGI applications now set an
+  AGISTATUS variable which will allow you to find out whether running the AGI
+  was successful or not.
+
+  Previously, there was no way to handle the case where Asterisk was unable to
+  locally execute an AGI script for some reason. In this case, dialplan
+  execution will continue as it did before, but the AGISTATUS variable will be
+  set to "FAILURE".
+
+  A locally executed AGI script can now exit with a non-zero exit code and this
+  failure will be detected by Asterisk. If an AGI script exits with a non-zero
+  exit code, the AGISTATUS variable will be set to "FAILURE" as opposed to
+  "SUCCESS".
+
 Manager:
 
 * After executing the 'status' manager action, the "Status" manager events
@@ -132,6 +183,12 @@
   headers are not automatically sent, unless you specify them as separate
   arguments.  Please see the application help for the new syntax.
 
+* app_meetme: Mute and Unmute events are now reported via the Manager API.
+  Native Manager API commands MeetMeMute and MeetMeUnmute are provided, which
+  are easier to use than "Action Command:". The MeetMeStopTalking event has
+  also been deprecated in favor of the already existing MeetmeTalking event
+  with a "Status" of "on" or "off" added.
+
 Variables:
 
 * The builtin variables ${CALLERID}, ${CALLERIDNAME}, ${CALLERIDNUM},
@@ -146,6 +203,9 @@
 * OSP applications exports several new variables, ${OSPINHANDLE},
   ${OSPOUTHANDLE}, ${OSPINTOKEN}, ${OSPOUTTOKEN}, ${OSPCALLING},
   ${OSPINTIMELIMIT}, and ${OSPOUTTIMELIMIT}
+  
+* Builtin transfer functionality sets the variable ${TRANSFERERNAME} in the new
+  created channel. This variables holds the channel name of the transferer.
 
 Functions:
 
@@ -157,13 +217,17 @@
   modules.conf file then you will need to explicitly load the modules that
   contain the functions you want to use.
 
-* The ENUMLOOKUP() function with the 'c' option (for counting the number of records),
-  but the lookup fails to match any records, the returned value will now be "0" instead of blank.
+* The ENUMLOOKUP() function with the 'c' option (for counting the number of 
+  records), but the lookup fails to match any records, the returned value will 
+  now be "0" instead of blank.
 
 * The REALTIME() function is now available in version 1.4 and app_realtime has
   been deprecated in favor of the new function. app_realtime will be removed
   completely with the version 1.6 release so please take the time between
   releases to make any necessary changes
+
+* The QUEUEAGENTCOUNT() function has been deprecated in favor of
+  QUEUE_MEMBER_COUNT().
 
 The IAX2 channel:
 
@@ -176,7 +240,8 @@
 
 The SIP channel:
 
-* The "incominglimit" setting is replaced by the "call-limit" setting in sip.conf.
+* The "incominglimit" setting is replaced by the "call-limit" setting in 
+  sip.conf.
 
 * OSP support code is removed from SIP channel to OSP applications. ospauth 
   option in sip.conf is removed to osp.conf as authpolicy. allowguest option
@@ -184,13 +249,17 @@
 
 The Zap channel:
 
-* Support for MFC/R2 has been removed, as it has not been functional for some time
-  and it has no maintainer.
+* Support for MFC/R2 has been removed, as it has not been functional for some
+  time and it has no maintainer.
 
 Installation:
 
-* On BSD systems, the installation directories have changed to more "FreeBSDish" directories. On startup, Asterisk will look for the main configuration in /usr/local/etc/asterisk/asterisk.conf
-If you have an old installation, you might want to remove the binaries and move the configuration files to the new locations. The following directories are now default:
+* On BSD systems, the installation directories have changed to more "FreeBSDish"
+  directories. On startup, Asterisk will look for the main configuration in 
+  /usr/local/etc/asterisk/asterisk.conf
+  If you have an old installation, you might want to remove the binaries and 
+  move the configuration files to the new locations. The following directories 
+  are now default:
 	ASTLIBDIR	/usr/local/lib/asterisk
 	ASTVARLIBDIR	/usr/local/share/asterisk
 	ASTETCDIR	/usr/local/etc/asterisk
@@ -199,8 +268,8 @@
 
 Sounds:
 
-* The phonetic sounds directory has been removed from the asterisk-sounds package
-  because they are now included directly in Asterisk.  However, it is important to
-  note that the phonetic sounds that existed in asterisk-sounds used a different
-  naming convention than the sounds in Asterisk.  For example, instead of alpha.gsm
-  and bravo.gsm, Asterisk has a_p.gsm and b_p.gsm.
+* The phonetic sounds directory has been removed from the asterisk-sounds
+  package because they are now included directly in Asterisk.  However, it is
+  important to note that the phonetic sounds that existed in asterisk-sounds 
+  used a different naming convention than the sounds in Asterisk.  For example,
+  instead of alpha.gsm and bravo.gsm, Asterisk has a_p.gsm and b_p.gsm.

Modified: team/group/new_loader_completion/apps/app_alarmreceiver.c
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/apps/app_alarmreceiver.c?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/apps/app_alarmreceiver.c (original)
+++ team/group/new_loader_completion/apps/app_alarmreceiver.c Wed May 31 16:36:32 2006
@@ -70,7 +70,7 @@
 
 static char *app = "AlarmReceiver";
 
-static char *synopsis = "Provide support for receving alarm reports from a burglar or fire alarm panel";
+static char *synopsis = "Provide support for receiving alarm reports from a burglar or fire alarm panel";
 static char *descrip =
 "  AlarmReceiver(): Only 1 signalling format is supported at this time: Ademco\n"
 "Contact ID. This application should be called whenever there is an alarm\n"

Modified: team/group/new_loader_completion/apps/app_db.c
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/apps/app_db.c?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/apps/app_db.c (original)
+++ team/group/new_loader_completion/apps/app_db.c Wed May 31 16:36:32 2006
@@ -48,9 +48,11 @@
 #include "asterisk/lock.h"
 #include "asterisk/options.h"
 
+/*! \todo XXX Remove this application after 1.4 is relased */
 static char *d_descrip =
 "  DBdel(family/key): This applicaiton will delete a key from the Asterisk\n"
-"database.\n";
+"database.\n"
+"  This application has been DEPRECATED in favor of the DB_DELETE function.\n";
 
 static char *dt_descrip =
 "  DBdeltree(family[/keytree]): This application will delete a family or keytree\n"
@@ -108,8 +110,14 @@
 {
 	char *argv, *family, *key;
 	struct ast_module_user *u;
+	static int deprecation_warning = 0;
 
 	u = ast_module_user_add(chan);
+
+	if (!deprecation_warning) {
+		deprecation_warning = 1;
+		ast_log(LOG_WARNING, "The DBdel application has been deprecated in favor of the DB_DELETE dialplan function!\n");
+	}
 
 	argv = ast_strdupa(data);
 

Modified: team/group/new_loader_completion/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/apps/app_dial.c?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/apps/app_dial.c (original)
+++ team/group/new_loader_completion/apps/app_dial.c Wed May 31 16:36:32 2006
@@ -117,6 +117,8 @@
 "           action post answer options in conjunction with this option.\n" 
 "    h    - Allow the called party to hang up by sending the '*' DTMF digit.\n"
 "    H    - Allow the calling party to hang up by hitting the '*' DTMF digit.\n"
+"    i    - Asterisk will ignore any forwarding requests it may receive on this\n"
+"           dial attempt.\n"
 "    j    - Jump to priority n+101 if all of the requested channels were busy.\n"
 "    L(x[:y][:z]) - Limit the call to 'x' ms. Play a warning when 'y' ms are\n"
 "           left. Repeat the warning every 'z' ms. The following special\n"
@@ -233,6 +235,7 @@
 	OPT_OPERMODE = 		(1 << 24),
 	OPT_CALLEE_PARK =	(1 << 25),
 	OPT_CALLER_PARK =	(1 << 26),
+	OPT_IGNORE_FORWARDING = (1 << 27),
 } dial_exec_option_flags;
 
 #define DIAL_STILLGOING			(1 << 30)
@@ -262,6 +265,7 @@
 	AST_APP_OPTION_ARG('G', OPT_GOTO, OPT_ARG_GOTO),
 	AST_APP_OPTION('h', OPT_CALLEE_HANGUP),
 	AST_APP_OPTION('H', OPT_CALLER_HANGUP),
+	AST_APP_OPTION('i', OPT_IGNORE_FORWARDING),
 	AST_APP_OPTION('j', OPT_PRIORITY_JUMP),
 	AST_APP_OPTION_ARG('L', OPT_DURATION_LIMIT, OPT_ARG_DURATION_LIMIT),
 	AST_APP_OPTION_ARG('m', OPT_MUSICBACK, OPT_ARG_MUSICBACK),
@@ -478,10 +482,20 @@
 						ast_verbose(VERBOSE_PREFIX_3 "Now forwarding %s to '%s/%s' (thanks to %s)\n", in->name, tech, stuff, c->name);
 					/* Setup parameters */
 					c = o->chan = ast_request(tech, in->nativeformats, stuff, &cause);
-					if (!c)
-						ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s/%s' (cause = %d)\n", tech, stuff, cause);
-					else
-						ast_channel_inherit_variables(in, o->chan);
+					/* If we have been told to ignore forwards, just set this channel to null and continue processing extensions normally */
+					if (ast_test_flag(peerflags, OPT_IGNORE_FORWARDING)) {
+						if (option_verbose > 2)
+							ast_verbose(VERBOSE_PREFIX_3 "Forwarding %s to '%s/%s' prevented.\n", in->name, tech, stuff);
+						c = o->chan = NULL;
+						cause = AST_CAUSE_BUSY;
+					} else {
+						/* Setup parameters */
+						c = o->chan = ast_request(tech, in->nativeformats, stuff, &cause);
+						if (!c)
+							ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s/%s' (cause = %d)\n", tech, stuff, cause);
+						else
+							ast_channel_inherit_variables(in, o->chan);
+					}
 				} else {
 					if (option_verbose > 2)
 						ast_verbose(VERBOSE_PREFIX_3 "Too many forwards from %s\n", c->name);
@@ -818,7 +832,7 @@
 		if (option_verbose > 2)
 			ast_verbose(VERBOSE_PREFIX_3 "Setting operator services mode to %d.\n", opermode);
 	}
-
+	
 	if (ast_test_flag(&opts, OPT_DURATION_STOP) && !ast_strlen_zero(opt_args[OPT_ARG_DURATION_STOP])) {
 		calldurationlimit = atoi(opt_args[OPT_ARG_DURATION_STOP]);
 		if (!calldurationlimit) {
@@ -958,21 +972,27 @@
 		}
 		
 		if(privdb_val == AST_PRIVACY_DENY ) {
+			ast_copy_string(status, "NOANSWER", sizeof(status));
 			if (option_verbose > 2)
 				ast_verbose( VERBOSE_PREFIX_3  "Privacy DB reports PRIVACY_DENY for this callerid. Dial reports unavailable\n");
 			res=0;
 			goto out;
 		}
 		else if(privdb_val == AST_PRIVACY_KILL ) {
-			ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 201);
+			ast_copy_string(status, "DONTCALL", sizeof(status));
+			if (ast_opt_priority_jumping || ast_test_flag(&opts, OPT_PRIORITY_JUMP)) {
+				ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 201);
+			}
 			res = 0;
 			goto out; /* Is this right? */
 		}
 		else if(privdb_val == AST_PRIVACY_TORTURE ) {
-			ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 301);
+			ast_copy_string(status, "TORTURE", sizeof(status));
+			if (ast_opt_priority_jumping || ast_test_flag(&opts, OPT_PRIORITY_JUMP)) {
+				ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 301);
+			}
 			res = 0;
 			goto out; /* is this right??? */
-
 		}
 		else if(privdb_val == AST_PRIVACY_UNKNOWN ) {
 			/* Get the user's intro, store it in priv-callerintros/$CID, 
@@ -999,6 +1019,8 @@
 				ast_play_and_record(chan, "priv-recordintro", privintro, 4, "gsm", &duration, 128, 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 privintro file */
+				if( !ast_streamfile(chan, "vm-dialout", chan->language) )
+					ast_waitstream(chan, "");
 			}
 		}
 	}
@@ -1006,7 +1028,7 @@
 	/* If a channel group has been specified, get it for use when we create peer channels */
 	outbound_group = pbx_builtin_getvar_helper(chan, "OUTBOUND_GROUP");
 
-	ast_copy_flags(peerflags, &opts, OPT_DTMF_EXIT | OPT_GO_ON | OPT_ORIGINAL_CLID | OPT_CALLER_HANGUP);
+	ast_copy_flags(peerflags, &opts, OPT_DTMF_EXIT | OPT_GO_ON | OPT_ORIGINAL_CLID | OPT_CALLER_HANGUP | OPT_IGNORE_FORWARDING);
 	/* loop through the list of dial destinations */
 	rest = args.peers;
 	while ((cur = strsep(&rest, "&")) ) {
@@ -1059,8 +1081,15 @@
 				if (option_verbose > 2)
 					ast_verbose(VERBOSE_PREFIX_3 "Now forwarding %s to '%s/%s' (thanks to %s)\n", chan->name, tech, stuff, tmp->chan->name);
 				ast_hangup(tmp->chan);
-				/* Setup parameters */
-				tmp->chan = ast_request(tech, chan->nativeformats, stuff, &cause);
+				/* If we have been told to ignore forwards, just set this channel to null and continue processing extensions normally */
+				if (ast_test_flag(&opts, OPT_IGNORE_FORWARDING)) {
+					tmp->chan = NULL;
+					cause = AST_CAUSE_BUSY;
+					if (option_verbose > 2)
+						ast_verbose(VERBOSE_PREFIX_3 "Forwarding %s to '%s/%s' prevented.\n", chan->name, tech, stuff);
+				} else {
+					tmp->chan = ast_request(tech, chan->nativeformats, stuff, &cause);
+				}
 				if (!tmp->chan)
 					ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s/%s' (cause = %d)\n", tech, stuff, cause);
 				else
@@ -1311,6 +1340,7 @@
 							     opt_args[OPT_ARG_PRIVACY], privcid);
 					ast_privacy_set(opt_args[OPT_ARG_PRIVACY], privcid, AST_PRIVACY_DENY);
 				}
+				ast_copy_string(status, "NOANSWER", sizeof(status));
 				ast_hangup(peer); /* hang up on the callee -- he didn't want to talk anyway! */
 				res=0;
 				goto out;

Modified: team/group/new_loader_completion/apps/app_directory.c
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/apps/app_directory.c?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/apps/app_directory.c (original)
+++ team/group/new_loader_completion/apps/app_directory.c Wed May 31 16:36:32 2006
@@ -53,7 +53,7 @@
 "the calling channel with a directory of extensions from which they can search\n"
 "by name. The list of names and corresponding extensions is retrieved from the\n"
 "voicemail configuration file, voicemail.conf.\n"
-"  This applicaiton will immediate exit if one of the following DTMF digits are\n"
+"  This application will immediately exit if one of the following DTMF digits are\n"
 "received and the extension to jump to exists:\n"
 "    0 - Jump to the 'o' extension, if it exists.\n"
 "    * - Jump to the 'a' extension, if it exists.\n\n"

Modified: team/group/new_loader_completion/apps/app_disa.c
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/apps/app_disa.c?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/apps/app_disa.c (original)
+++ team/group/new_loader_completion/apps/app_disa.c Wed May 31 16:36:32 2006
@@ -70,7 +70,7 @@
 	"Be aware that using this compromises the security of your PBX.\n\n"
 	"The arguments to this application (in extensions.conf) allow either\n"
 	"specification of a single global passcode (that everyone uses), or\n"
-	"individual passcodes contained in a file. It also allow specification\n"
+	"individual passcodes contained in a file. It also allows specification\n"
 	"of the context on which the user will be dialing. If no context is\n"
 	"specified, the DISA application defaults the context to \"disa\".\n"
 	"Presumably a normal system will have a special context set up\n"

Modified: team/group/new_loader_completion/apps/app_echo.c
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/apps/app_echo.c?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/apps/app_echo.c (original)
+++ team/group/new_loader_completion/apps/app_echo.c Wed May 31 16:36:32 2006
@@ -69,26 +69,30 @@
 			break;
 		f->delivery.tv_sec = 0;
 		f->delivery.tv_usec = 0;
-		if (f->frametype == AST_FRAME_VOICE) {
-			if (ast_write(chan, f)) 
-				break;
-		} else if (f->frametype == AST_FRAME_VIDEO) {
-			if (ast_write(chan, f)) 
-				break;
-		} else if (f->frametype == AST_FRAME_DTMF) {
+		switch (f->frametype) {
+		case AST_FRAME_DTMF:
+		case AST_FRAME_DTMF_END:
 			if (f->subclass == '#') {
 				res = 0;
-				break;
-			} else {
-				if (ast_write(chan, f))
-					break;
+				ast_frfree(f);
+				goto end;
+			}
+			/* fall through */
+		case AST_FRAME_DTMF_BEGIN:
+		case AST_FRAME_VOICE:
+		case AST_FRAME_VIDEO:
+		case AST_FRAME_TEXT:
+		case AST_FRAME_HTML:
+		case AST_FRAME_IMAGE:
+			if (ast_write(chan, f)) {
+				ast_frfree(f);
+				goto end;
 			}
 		}
 		ast_frfree(f);
 	}
-
+end:
 	ast_module_user_remove(u);
-
 	return res;
 }
 

Modified: team/group/new_loader_completion/apps/app_lookupblacklist.c
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/apps/app_lookupblacklist.c?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/apps/app_lookupblacklist.c (original)
+++ team/group/new_loader_completion/apps/app_lookupblacklist.c Wed May 31 16:36:32 2006
@@ -62,6 +62,32 @@
   "Example: exten => 1234,1,LookupBlacklist()\n";
 
 
+static int blacklist_read(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
+{
+	char blacklist[1];
+	int bl = 0;
+
+	if (chan->cid.cid_num) {
+		if (!ast_db_get("blacklist", chan->cid.cid_num, blacklist, sizeof (blacklist)))
+			bl = 1;
+	}
+	if (chan->cid.cid_name) {
+		if (!ast_db_get("blacklist", chan->cid.cid_name, blacklist, sizeof (blacklist)))
+			bl = 1;
+	}
+
+	snprintf(buf, len, "%d", bl);
+	return 0;
+}
+
+static struct ast_custom_function blacklist_function = {
+	.name = "BLACKLIST",
+	.synopsis = "Check if the callerid is on the blacklist",
+	.desc = "Uses astdb to check if the Caller*ID is in family 'blacklist'.  Returns 1 or 0.\n",
+	.syntax = "BLACKLIST()",
+	.read = blacklist_read,
+};
+
 static int
 lookupblacklist_exec (struct ast_channel *chan, void *data)
 {
@@ -69,8 +95,14 @@
 	struct ast_module_user *u;
 	int bl = 0;
 	int priority_jump = 0;
+	static int dep_warning = 0;
 
 	u = ast_module_user_add(chan);
+
+	if (!dep_warning) {
+		dep_warning = 1;
+		ast_log(LOG_WARNING, "LookupBlacklist is deprecated.  Please use ${BLACKLIST()} instead.\n");
+	}
 
 	if (!ast_strlen_zero(data)) {
 		if (strchr(data, 'j'))
@@ -109,6 +141,7 @@
 	int res;
 
 	res = ast_unregister_application(app);
+	res |= ast_custom_function_unregister(&blacklist_function);
 
 	ast_module_user_hangup_all();
 
@@ -117,7 +150,9 @@
 
 static int load_module(void)
 {
-	return ast_register_application (app, lookupblacklist_exec, synopsis,descrip);
+	int res = ast_custom_function_register(&blacklist_function);
+	res |= ast_register_application (app, lookupblacklist_exec, synopsis,descrip);
+	return res;
 }
 
 AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Look up Caller*ID name/number from blacklist database");

Modified: team/group/new_loader_completion/apps/app_lookupcidname.c
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/apps/app_lookupcidname.c?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/apps/app_lookupcidname.c (original)
+++ team/group/new_loader_completion/apps/app_lookupcidname.c Wed May 31 16:36:32 2006
@@ -62,14 +62,19 @@
 {
 	char dbname[64];
 	struct ast_module_user *u;
+	static int dep_warning = 0;
 
 	u = ast_module_user_add(chan);
+	if (!dep_warning) {
+		dep_warning = 1;
+		ast_log(LOG_WARNING, "LookupCIDName is deprecated.  Please use ${DB(cidname/${CALLERID(num)})} instead.\n");
+	}
 	if (chan->cid.cid_num) {
 		if (!ast_db_get ("cidname", chan->cid.cid_num, dbname, sizeof (dbname))) {
 			ast_set_callerid (chan, NULL, dbname, NULL);
 			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Changed Caller*ID name to %s\n",
-					    dbname);
+				ast_verbose (VERBOSE_PREFIX_3 "Changed Caller*ID name to %s\n",
+					     dbname);
 		}
 	}
 	ast_module_user_remove(u);

Modified: team/group/new_loader_completion/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/group/new_loader_completion/apps/app_meetme.c?rev=31159&r1=31158&r2=31159&view=diff
==============================================================================
--- team/group/new_loader_completion/apps/app_meetme.c (original)
+++ team/group/new_loader_completion/apps/app_meetme.c Wed May 31 16:36:32 2006
@@ -72,8 +72,9 @@
 #define DEFAULT_AUDIO_BUFFERS  32
 
 enum {
-	ADMINFLAG_MUTED =  (1 << 1), /*!< User is muted */
-	ADMINFLAG_KICKME = (1 << 2)  /*!< User has been kicked */
+	ADMINFLAG_MUTED =     (1 << 1), /*!< User is muted */
+	ADMINFLAG_SELFMUTED = (1 << 2), /*!< User muted self */
+	ADMINFLAG_KICKME =    (1 << 3)  /*!< User has been kicked */
 };
 
 #define MEETME_DELAYDETECTTALK     300
@@ -144,9 +145,11 @@
 	/*! If set, won't speak the extra prompt when the first person 
 	 *  enters the conference */
 	CONFFLAG_NOONLYPERSON = (1 << 22),
-	CONFFLAG_INTROUSERNOREVIEW = (1 << 23)
+	CONFFLAG_INTROUSERNOREVIEW = (1 << 23),
 	/*! If set, user will be asked to record name on entry of conference 
 	 *  without review */
+	CONFFLAG_STARTMUTED = (1 << 24)
+	/*! If set, the user will be initially muted by admin */
 };
 
 AST_APP_OPTIONS(meetme_opts, {
@@ -161,7 +164,7 @@
 	AST_APP_OPTION('i', CONFFLAG_INTROUSER ),
 	AST_APP_OPTION('I', CONFFLAG_INTROUSERNOREVIEW ),
 	AST_APP_OPTION('M', CONFFLAG_MOH ),
-	AST_APP_OPTION('m', CONFFLAG_MONITOR ),
+	AST_APP_OPTION('m', CONFFLAG_STARTMUTED ),
 	AST_APP_OPTION('o', CONFFLAG_OPTIMIZETALKER ),
 	AST_APP_OPTION('P', CONFFLAG_ALWAYSPROMPT ),
 	AST_APP_OPTION('p', CONFFLAG_POUNDEXIT ),
@@ -169,6 +172,7 @@
 	AST_APP_OPTION('r', CONFFLAG_RECORDCONF ),
 	AST_APP_OPTION('s', CONFFLAG_STARMENU ),
 	AST_APP_OPTION('T', CONFFLAG_MONITORTALKER ),
+	AST_APP_OPTION('l', CONFFLAG_MONITOR ),
 	AST_APP_OPTION('t', CONFFLAG_TALKER ),
 	AST_APP_OPTION('w', CONFFLAG_WAITMARKED ),
 	AST_APP_OPTION('X', CONFFLAG_EXIT_CONTEXT ),
@@ -205,7 +209,8 @@
 "      'E' -- select an empty pinless conference\n"
 "      'i' -- announce user join/leave with review\n"
 "      'I' -- announce user join/leave without review\n"
-"      'm' -- set monitor only mode (Listen only, no talking)\n"
+"      'l' -- set listen only mode (Listen only, no talking)\n"
+"      'm' -- set initially muted by admin\n"
 "      'M' -- enable music on hold when the conference has a single caller\n"
 "      'o' -- set talker optimization - treats talkers who aren't speaking as\n"
 "             being muted, meaning (a) No encode is done on transmission and\n"
@@ -247,6 +252,16 @@
 "      'M' -- Mute conference\n"
 "      'n' -- Unmute entire conference (except admin)\n"
 "      'N' -- Mute entire conference (except admin)\n"
+"      'r' -- Reset one user's volume settings\n"
+"      'R' -- Reset all users volume settings\n"
+"      's' -- Lower entire conference speaking volume\n"
+"      'S' -- Raise entire conference speaking volume\n"
+"      't' -- Lower one user's talk volume\n"
+"      'T' -- Lower all users talk volume\n"
+"      'u' -- Lower one user's listen volume\n"
+"      'U' -- Lower all users listen volume\n"
+"      'v' -- Lower entire conference listening volume\n"
+"      'V' -- Raise entire conference listening volume\n"
 "";
 
 struct ast_conference {
@@ -292,7 +307,7 @@
 	int talking;                            /*!< Is user talking */
 	int zapchannel;                         /*!< Is a Zaptel channel */
 	char usrvalue[50];                      /*!< Custom User Value */

[... 30511 lines stripped ...]


More information about the svn-commits mailing list