[asterisk-commits] oej: branch oej/videocaps r110627 - in /team/oej/videocaps: ./ apps/ build_to...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Mar 25 08:23:09 CDT 2008


Author: oej
Date: Tue Mar 25 08:23:08 2008
New Revision: 110627

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

Added:
    team/oej/videocaps/build_tools/cflags-devmode.xml
      - copied unchanged from r110625, trunk/build_tools/cflags-devmode.xml
    team/oej/videocaps/build_tools/make_version_h
      - copied unchanged from r110625, trunk/build_tools/make_version_h
    team/oej/videocaps/configs/dbsep.conf.sample
      - copied unchanged from r110625, trunk/configs/dbsep.conf.sample
    team/oej/videocaps/configs/dsp.conf.sample
      - copied unchanged from r110625, trunk/configs/dsp.conf.sample
    team/oej/videocaps/contrib/scripts/dbsep.cgi
      - copied unchanged from r110625, trunk/contrib/scripts/dbsep.cgi
    team/oej/videocaps/doc/janitor-projects.txt
      - copied unchanged from r110625, trunk/doc/janitor-projects.txt
    team/oej/videocaps/funcs/func_config.c
      - copied unchanged from r110625, trunk/funcs/func_config.c
    team/oej/videocaps/include/asterisk/ast_version.h
      - copied unchanged from r110625, trunk/include/asterisk/ast_version.h
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/
      - copied from r110625, trunk/pbx/ael/ael-test/ael-ntest23/
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/extensions.ael
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ael-ntest23/extensions.ael
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/qq.ael
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ael-ntest23/qq.ael
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t1/
      - copied from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t1/
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t1/a.ael
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t1/a.ael
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t1/b.ael
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t1/b.ael
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t1/c.ael
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t1/c.ael
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t2/
      - copied from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t2/
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t2/d.ael
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t2/d.ael
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t2/e.ael
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t2/e.ael
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t2/f.ael
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t2/f.ael
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t3/
      - copied from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t3/
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t3/g.ael
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t3/g.ael
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t3/h.ael
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t3/h.ael
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t3/i.ael
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t3/i.ael
    team/oej/videocaps/pbx/ael/ael-test/ael-ntest23/t3/j.ael
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ael-ntest23/t3/j.ael
    team/oej/videocaps/pbx/ael/ael-test/ref.ael-ntest23
      - copied unchanged from r110625, trunk/pbx/ael/ael-test/ref.ael-ntest23
Removed:
    team/oej/videocaps/main/minimime/
Modified:
    team/oej/videocaps/   (props changed)
    team/oej/videocaps/CHANGES
    team/oej/videocaps/Makefile
    team/oej/videocaps/Makefile.rules
    team/oej/videocaps/UPGRADE.txt
    team/oej/videocaps/acinclude.m4
    team/oej/videocaps/apps/app_amd.c
    team/oej/videocaps/apps/app_authenticate.c
    team/oej/videocaps/apps/app_channelredirect.c
    team/oej/videocaps/apps/app_chanspy.c
    team/oej/videocaps/apps/app_dial.c
    team/oej/videocaps/apps/app_directory.c
    team/oej/videocaps/apps/app_dumpchan.c
    team/oej/videocaps/apps/app_externalivr.c
    team/oej/videocaps/apps/app_festival.c
    team/oej/videocaps/apps/app_followme.c
    team/oej/videocaps/apps/app_meetme.c
    team/oej/videocaps/apps/app_minivm.c
    team/oej/videocaps/apps/app_mixmonitor.c
    team/oej/videocaps/apps/app_page.c
    team/oej/videocaps/apps/app_queue.c
    team/oej/videocaps/apps/app_record.c
    team/oej/videocaps/apps/app_rpt.c
    team/oej/videocaps/apps/app_sms.c
    team/oej/videocaps/apps/app_speech_utils.c
    team/oej/videocaps/apps/app_talkdetect.c
    team/oej/videocaps/apps/app_voicemail.c
    team/oej/videocaps/apps/app_waitforsilence.c
    team/oej/videocaps/apps/app_zapras.c
    team/oej/videocaps/build_tools/cflags.xml
    team/oej/videocaps/build_tools/make_buildopts_h
    team/oej/videocaps/build_tools/make_version_c
    team/oej/videocaps/build_tools/menuselect-deps.in
    team/oej/videocaps/build_tools/strip_nonapi
    team/oej/videocaps/cdr/cdr_adaptive_odbc.c
    team/oej/videocaps/cdr/cdr_odbc.c
    team/oej/videocaps/cdr/cdr_pgsql.c
    team/oej/videocaps/cdr/cdr_sqlite3_custom.c
    team/oej/videocaps/channels/Makefile
    team/oej/videocaps/channels/chan_agent.c
    team/oej/videocaps/channels/chan_alsa.c
    team/oej/videocaps/channels/chan_console.c
    team/oej/videocaps/channels/chan_gtalk.c
    team/oej/videocaps/channels/chan_h323.c
    team/oej/videocaps/channels/chan_iax2.c
    team/oej/videocaps/channels/chan_jingle.c
    team/oej/videocaps/channels/chan_local.c
    team/oej/videocaps/channels/chan_mgcp.c
    team/oej/videocaps/channels/chan_misdn.c
    team/oej/videocaps/channels/chan_oss.c
    team/oej/videocaps/channels/chan_phone.c
    team/oej/videocaps/channels/chan_sip.c
    team/oej/videocaps/channels/chan_skinny.c
    team/oej/videocaps/channels/chan_unistim.c
    team/oej/videocaps/channels/chan_usbradio.c
    team/oej/videocaps/channels/chan_vpb.cc
    team/oej/videocaps/channels/chan_zap.c
    team/oej/videocaps/channels/console_gui.c
    team/oej/videocaps/channels/h323/ast_h323.cxx
    team/oej/videocaps/channels/misdn/isdn_lib.c
    team/oej/videocaps/channels/misdn/isdn_lib.h
    team/oej/videocaps/codecs/Makefile
    team/oej/videocaps/codecs/codec_g722.c
    team/oej/videocaps/codecs/gsm/Makefile
    team/oej/videocaps/codecs/log2comp.h
    team/oej/videocaps/configs/queues.conf.sample
    team/oej/videocaps/configs/res_ldap.conf.sample
    team/oej/videocaps/configs/sip.conf.sample
    team/oej/videocaps/configs/sip_notify.conf.sample
    team/oej/videocaps/configs/smdi.conf.sample
    team/oej/videocaps/configs/vpb.conf.sample
    team/oej/videocaps/configs/zapata.conf.sample
    team/oej/videocaps/configure
    team/oej/videocaps/configure.ac
    team/oej/videocaps/contrib/init.d/rc.debian.asterisk
    team/oej/videocaps/contrib/init.d/rc.suse.asterisk
    team/oej/videocaps/contrib/scripts/iax-friends.sql
    team/oej/videocaps/contrib/scripts/sip-friends.sql
    team/oej/videocaps/doc/CODING-GUIDELINES
    team/oej/videocaps/doc/externalivr.txt
    team/oej/videocaps/doc/manager_1_1.txt
    team/oej/videocaps/doc/siptls.txt
    team/oej/videocaps/doc/smdi.txt
    team/oej/videocaps/doc/tex/realtime.tex
    team/oej/videocaps/doc/voicemail_odbc_postgresql.txt
    team/oej/videocaps/formats/format_pcm.c
    team/oej/videocaps/funcs/func_devstate.c
    team/oej/videocaps/funcs/func_enum.c
    team/oej/videocaps/funcs/func_global.c
    team/oej/videocaps/funcs/func_odbc.c
    team/oej/videocaps/funcs/func_strings.c
    team/oej/videocaps/funcs/func_version.c
    team/oej/videocaps/include/asterisk/   (props changed)
    team/oej/videocaps/include/asterisk/_private.h
    team/oej/videocaps/include/asterisk/app.h
    team/oej/videocaps/include/asterisk/astmm.h
    team/oej/videocaps/include/asterisk/astobj.h
    team/oej/videocaps/include/asterisk/audiohook.h
    team/oej/videocaps/include/asterisk/autoconfig.h.in
    team/oej/videocaps/include/asterisk/cdr.h
    team/oej/videocaps/include/asterisk/channel.h
    team/oej/videocaps/include/asterisk/config.h
    team/oej/videocaps/include/asterisk/dnsmgr.h
    team/oej/videocaps/include/asterisk/dsp.h
    team/oej/videocaps/include/asterisk/extconf.h
    team/oej/videocaps/include/asterisk/frame.h
    team/oej/videocaps/include/asterisk/global_datastores.h
    team/oej/videocaps/include/asterisk/http.h
    team/oej/videocaps/include/asterisk/lock.h
    team/oej/videocaps/include/asterisk/manager.h
    team/oej/videocaps/include/asterisk/module.h
    team/oej/videocaps/include/asterisk/netsock.h
    team/oej/videocaps/include/asterisk/pbx.h
    team/oej/videocaps/include/asterisk/pval.h
    team/oej/videocaps/include/asterisk/rtp.h
    team/oej/videocaps/include/asterisk/sched.h
    team/oej/videocaps/include/asterisk/slinfactory.h
    team/oej/videocaps/include/asterisk/smdi.h
    team/oej/videocaps/include/asterisk/strings.h
    team/oej/videocaps/include/asterisk/tcptls.h
    team/oej/videocaps/include/asterisk/utils.h
    team/oej/videocaps/include/jitterbuf.h
    team/oej/videocaps/main/Makefile
    team/oej/videocaps/main/alaw.c
    team/oej/videocaps/main/app.c
    team/oej/videocaps/main/asterisk.c
    team/oej/videocaps/main/astobj2.c
    team/oej/videocaps/main/audiohook.c
    team/oej/videocaps/main/autoservice.c
    team/oej/videocaps/main/callerid.c
    team/oej/videocaps/main/cdr.c
    team/oej/videocaps/main/channel.c
    team/oej/videocaps/main/cli.c
    team/oej/videocaps/main/config.c
    team/oej/videocaps/main/cryptostub.c
    team/oej/videocaps/main/dial.c
    team/oej/videocaps/main/dlfcn.c
    team/oej/videocaps/main/dns.c
    team/oej/videocaps/main/dsp.c
    team/oej/videocaps/main/editline/Makefile.in
    team/oej/videocaps/main/editline/readline.c
    team/oej/videocaps/main/enum.c
    team/oej/videocaps/main/features.c
    team/oej/videocaps/main/file.c
    team/oej/videocaps/main/frame.c
    team/oej/videocaps/main/fskmodem.c
    team/oej/videocaps/main/global_datastores.c
    team/oej/videocaps/main/hashtab.c
    team/oej/videocaps/main/http.c
    team/oej/videocaps/main/image.c
    team/oej/videocaps/main/jitterbuf.c
    team/oej/videocaps/main/loader.c
    team/oej/videocaps/main/logger.c
    team/oej/videocaps/main/manager.c
    team/oej/videocaps/main/netsock.c
    team/oej/videocaps/main/pbx.c
    team/oej/videocaps/main/poll.c
    team/oej/videocaps/main/rtp.c
    team/oej/videocaps/main/say.c
    team/oej/videocaps/main/slinfactory.c
    team/oej/videocaps/main/stdtime/localtime.c
    team/oej/videocaps/main/strcompat.c
    team/oej/videocaps/main/tcptls.c
    team/oej/videocaps/main/tdd.c
    team/oej/videocaps/main/term.c
    team/oej/videocaps/main/translate.c
    team/oej/videocaps/main/udptl.c
    team/oej/videocaps/main/utils.c
    team/oej/videocaps/makeopts.in
    team/oej/videocaps/pbx/pbx_ael.c
    team/oej/videocaps/pbx/pbx_config.c
    team/oej/videocaps/res/Makefile
    team/oej/videocaps/res/ael/ael.flex
    team/oej/videocaps/res/ael/ael.tab.c
    team/oej/videocaps/res/ael/ael.tab.h
    team/oej/videocaps/res/ael/ael.y
    team/oej/videocaps/res/ael/ael_lex.c
    team/oej/videocaps/res/ael/pval.c
    team/oej/videocaps/res/res_agi.c
    team/oej/videocaps/res/res_config_curl.c
    team/oej/videocaps/res/res_config_ldap.c
    team/oej/videocaps/res/res_config_odbc.c
    team/oej/videocaps/res/res_config_pgsql.c
    team/oej/videocaps/res/res_config_sqlite.c
    team/oej/videocaps/res/res_indications.c
    team/oej/videocaps/res/res_jabber.c
    team/oej/videocaps/res/res_monitor.c
    team/oej/videocaps/res/res_musiconhold.c
    team/oej/videocaps/res/res_phoneprov.c
    team/oej/videocaps/res/res_realtime.c
    team/oej/videocaps/res/res_smdi.c
    team/oej/videocaps/res/snmp/agent.c
    team/oej/videocaps/sounds/Makefile
    team/oej/videocaps/sounds/sounds.xml
    team/oej/videocaps/utils/Makefile
    team/oej/videocaps/utils/ael_main.c
    team/oej/videocaps/utils/astcanary.c
    team/oej/videocaps/utils/astman.c
    team/oej/videocaps/utils/check_expr.c
    team/oej/videocaps/utils/conf2ael.c
    team/oej/videocaps/utils/extconf.c
    team/oej/videocaps/utils/frame.c

Propchange: team/oej/videocaps/
------------------------------------------------------------------------------
    automerge = http://www.codename-pineapple.org/

Propchange: team/oej/videocaps/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.

Propchange: team/oej/videocaps/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/oej/videocaps/
------------------------------------------------------------------------------
--- svn:externals (original)
+++ svn:externals Tue Mar 25 08:23:08 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/oej/videocaps/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Mar 25 08:23:08 2008
@@ -1,1 +1,1 @@
-/trunk:1-103781
+/trunk:1-110626

Modified: team/oej/videocaps/CHANGES
URL: http://svn.digium.com/view/asterisk/team/oej/videocaps/CHANGES?view=diff&rev=110627&r1=110626&r2=110627
==============================================================================
--- team/oej/videocaps/CHANGES (original)
+++ team/oej/videocaps/CHANGES Tue Mar 25 08:23:08 2008
@@ -1,6 +1,34 @@
 ------------------------------------------------------------------------------
---- Functionality changes since Asterisk 1.4-beta was branched ----------------
--------------------------------------------------------------------------------
+--- 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.
+
+PBX Changes
+-----------
+ * It is now possible to specify a pattern match as a hint. Once a phone subscribes
+   to something that matches the pattern a hint will be created using the contents
+   and variables evaluated.
+
+Application Changes
+-------------------
+ * Directory now permits both first and last names to be matched at the same
+   time.  In addition, the number of digits to enter of the name can be set in
+   the arguments to Directory; previously, you could enter only 3, regardless
+   of how many names are in your company.  For large companies, this should be
+   quite helpful.
+
+------------------------------------------------------------------------------
+--- Functionality changes from Asterisk 1.4.X to Asterisk 1.6.0  -------------
+------------------------------------------------------------------------------
 
 AMI - The manager (TCP/TLS/HTTP)
 --------------------------------
@@ -48,6 +76,11 @@
   * Updated action newcat to allow new category to be inserted in file above another
     existing category.
   * Added new event "JitterBufStats" in the IAX2 channel
+  * 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
 ------------------
@@ -94,6 +127,9 @@
   * New CLI command: "core set chanvar" to set a channel variable from the CLI.
   * Added an easy way to execute Asterisk CLI commands at startup.  Any commands
     listed in the startup_commands section of cli.conf will get executed.
+  * Added a CLI command, "devstate change", which allows you to set custom device
+     states from the func_devstate module that provides the DEVICE_STATE() function
+     and handling of the "Custom:" devices.
 
 SIP changes
 -----------
@@ -143,8 +179,11 @@
   * Added SIP Session Timers support (RFC 4028).  This prevents stuck SIP sessions that
      were not properly torn down due to network or endpoint failures during an established
      SIP session.
-  * Added TCP and TLS support for SIP.  See doc/siptls.txt and configs/sip.conf.sample for
-     more information on how it is used.
+  * Added experimental TCP and TLS support for SIP.  See doc/siptls.txt and 
+     configs/sip.conf.sample for more information on how it is used.
+  * Added a new configuration option "authfailureevents" that enables manager events when
+    a peer can't authenticate properly. 
+  * Added DNS manager support to registrations not referencing a peer entry.
 
 IAX2 changes
 ------------
@@ -278,6 +317,12 @@
      lockfile will not work, such as on SMB/CIFS mounts.
   * Added the ability to backup deleted messages, to ease recovery in the case
      that a user accidentally deletes a message, and discovers that they need it.
+  * Reworked the SMDI interface in Asterisk.  The new way to access SMDI information
+     is through the new functions, SMDI_MSG_RETRIEVE() and SMDI_MSG().  The file
+     smdi.conf can now be configured with options to map SMDI station IDs to Asterisk
+     voicemail boxes.  The SMDI interface can also poll for MWI changes when some
+     outside entity is modifying the state of the mailbox (such as IMAP storage or
+     a web interface of some kind).
 
 Queue changes
 -------------
@@ -309,6 +354,9 @@
   * Added a new parameter for member definition, called state_interface. This may be
     used so that a member may be called via one interface but have a different interface's
     device state reported.
+  * New configuration option: randomperiodicannounce. If a list of periodic announcements is
+    specified by the periodic-announce option, then one will be chosen randomly when it is time
+	to play a periodic announcment
 
 MeetMe Changes
 --------------
@@ -366,6 +414,13 @@
   * AMD() has a new "maximum word length" option. "show application AMD" from the CLI
      for more details
   * GotoIfTime() now may branch based on a "false" condition, like other Goto-related applications
+  * 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.
+  * Added ability to communicate over a TCP socket instead of forking a child process for the 
+    ExternalIVR application.
 
 Music On Hold Changes
 ---------------------
@@ -443,6 +498,31 @@
      rotatestrategry=rotate, to allow a limit on the number of logfiles kept
      and to ensure that the oldest log file gets deleted.
   * Added realtime support for the queue log
+
+Call Detail Records 
+-------------------
+  * The cdr_manager module has a [mappings] feature, like cdr_custom,
+    to add fields to the manager event from the CDR variables.
+  * Added cdr_adaptive_odbc, a new module that adapts to the structure of your
+     backend database CDR table.  Specifically, additional, non-standard
+     columns are supported, merely by setting the corresponding CDR variable in
+     your dialplan.  In addition, you may alias any column to another name (for
+     example, if you want the 'src' CDR variable to be column 'ANI' in the DB,
+     simply "alias src => ANI" in the configuration file).  Records may be
+     posted to more than one backend, simply by specifying multiple categories
+     in the configuration file.  And finally, you may filter which CDRs get
+     posted to each backend, by specifying a filter (which the record must
+     match) for the particular category.  Filters are additive (meaning all
+     rules must match to post that CDR).
+  * The Postgres CDR module now supports some features of the cdr_adaptive_odbc
+     module.  Specifically, you may add additional columns into the table and
+     they will be set, if you set the corresponding CDR variable name.  Also,
+     if you omit columns in your database table, they will be silently skipped
+     (but a record will still be inserted, based on what columns remain).  Note
+     that the other two features from cdr_adaptive_odbc (alias and filter) are
+     not currently supported.
+  * The ResetCDR application now has an 'e' option that re-enables a CDR if it
+     has been disabled using the NoCDR application.
 
 Miscellaneous New Modules
 -------------------------
@@ -488,8 +568,6 @@
   * Added maxfiles option to options section of asterisk.conf which allows you to specify
      what Asterisk should set as the maximum number of open files when it loads.
   * Added the jittertargetextra configuration option.
-  * The cdr_manager module has a [mappings] feature, like cdr_custom,
-    to add fields to the manager event from the CDR variables.
   * Added support for setting the CoS for VLAN traffic (802.1p).  See the sample
      configuration files for the IP channel drivers.  The new option is "cos".
      This information is also documented in doc/qos.tex, or the IP Quality of Service
@@ -517,3 +595,4 @@
   * Added a compiler flag, CHANNEL_TRACE, which permits channel tracing to be
      turned on, via the CHANNEL(trace) dialplan function.  Could be useful for
      dialplan debugging.
+

Modified: team/oej/videocaps/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/videocaps/Makefile?view=diff&rev=110627&r1=110626&r2=110627
==============================================================================
--- team/oej/videocaps/Makefile (original)
+++ team/oej/videocaps/Makefile Tue Mar 25 08:23:08 2008
@@ -229,7 +229,7 @@
 ASTCFLAGS+=-include $(ASTTOPDIR)/include/asterisk/autoconfig.h
 
 ifeq ($(AST_DEVMODE),yes)
-  ASTCFLAGS+=-Werror -Wunused -Wundef $(AST_DECLARATION_AFTER_STATEMENT)
+  ASTCFLAGS+=-Werror -Wunused -Wundef $(AST_DECLARATION_AFTER_STATEMENT) -Wmissing-format-attribute -Wformat-security #-Wformat=2
 endif
 
 ifneq ($(findstring BSD,$(OSARCH)),)
@@ -350,7 +350,7 @@
 	@echo "****"
 	@exit 1
 
-menuselect.makeopts: menuselect/menuselect menuselect-tree
+menuselect.makeopts: menuselect/menuselect menuselect-tree makeopts
 	menuselect/menuselect --check-deps $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts
 
 $(MOD_SUBDIRS_EMBED_LDSCRIPT):
@@ -373,7 +373,7 @@
 	@$(MAKE) $(PRINT_DIR) $(MOD_SUBDIRS_EMBED_LDFLAGS)
 	@$(MAKE) $(PRINT_DIR) $(MOD_SUBDIRS_EMBED_LIBS)
 
-$(SUBDIRS): main/version.c include/asterisk/build.h include/asterisk/buildopts.h defaults.h makeopts.embed_rules
+$(SUBDIRS): main/version.c include/asterisk/version.h include/asterisk/build.h include/asterisk/buildopts.h defaults.h makeopts.embed_rules
 
 ifeq ($(findstring $(OSARCH), mingw32 cygwin ),)
     # Non-windows:
@@ -409,6 +409,11 @@
 	@cmp -s $@.tmp $@ || mv $@.tmp $@
 	@rm -f $@.tmp
 
+include/asterisk/version.h:
+	@build_tools/make_version_h > $@.tmp
+	@cmp -s $@.tmp $@ || mv $@.tmp $@
+	@rm -f $@.tmp
+
 include/asterisk/buildopts.h: menuselect.makeopts
 	@build_tools/make_buildopts_h > $@.tmp
 	@cmp -s $@.tmp $@ || mv $@.tmp $@
@@ -429,6 +434,7 @@
 	rm -f defaults.h
 	rm -f include/asterisk/build.h
 	rm -f main/version.c
+	rm -f include/asterisk/version.h
 	@$(MAKE) -C menuselect clean
 	cp -f .cleancount .lastclean
 
@@ -439,7 +445,7 @@
 	@$(MAKE) -C sounds dist-clean
 	rm -f menuselect.makeopts makeopts menuselect-tree menuselect.makedeps
 	rm -f makeopts.embed_rules
-	rm -f config.log config.status
+	rm -f config.log config.status config.cache
 	rm -rf autom4te.cache
 	rm -f include/asterisk/autoconfig.h
 	rm -f include/asterisk/buildopts.h
@@ -558,7 +564,14 @@
 		echo " WARNING WARNING WARNING" ;\
 	fi
 
-install: datafiles bininstall $(SUBDIRS_INSTALL)
+badshell:
+ifneq ($(findstring ~,$(DESTDIR)),)
+	@echo "Your shell doesn't do ~ expansion when expected (specifically, when doing \"make install DESTDIR=~/path\")."
+	@echo "Try replacing ~ with \$$HOME, as in \"make install DESTDIR=\$$HOME/path\"."
+	@exit 1
+endif
+
+install: badshell datafiles bininstall $(SUBDIRS_INSTALL)
 	@if [ -x /usr/sbin/asterisk-post-install ]; then \
 		/usr/sbin/asterisk-post-install $(DESTDIR) . ; \
 	fi
@@ -709,7 +722,7 @@
 
 rpm: __rpm
 
-__rpm: main/version.c include/asterisk/buildopts.h spec
+__rpm: main/version.c include/asterisk/version.h include/asterisk/buildopts.h spec
 	rm -rf /tmp/asterisk ; \
 	mkdir -p /tmp/asterisk/redhat/RPMS/i386 ; \
 	$(MAKE) DESTDIR=/tmp/asterisk install ; \
@@ -798,27 +811,43 @@
 
 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
 
-menuselect-tree: $(foreach dir,$(filter-out main,$(MOD_SUBDIRS)),$(wildcard $(dir)/*.c) $(wildcard $(dir)/*.cc)) build_tools/cflags.xml sounds/sounds.xml build_tools/embed_modules.xml configure
+menuselect-tree: $(foreach dir,$(filter-out main,$(MOD_SUBDIRS)),$(wildcard $(dir)/*.c) $(wildcard $(dir)/*.cc)) build_tools/cflags.xml build_tools/cflags-devmode.xml sounds/sounds.xml build_tools/embed_modules.xml configure
 	@echo "Generating input for menuselect ..."
 	@echo "<?xml version=\"1.0\"?>" > $@
 	@echo >> $@
@@ -826,6 +855,9 @@
 	@for dir in $(sort $(filter-out main,$(MOD_SUBDIRS))); do $(SUBMAKE) -C $${dir} SUBDIR=$${dir} moduleinfo >> $@; done
 	@for dir in $(sort $(filter-out main,$(MOD_SUBDIRS))); do $(SUBMAKE) -C $${dir} SUBDIR=$${dir} makeopts >> $@; done
 	@cat build_tools/cflags.xml >> $@
+	@if [ "${AST_DEVMODE}" = "yes" ]; then \
+		cat build_tools/cflags-devmode.xml >> $@; \
+	fi
 	@cat build_tools/embed_modules.xml >> $@
 	@cat sounds/sounds.xml >> $@
 	@echo "</menu>" >> $@
@@ -834,4 +866,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) main/version.c
+.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

Modified: team/oej/videocaps/Makefile.rules
URL: http://svn.digium.com/view/asterisk/team/oej/videocaps/Makefile.rules?view=diff&rev=110627&r1=110626&r2=110627
==============================================================================
--- team/oej/videocaps/Makefile.rules (original)
+++ team/oej/videocaps/Makefile.rules Tue Mar 25 08:23:08 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/oej/videocaps/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/team/oej/videocaps/UPGRADE.txt?view=diff&rev=110627&r1=110626&r2=110627
==============================================================================
--- team/oej/videocaps/UPGRADE.txt (original)
+++ team/oej/videocaps/UPGRADE.txt Tue Mar 25 08:23:08 2008
@@ -56,6 +56,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:
 
 * The voicemail configuration values 'maxmessage' and 'minmessage' have
@@ -77,6 +80,9 @@
 * ChanIsAvail() now has a 't' option, which allows the specified device
   to be queried for state without consulting the channel drivers. This
   performs mostly a 'ChanExists' sort of function.
+* ChannelRedirect() will not terminate the channel that fails to do a
+  channelredirect as it has done previously. Instead CHANNELREDIRECT_STATUS
+  will reflect if the attempt was successful of not.
 * SetCallerPres() has been replaced with the CALLERPRES() dialplan function
   and is now deprecated.
 * DISA()'s fifth argument is now an options argument.  If you have previously
@@ -154,6 +160,9 @@
   to modify modules.conf to add another "noload" line to ensure that only one of
   these three modules gets loaded.
 
+* Zap: The "msdstrip" option has been deprecated, as it provides no value over
+  the method of stripping digits in the dialplan using variable substring syntax.
+
 Configuration:
 
 * pbx_dundi.c: tos parameter changed to use new values. Old values like lowdelay,
@@ -175,3 +184,6 @@
    change your manager.conf to add the level to existing AMI users, if they
    want to see the CDR events generated.
 
+* The Originate command now requires the Originate write permission.  For
+   Originate with the Application parameter, you need the additional System
+   privilege if you want to do anything that calls out to a subshell.

Modified: team/oej/videocaps/acinclude.m4
URL: http://svn.digium.com/view/asterisk/team/oej/videocaps/acinclude.m4?view=diff&rev=110627&r1=110626&r2=110627
==============================================================================
--- team/oej/videocaps/acinclude.m4 (original)
+++ team/oej/videocaps/acinclude.m4 Tue Mar 25 08:23:08 2008
@@ -92,7 +92,7 @@
 # AST_C_DEFINE_CHECK([package], [macro name], [header file], [version])
 AC_DEFUN([AST_C_DEFINE_CHECK],
 [
-    if test "x${PBX_$1}" != "x1" -a "${USE_$1}" != "no"; then
+    if test "x${PBX_$1}" != "x1"; then
 	AC_MSG_CHECKING([for $2 in $3])
 	saved_cppflags="${CPPFLAGS}"
 	if test "x${$1_DIR}" != "x"; then
@@ -114,10 +114,11 @@
 		AC_DEFINE([HAVE_$1], 1, [Define if your system has the $1 headers.])
 		AC_DEFINE([HAVE_$1_VERSION], $4, [Define $1 headers version])
 	    ],
-	    [       AC_MSG_RESULT(no) ] 
+	    [   AC_MSG_RESULT(no) ] 
 	)
 	CPPFLAGS="${saved_cppflags}"
     fi
+    AC_SUBST(PBX_$1)
 ])
 
 
@@ -230,7 +231,10 @@
 		fi
 		CPPFLAGS="${CPPFLAGS} ${$1_INCLUDE}"
 
-		AC_COMPILE_IFELSE(
+		saved_ldflags="${LDFLAGS}"
+		LDFLAGS="${$1_LIB}"
+
+		AC_LINK_IFELSE(
 		    [ AC_LANG_PROGRAM( [ $5 ],
 				       [ $6; ]
 				       )],
@@ -240,6 +244,7 @@
 		    []
 		)
 		CPPFLAGS="${saved_cppflags}"
+		LDFLAGS="${saved_ldflags}"
 	    else
 		PBX_$1=1
 		AC_DEFINE([HAVE_$1], 1, [Define if your system has the $1 libraries.])

Modified: team/oej/videocaps/apps/app_amd.c
URL: http://svn.digium.com/view/asterisk/team/oej/videocaps/apps/app_amd.c?view=diff&rev=110627&r1=110626&r2=110627
==============================================================================
--- team/oej/videocaps/apps/app_amd.c (original)
+++ team/oej/videocaps/apps/app_amd.c Tue Mar 25 08:23:08 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/oej/videocaps/apps/app_authenticate.c
URL: http://svn.digium.com/view/asterisk/team/oej/videocaps/apps/app_authenticate.c?view=diff&rev=110627&r1=110626&r2=110627
==============================================================================
--- team/oej/videocaps/apps/app_authenticate.c (original)
+++ team/oej/videocaps/apps/app_authenticate.c Tue Mar 25 08:23:08 2008
@@ -159,8 +159,8 @@
 					continue;
 
 				len = strlen(buf) - 1;
-				if (buf[len - 1] == '\n')
-					buf[len - 1] = '\0';
+				if (buf[len] == '\n')
+					buf[len] = '\0';
 
 				if (ast_test_flag(&flags, OPT_MULTIPLE)) {
 					md5secret = buf;

Modified: team/oej/videocaps/apps/app_channelredirect.c
URL: http://svn.digium.com/view/asterisk/team/oej/videocaps/apps/app_channelredirect.c?view=diff&rev=110627&r1=110626&r2=110627
==============================================================================
--- team/oej/videocaps/apps/app_channelredirect.c (original)
+++ team/oej/videocaps/apps/app_channelredirect.c Tue Mar 25 08:23:08 2008
@@ -39,8 +39,10 @@
 static char *synopsis = "Redirects given channel to a dialplan target.";
 static char *descrip =
 "ChannelRedirect(channel,[[context,]extension,]priority)\n"
-"  Sends the specified channel to the specified extension priority\n";
-
+"  Sends the specified channel to the specified extension priority\n"
+"This application sets the following channel variables upon completion:\n"
+"  CHANNELREDIRECT_STATUS - Are set to the result of the redirection\n"
+"                           either NOCHANNEL or SUCCESS\n";
 
 static int asyncgoto_exec(struct ast_channel *chan, void *data)
 {
@@ -69,11 +71,12 @@
 	chan2 = ast_get_channel_by_name_locked(args.channel);
 	if (!chan2) {
 		ast_log(LOG_WARNING, "No such channel: %s\n", args.channel);
-		return -1;
+		pbx_builtin_setvar_helper(chan, "CHANNELREDIRECT_STATUS", "NOCHANNEL");
+		return 0;
 	}
 
 	res = ast_async_parseable_goto(chan2, args.label);
-
+	pbx_builtin_setvar_helper(chan, "CHANNELREDIRECT_STATUS", "SUCCESS");
 	ast_channel_unlock(chan2);
 
 	return res;

Modified: team/oej/videocaps/apps/app_chanspy.c
URL: http://svn.digium.com/view/asterisk/team/oej/videocaps/apps/app_chanspy.c?view=diff&rev=110627&r1=110626&r2=110627
==============================================================================
--- team/oej/videocaps/apps/app_chanspy.c (original)
+++ team/oej/videocaps/apps/app_chanspy.c Tue Mar 25 08:23:08 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
  */
@@ -222,23 +224,31 @@
 	.generate = spy_generate,
 };
 
-static int start_spying(struct ast_channel *chan, struct ast_channel *spychan, struct ast_audiohook *audiohook)
+static int start_spying(struct ast_channel *chan, const char *spychan_name, struct ast_audiohook *audiohook) 
 {
 	int res = 0;
 	struct ast_channel *peer = NULL;
 
-	ast_log(LOG_NOTICE, "Attaching %s to %s\n", spychan->name, chan->name);
+	ast_log(LOG_NOTICE, "Attaching %s to %s\n", spychan_name, chan->name);
 
 	res = ast_audiohook_attach(chan, audiohook);
 
-	if (!res && ast_test_flag(chan, AST_FLAG_NBRIDGE) && (peer = ast_bridged_channel(chan)))
+	if (!res && ast_test_flag(chan, AST_FLAG_NBRIDGE) && (peer = ast_bridged_channel(chan))) {
+		ast_channel_unlock(chan);
 		ast_softhangup(peer, AST_SOFTHANGUP_UNBRIDGE);
+	} else
+		ast_channel_unlock(chan);
 
 	return res;
 }
 
-static int channel_spy(struct ast_channel *chan, struct ast_channel *spyee, int *volfactor, int fd,
-	const struct ast_flags *flags, char *exitcontext)
+struct chanspy_ds {
+	struct ast_channel *chan;
+	ast_mutex_t lock;
+};
+
+static int channel_spy(struct ast_channel *chan, struct chanspy_ds *spyee_chanspy_ds, 
+	int *volfactor, int fd, const struct ast_flags *flags, char *exitcontext) 
 {
 	struct chanspy_translation_helper csth;
 	int running = 0, res, x = 0;
@@ -246,9 +256,29 @@
 	char *name;
 	struct ast_frame *f;
 	struct ast_silence_generator *silgen = NULL;
-
-	if (ast_check_hangup(chan) || ast_check_hangup(spyee))
+	struct ast_channel *spyee = NULL;
+	const char *spyer_name;
+
+	ast_channel_lock(chan);
+	spyer_name = ast_strdupa(chan->name);
+	ast_channel_unlock(chan);
+
+	ast_mutex_lock(&spyee_chanspy_ds->lock);
+	if (spyee_chanspy_ds->chan) {
+		spyee = spyee_chanspy_ds->chan;
+		ast_channel_lock(spyee);
+	}
+	ast_mutex_unlock(&spyee_chanspy_ds->lock);
+
+	if (!spyee)
 		return 0;
+
+	/* We now hold the channel lock on spyee */
+
+	if (ast_check_hangup(chan) || ast_check_hangup(spyee)) {
+		ast_channel_unlock(spyee);
+		return 0;
+	}
 
 	name = ast_strdupa(spyee->name);
 	ast_verb(2, "Spying on channel %s\n", name);
@@ -257,15 +287,17 @@
 
 	ast_audiohook_init(&csth.spy_audiohook, AST_AUDIOHOOK_TYPE_SPY, "ChanSpy");
 
-	if (start_spying(spyee, chan, &csth.spy_audiohook)) {
+	if (start_spying(spyee, spyer_name, &csth.spy_audiohook)) { /* Unlocks spyee */
 		ast_audiohook_destroy(&csth.spy_audiohook);
 		return 0;
 	}
 
 	if (ast_test_flag(flags, OPTION_WHISPER)) {
 		ast_audiohook_init(&csth.whisper_audiohook, AST_AUDIOHOOK_TYPE_WHISPER, "ChanSpy");
-		start_spying(spyee, chan, &csth.whisper_audiohook);
-	}
+		start_spying(spyee, spyer_name, &csth.whisper_audiohook); /* Unlocks spyee */
+	}
+
+	spyee = NULL;
 
 	csth.volfactor = *volfactor;
 
@@ -380,12 +412,93 @@
 	return running;
 }
 
-static struct ast_channel *next_channel(const struct ast_channel *last, const char *spec,
-	const char *exten, const char *context)
+/*!
+ * \note This relies on the embedded lock to be recursive, as it may be called
+ * due to a call to chanspy_ds_free with the lock held there.
+ */
+static void chanspy_ds_destroy(void *data)
+{
+	struct chanspy_ds *chanspy_ds = data;
+
+	/* Setting chan to be NULL is an atomic operation, but we don't want this
+	 * value to change while this lock is held.  The lock is held elsewhere
+	 * while it performs non-atomic operations with this channel pointer */
+
+	ast_mutex_lock(&chanspy_ds->lock);
+	chanspy_ds->chan = NULL;

[... 36684 lines stripped ...]



More information about the asterisk-commits mailing list