[asterisk-commits] moy: branch moy/mfcr2 r151979 - in /team/moy/mfcr2: ./ agi/ apps/ autoconf/ b...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Sat Oct 25 22:12:57 CDT 2008
Author: moy
Date: Sat Oct 25 22:12:54 2008
New Revision: 151979
URL: http://svn.digium.com/view/asterisk?view=rev&rev=151979
Log:
merged changes from trunk revision 151978
Added:
team/moy/mfcr2/autoconf/
- copied from r151978, trunk/autoconf/
team/moy/mfcr2/autoconf/acx_pthread.m4
- copied unchanged from r151978, trunk/autoconf/acx_pthread.m4
team/moy/mfcr2/autoconf/ast_c_compile_check.m4
- copied unchanged from r151978, trunk/autoconf/ast_c_compile_check.m4
team/moy/mfcr2/autoconf/ast_c_define_check.m4
- copied unchanged from r151978, trunk/autoconf/ast_c_define_check.m4
team/moy/mfcr2/autoconf/ast_check_gnu_make.m4
- copied unchanged from r151978, trunk/autoconf/ast_check_gnu_make.m4
team/moy/mfcr2/autoconf/ast_check_mandatory.m4
- copied unchanged from r151978, trunk/autoconf/ast_check_mandatory.m4
team/moy/mfcr2/autoconf/ast_check_openh323.m4
- copied unchanged from r151978, trunk/autoconf/ast_check_openh323.m4
team/moy/mfcr2/autoconf/ast_check_pwlib.m4
- copied unchanged from r151978, trunk/autoconf/ast_check_pwlib.m4
team/moy/mfcr2/autoconf/ast_ext_lib.m4
- copied unchanged from r151978, trunk/autoconf/ast_ext_lib.m4
team/moy/mfcr2/autoconf/ast_ext_tool_check.m4
- copied unchanged from r151978, trunk/autoconf/ast_ext_tool_check.m4
team/moy/mfcr2/autoconf/ast_func_fork.m4
- copied unchanged from r151978, trunk/autoconf/ast_func_fork.m4
team/moy/mfcr2/autoconf/ast_gcc_attribute.m4
- copied unchanged from r151978, trunk/autoconf/ast_gcc_attribute.m4
team/moy/mfcr2/autoconf/ast_prog_egrep.m4
- copied unchanged from r151978, trunk/autoconf/ast_prog_egrep.m4
team/moy/mfcr2/autoconf/ast_prog_ld.m4
- copied unchanged from r151978, trunk/autoconf/ast_prog_ld.m4
team/moy/mfcr2/autoconf/ast_prog_ld_gnu.m4
- copied unchanged from r151978, trunk/autoconf/ast_prog_ld_gnu.m4
team/moy/mfcr2/autoconf/ast_prog_sed.m4
- copied unchanged from r151978, trunk/autoconf/ast_prog_sed.m4
team/moy/mfcr2/codecs/ex_adpcm.h
- copied unchanged from r151978, trunk/codecs/ex_adpcm.h
team/moy/mfcr2/codecs/ex_alaw.h
- copied unchanged from r151978, trunk/codecs/ex_alaw.h
team/moy/mfcr2/codecs/ex_g722.h
- copied unchanged from r151978, trunk/codecs/ex_g722.h
team/moy/mfcr2/codecs/ex_g726.h
- copied unchanged from r151978, trunk/codecs/ex_g726.h
team/moy/mfcr2/codecs/ex_gsm.h
- copied unchanged from r151978, trunk/codecs/ex_gsm.h
team/moy/mfcr2/codecs/ex_ilbc.h
- copied unchanged from r151978, trunk/codecs/ex_ilbc.h
team/moy/mfcr2/codecs/ex_lpc10.h
- copied unchanged from r151978, trunk/codecs/ex_lpc10.h
team/moy/mfcr2/codecs/ex_speex.h
- copied unchanged from r151978, trunk/codecs/ex_speex.h
team/moy/mfcr2/codecs/ex_ulaw.h
- copied unchanged from r151978, trunk/codecs/ex_ulaw.h
team/moy/mfcr2/contrib/scripts/live_ast
- copied unchanged from r151978, trunk/contrib/scripts/live_ast
team/moy/mfcr2/include/asterisk/slin.h
- copied unchanged from r151978, trunk/include/asterisk/slin.h
Removed:
team/moy/mfcr2/acinclude.m4
team/moy/mfcr2/codecs/adpcm_slin_ex.h
team/moy/mfcr2/codecs/g722_slin_ex.h
team/moy/mfcr2/codecs/g726_slin_ex.h
team/moy/mfcr2/codecs/gsm_slin_ex.h
team/moy/mfcr2/codecs/ilbc_slin_ex.h
team/moy/mfcr2/codecs/lpc10_slin_ex.h
team/moy/mfcr2/codecs/slin_adpcm_ex.h
team/moy/mfcr2/codecs/slin_g722_ex.h
team/moy/mfcr2/codecs/slin_g726_ex.h
team/moy/mfcr2/codecs/slin_gsm_ex.h
team/moy/mfcr2/codecs/slin_ilbc_ex.h
team/moy/mfcr2/codecs/slin_lpc10_ex.h
team/moy/mfcr2/codecs/slin_resample_ex.h
team/moy/mfcr2/codecs/slin_speex_ex.h
team/moy/mfcr2/codecs/slin_ulaw_ex.h
team/moy/mfcr2/codecs/speex_slin_ex.h
team/moy/mfcr2/codecs/ulaw_slin_ex.h
Modified:
team/moy/mfcr2/ (props changed)
team/moy/mfcr2/CHANGES
team/moy/mfcr2/Makefile
team/moy/mfcr2/Makefile.moddir_rules
team/moy/mfcr2/UPGRADE.txt
team/moy/mfcr2/agi/Makefile
team/moy/mfcr2/apps/app_authenticate.c
team/moy/mfcr2/apps/app_dial.c
team/moy/mfcr2/apps/app_echo.c
team/moy/mfcr2/apps/app_externalivr.c
team/moy/mfcr2/apps/app_fax.c
team/moy/mfcr2/apps/app_meetme.c
team/moy/mfcr2/apps/app_mixmonitor.c
team/moy/mfcr2/apps/app_queue.c
team/moy/mfcr2/apps/app_skel.c
team/moy/mfcr2/apps/app_sms.c
team/moy/mfcr2/apps/app_speech_utils.c
team/moy/mfcr2/apps/app_stack.c
team/moy/mfcr2/apps/app_voicemail.c
team/moy/mfcr2/apps/app_waitforsilence.c
team/moy/mfcr2/bootstrap.sh
team/moy/mfcr2/build_tools/make_buildopts_h
team/moy/mfcr2/build_tools/menuselect-deps.in
team/moy/mfcr2/cdr/cdr_adaptive_odbc.c
team/moy/mfcr2/cdr/cdr_odbc.c
team/moy/mfcr2/channels/Makefile
team/moy/mfcr2/channels/chan_console.c
team/moy/mfcr2/channels/chan_dahdi.c
team/moy/mfcr2/channels/chan_features.c
team/moy/mfcr2/channels/chan_h323.c
team/moy/mfcr2/channels/chan_iax2.c
team/moy/mfcr2/channels/chan_local.c
team/moy/mfcr2/channels/chan_misdn.c
team/moy/mfcr2/channels/chan_oss.c
team/moy/mfcr2/channels/chan_sip.c
team/moy/mfcr2/channels/chan_skinny.c
team/moy/mfcr2/channels/chan_unistim.c
team/moy/mfcr2/channels/chan_usbradio.c
team/moy/mfcr2/channels/console_gui.c
team/moy/mfcr2/channels/console_video.c
team/moy/mfcr2/channels/misdn/isdn_lib.c
team/moy/mfcr2/channels/misdn/isdn_lib.h
team/moy/mfcr2/channels/vcodecs.c
team/moy/mfcr2/codecs/codec_a_mu.c
team/moy/mfcr2/codecs/codec_adpcm.c
team/moy/mfcr2/codecs/codec_alaw.c
team/moy/mfcr2/codecs/codec_g722.c
team/moy/mfcr2/codecs/codec_g726.c
team/moy/mfcr2/codecs/codec_gsm.c
team/moy/mfcr2/codecs/codec_ilbc.c
team/moy/mfcr2/codecs/codec_lpc10.c
team/moy/mfcr2/codecs/codec_resample.c
team/moy/mfcr2/codecs/codec_speex.c
team/moy/mfcr2/codecs/codec_ulaw.c
team/moy/mfcr2/codecs/lpc10/lpcini.c
team/moy/mfcr2/configs/agents.conf.sample
team/moy/mfcr2/configs/chan_dahdi.conf.sample
team/moy/mfcr2/configs/extensions.conf.sample
team/moy/mfcr2/configs/func_odbc.conf.sample
team/moy/mfcr2/configs/iax.conf.sample
team/moy/mfcr2/configs/modules.conf.sample
team/moy/mfcr2/configs/musiconhold.conf.sample
team/moy/mfcr2/configs/phoneprov.conf.sample
team/moy/mfcr2/configs/queues.conf.sample
team/moy/mfcr2/configs/res_ldap.conf.sample
team/moy/mfcr2/configs/sip.conf.sample
team/moy/mfcr2/configs/sip_notify.conf.sample
team/moy/mfcr2/configs/skinny.conf.sample
team/moy/mfcr2/configs/voicemail.conf.sample
team/moy/mfcr2/configure
team/moy/mfcr2/configure.ac
team/moy/mfcr2/contrib/init.d/rc.debian.asterisk
team/moy/mfcr2/contrib/init.d/rc.mandriva.asterisk
team/moy/mfcr2/contrib/init.d/rc.redhat.asterisk
team/moy/mfcr2/contrib/init.d/rc.suse.asterisk
team/moy/mfcr2/contrib/scripts/realtime_pgsql.sql
team/moy/mfcr2/contrib/scripts/safe_asterisk
team/moy/mfcr2/contrib/scripts/safe_asterisk_restart
team/moy/mfcr2/contrib/scripts/vmdb.sql
team/moy/mfcr2/doc/CODING-GUIDELINES
team/moy/mfcr2/doc/manager_1_1.txt
team/moy/mfcr2/doc/tex/channelvariables.tex
team/moy/mfcr2/doc/tex/misdn.tex
team/moy/mfcr2/funcs/func_callerid.c
team/moy/mfcr2/funcs/func_cdr.c
team/moy/mfcr2/funcs/func_curl.c
team/moy/mfcr2/funcs/func_groupcount.c
team/moy/mfcr2/funcs/func_math.c
team/moy/mfcr2/funcs/func_odbc.c
team/moy/mfcr2/funcs/func_strings.c
team/moy/mfcr2/funcs/func_timeout.c
team/moy/mfcr2/include/asterisk.h
team/moy/mfcr2/include/asterisk/astmm.h
team/moy/mfcr2/include/asterisk/audiohook.h
team/moy/mfcr2/include/asterisk/autoconfig.h.in
team/moy/mfcr2/include/asterisk/chanvars.h
team/moy/mfcr2/include/asterisk/config.h
team/moy/mfcr2/include/asterisk/endian.h
team/moy/mfcr2/include/asterisk/features.h
team/moy/mfcr2/include/asterisk/hashtab.h
team/moy/mfcr2/include/asterisk/localtime.h
team/moy/mfcr2/include/asterisk/options.h
team/moy/mfcr2/include/asterisk/sched.h
team/moy/mfcr2/include/asterisk/strings.h
team/moy/mfcr2/include/asterisk/tcptls.h
team/moy/mfcr2/include/asterisk/threadstorage.h
team/moy/mfcr2/main/Makefile
team/moy/mfcr2/main/ast_expr2.c
team/moy/mfcr2/main/ast_expr2.fl
team/moy/mfcr2/main/ast_expr2.h
team/moy/mfcr2/main/ast_expr2.y
team/moy/mfcr2/main/ast_expr2f.c
team/moy/mfcr2/main/asterisk.c
team/moy/mfcr2/main/astmm.c
team/moy/mfcr2/main/astobj2.c
team/moy/mfcr2/main/audiohook.c
team/moy/mfcr2/main/chanvars.c
team/moy/mfcr2/main/cli.c
team/moy/mfcr2/main/config.c
team/moy/mfcr2/main/cryptostub.c
team/moy/mfcr2/main/dial.c
team/moy/mfcr2/main/features.c
team/moy/mfcr2/main/hashtab.c
team/moy/mfcr2/main/http.c
team/moy/mfcr2/main/manager.c
team/moy/mfcr2/main/pbx.c
team/moy/mfcr2/main/rtp.c
team/moy/mfcr2/main/stdtime/localtime.c
team/moy/mfcr2/main/taskprocessor.c
team/moy/mfcr2/main/tcptls.c
team/moy/mfcr2/main/tdd.c
team/moy/mfcr2/main/term.c
team/moy/mfcr2/main/translate.c
team/moy/mfcr2/makeopts.in
team/moy/mfcr2/pbx/pbx_ael.c
team/moy/mfcr2/pbx/pbx_config.c
team/moy/mfcr2/pbx/pbx_spool.c
team/moy/mfcr2/phoneprov/000000000000.cfg
team/moy/mfcr2/phoneprov/polycom.xml
team/moy/mfcr2/res/ais/clm.c
team/moy/mfcr2/res/ais/evt.c
team/moy/mfcr2/res/res_agi.c
team/moy/mfcr2/res/res_clioriginate.c
team/moy/mfcr2/res/res_config_curl.c
team/moy/mfcr2/res/res_config_ldap.c
team/moy/mfcr2/res/res_config_odbc.c
team/moy/mfcr2/res/res_config_pgsql.c
team/moy/mfcr2/res/res_config_sqlite.c
team/moy/mfcr2/res/res_http_post.c
team/moy/mfcr2/res/res_indications.c
team/moy/mfcr2/res/res_limit.c
team/moy/mfcr2/res/res_musiconhold.c
team/moy/mfcr2/res/res_odbc.c
team/moy/mfcr2/res/res_phoneprov.c
team/moy/mfcr2/res/res_realtime.c
team/moy/mfcr2/res/res_smdi.c
team/moy/mfcr2/sounds/Makefile
team/moy/mfcr2/sounds/sounds.xml
team/moy/mfcr2/utils/Makefile
team/moy/mfcr2/utils/ael_main.c
team/moy/mfcr2/utils/astman.c
team/moy/mfcr2/utils/extconf.c
team/moy/mfcr2/utils/muted.c
Propchange: team/moy/mfcr2/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.
Propchange: team/moy/mfcr2/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Modified: team/moy/mfcr2/CHANGES
URL: http://svn.digium.com/view/asterisk/team/moy/mfcr2/CHANGES?view=diff&rev=151979&r1=151978&r2=151979
==============================================================================
--- team/moy/mfcr2/CHANGES (original)
+++ team/moy/mfcr2/CHANGES Sat Oct 25 22:12:54 2008
@@ -1,18 +1,51 @@
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 1.6.1 to Asterisk 1.6.2 -------------
------------------------------------------------------------------------------
+
+SIP Changes
+-----------
+ * Added support for SUBSCRIBE/NOTIFY with dialog-info based call pickups.
+ Snom phones use this for call pickup of extensions that the phone is
+ subscribed to.
+ * Added support for subscribing to a voice mailbox on a remote server and
+ making the new/old message count available to local devices.
+ * Added support for setting the domain in the URI for caller of an
+ outbound call by using the SIPFROMDOMAIN channel variable.
+
+Skinny Changes
+--------------
+ * The configuration file now holds seperate sections for devices and lines.
+ Please have a look at configs/skinny.conf.sample and change your skinny.conf
+ accordingly.
Dialplan Functions
------------------
* Added a new dialplan function, CURLOPT, which permits setting various
options that may be useful with the CURL dialplan function, such as
cookies, proxies, connection timeouts, passwords, etc.
+ * Permit the syntax and synopsis fields of the corresponding dialplan
+ functions to be individually set from func_odbc.conf.
+ * Added debugging CLI functions to func_odbc, 'odbc read' and 'odbc write'.
+
+Applications
+------------
+ * Scheduled meetme conferences may now have their end times extended by
+ using MeetMeAdmin.
+ * app_authenticate now gives the ability to select a prompt other than
+ the default.
Miscellaneous
-------------
* res_jabber: autoprune has been disabled by default, to avoid misconfiguration
that would end up being interpreted as a bug once Asterisk started removing
the contacts from a user list.
+ * extensions.conf now allows you to use keyword "same" to define an extension
+ without actually specifying an extension. It uses exactly the same pattern
+ as previously used on the last "exten" line. For example:
+ exten => 123,1,NoOp(something)
+ same => n,SomethingElse()
+ * musiconhold.conf classes of type 'files' can now use relative directory paths,
+ which are interpreted as relative to the astvarlibdir setting in asterisk.conf.
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 1.6.0 to Asterisk 1.6.1 -------------
@@ -104,6 +137,8 @@
* ExternalIVR now takes several options that affect the way it performs, as
well as having several new commands. Please see doc/externalivr.txt for the
complete documentation.
+ * Added ability to communicate over a TCP socket instead of forking a child process for the
+ ExternalIVR application.
* ChanIsAvail has a new option, 'a', which will return all available channels instead
of just the first one if you give the function more then one channel to check.
* PrivacyManager now takes an option where you can specify a context where the
@@ -123,6 +158,8 @@
'UNSUPPORTED'. This change makes SendImage() more consistent with other
applications.
* Park has a new option, 's', which silences the announcement of the parking space number.
+ * A non-numeric, zero, or negative timeout specified to Dial() will now be interpreted as
+ invalid input and will be assumed to mean that no timeout is desired.
SIP Changes
-----------
@@ -184,6 +221,7 @@
--------------------------------
* The Status command now takes an optional list of variables to display
along with channel status.
+ * The QueueEntry event now also includes the channel's uniqueid
ODBC Changes
------------
@@ -282,6 +320,8 @@
* Originate now accepts codec settings with "Codecs: alaw, ulaw, h264"
* New command: Atxfer. See doc/manager_1_1.txt for more details or
manager show command Atxfer from the CLI
+ * New command: IAXregistry. See doc/manager_1_1.txt for more details or
+ manager show command IAXregistry from the CLI
Dialplan functions
------------------
@@ -336,6 +376,8 @@
currently scheduled for each. Gives you a feel for how busy the sip channel
driver is.
* Added 'skinny show lines verbose' CLI command. This will show the subs for every channel.
+ * Cleanup another bunch of CLI commands. Now all modules follow the same schema.
+ (Done by lmadsen, junky and mvanbaak during the devcon 2008)
SIP changes
-----------
@@ -446,8 +488,8 @@
----------------------
* The ackcall and endcall options are now supplemented with options acceptdtmf
and enddtmf. These allow for the DTMF keypress to be configurable. The options
- default to their old hard-coded values ('#' and '*' respectively) so this should
- not break any existing agent installations.
+ default to their old hard-coded values ('#' and '*' respectively) so this should
+ not break any existing agent installations.
DAHDI channel driver (chan_dahdi) Changes
----------------------------------------
@@ -590,6 +632,10 @@
when a realtime queue member is removed. Since there is no calling channel associated
with these events, the string "REALTIME" is placed where the channel's unique id
is typically placed.
+ * The configuration method for the "joinempty" and "leavewhenempty" options has
+ changed to a comma-separated list of methods of determining member availability
+ instead of vague terms such as "yes," "loose," "no," and "strict." These old four
+ values are still accepted for backwards-compatibility, though.
MeetMe Changes
--------------
@@ -634,7 +680,7 @@
WaitForRing() now takes floating pt timeout arg.
SpeechBackground() -- clarified in the docstrings that the timeout is an integer seconds.
* Added 's' option to Page application.
- * Added 'E' and 'V' commands to ExternalIVR.
+ * Added 'E', 'V', and 'P' commands to ExternalIVR.
* Added 'o' and 'X' options to Chanspy.
* Added a new dialplan application, Bridge, which allows you to bridge the
calling channel to any other active channel on the system.
@@ -654,8 +700,6 @@
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
---------------------
@@ -867,7 +911,7 @@
allocation of additional extensions which will reach the specified user.
* A new option for the configure script, --enable-internal-poll, has been added
for use with systems which may have a buggy implementation of the poll system
- call. If you notice odd behavior such as the CLI being unresponsive on remote
- consoles, you may want to try using this option. This option is enabled by default
- on Darwin systems since it is known that the Darwin poll() implementation has
- odd issues.
+ call. If you notice odd behavior such as the CLI being unresponsive on remote
+ consoles, you may want to try using this option. This option is enabled by default
+ on Darwin systems since it is known that the Darwin poll() implementation has
+ odd issues.
Modified: team/moy/mfcr2/Makefile
URL: http://svn.digium.com/view/asterisk/team/moy/mfcr2/Makefile?view=diff&rev=151979&r1=151978&r2=151979
==============================================================================
--- team/moy/mfcr2/Makefile (original)
+++ team/moy/mfcr2/Makefile Sat Oct 25 22:12:54 2008
@@ -232,8 +232,6 @@
ASTCFLAGS+=-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(DEBUG)
-ASTCFLAGS+=-include $(ASTTOPDIR)/include/asterisk/autoconfig.h
-
ifeq ($(AST_DEVMODE),yes)
ASTCFLAGS+=-Werror -Wunused -Wundef $(AST_DECLARATION_AFTER_STATEMENT) -Wmissing-format-attribute -Wformat-security #-Wformat=2
endif
@@ -264,7 +262,7 @@
endif
ifeq ($(OSARCH),OpenBSD)
- ASTCFLAGS+=-pthread
+ ASTCFLAGS+=-pthread -ftrampolines
endif
ifeq ($(OSARCH),SunOS)
@@ -298,11 +296,11 @@
MOD_SUBDIRS_MENUSELECT_TREE:=$(MOD_SUBDIRS:%=%-menuselect-tree)
ifneq ($(findstring darwin,$(OSARCH)),)
- ASTCFLAGS+=-D__Darwin__
+ ASTCFLAGS+=-D__Darwin__ -fnested-functions
SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace
else
# These are used for all but Darwin
- SOLINK=-shared -Xlinker -x
+ SOLINK=-shared
ifneq ($(findstring BSD,$(OSARCH)),)
LDFLAGS+=-L/usr/local/lib
endif
@@ -310,6 +308,10 @@
ifeq ($(OSARCH),SunOS)
SOLINK=-shared -fpic -L/usr/local/ssl/lib -lrt
+endif
+
+ifeq ($(OSARCH),OpenBSD)
+ SOLINK=-shared -fpic
endif
# comment to print directories during submakes
@@ -600,6 +602,8 @@
@echo " + doxygen installed on your local system +"
@echo " +-------------------------------------------+"
@$(MAKE) -s oldmodcheck
+
+isntall: install
upgrade: bininstall
Modified: team/moy/mfcr2/Makefile.moddir_rules
URL: http://svn.digium.com/view/asterisk/team/moy/mfcr2/Makefile.moddir_rules?view=diff&rev=151979&r1=151978&r2=151979
==============================================================================
--- team/moy/mfcr2/Makefile.moddir_rules (original)
+++ team/moy/mfcr2/Makefile.moddir_rules Sat Oct 25 22:12:54 2008
@@ -17,12 +17,6 @@
# (remember that they apply recursively to prerequisites).
# Also note that we can only set one variable per rule, so we have to
# repeat the left hand side to set multiple variables.
-
-ifneq ($(findstring MALLOC_DEBUG,$(MENUSELECT_CFLAGS)),)
- ifeq ($(findstring astmm.h,$(ASTCFLAGS)),)
- ASTCFLAGS+=-include $(ASTTOPDIR)/include/asterisk/astmm.h
- endif
-endif
ifeq ($(findstring LOADABLE_MODULES,$(MENUSELECT_CFLAGS)),)
ASTCFLAGS+=${GC_CFLAGS}
Modified: team/moy/mfcr2/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/team/moy/mfcr2/UPGRADE.txt?view=diff&rev=151979&r1=151978&r2=151979
==============================================================================
--- team/moy/mfcr2/UPGRADE.txt (original)
+++ team/moy/mfcr2/UPGRADE.txt Sat Oct 25 22:12:54 2008
@@ -77,6 +77,13 @@
had any significance). Since this violates the Principle of Least Surprise,
it has been changed.
+* The default console now will use colors according to the default background
+ color, instead of forcing the background color to black. If you are using a
+ light colored background for your console, you may wish to use the option
+ flag '-W' to present better color choices for the various messages. However,
+ if you'd prefer the old method of forcing colors to white text on a black
+ background, the compatiblity option -B is provided for this purpose.
+
Voicemail:
* The voicemail configuration values 'maxmessage' and 'minmessage' have
@@ -258,6 +265,10 @@
to differentiate your variable from the append operator. This potential
conflict is unlikely, but is documented here to be thorough.
+* skinny.conf now has seperate sections for lines and devices.
+ Please have a look at configs/skinny.conf.sample and update
+ your skinny.conf.
+
Manager:
* Manager has been upgraded to version 1.1 with a lot of changes.
Modified: team/moy/mfcr2/agi/Makefile
URL: http://svn.digium.com/view/asterisk/team/moy/mfcr2/agi/Makefile?view=diff&rev=151979&r1=151978&r2=151979
==============================================================================
--- team/moy/mfcr2/agi/Makefile (original)
+++ team/moy/mfcr2/agi/Makefile Sat Oct 25 22:12:54 2008
@@ -29,8 +29,13 @@
strcompat.c: ../main/strcompat.c
@cp $< $@
+strcompat.o: ASTCFLAGS+=-DSTANDALONE
+
+eagi-test.o: ASTCFLAGS+=-DSTANDALONE
eagi-test: eagi-test.o strcompat.o
+
+eagi-sphinx-test.o: ASTCFLAGS+=-DSTANDALONE
eagi-sphinx-test: eagi-sphinx-test.o
Modified: team/moy/mfcr2/apps/app_authenticate.c
URL: http://svn.digium.com/view/asterisk/team/moy/mfcr2/apps/app_authenticate.c?view=diff&rev=151979&r1=151978&r2=151979
==============================================================================
--- team/moy/mfcr2/apps/app_authenticate.c (original)
+++ team/moy/mfcr2/apps/app_authenticate.c Sat Oct 25 22:12:54 2008
@@ -58,7 +58,7 @@
static char *synopsis = "Authenticate a user";
static char *descrip =
-" Authenticate(password[,options[,maxdigits]]): This application asks the caller\n"
+" Authenticate(password[,options[,maxdigits[,prompt]]]): This application asks the caller\n"
"to enter a given password in order to continue dialplan execution. If the password\n"
"begins with the '/' character, it is interpreted as a file which contains a list of\n"
"valid passwords, listed 1 password per line in the file.\n"
@@ -76,6 +76,8 @@
" maxdigits have been entered (without requiring the user to\n"
" press the '#' key).\n"
" Defaults to 0 - no limit - wait for the user press the '#' key.\n"
+" prompt - Override the agent-pass prompt file.\n"
+ ;
;
static int auth_exec(struct ast_channel *chan, void *data)
@@ -88,6 +90,7 @@
AST_APP_ARG(password);
AST_APP_ARG(options);
AST_APP_ARG(maxdigits);
+ AST_APP_ARG(prompt);
);
if (ast_strlen_zero(data)) {
@@ -115,6 +118,12 @@
maxdigits = sizeof(passwd) - 2;
}
+ if (!ast_strlen_zero(arglist.prompt)) {
+ prompt = arglist.prompt;
+ } else {
+ prompt = "agent-pass";
+ }
+
/* Start asking for password */
for (retries = 0; retries < 3; retries++) {
if ((res = ast_app_getdata(chan, prompt, passwd, maxdigits, 0)) < 0)
Modified: team/moy/mfcr2/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/moy/mfcr2/apps/app_dial.c?view=diff&rev=151979&r1=151978&r2=151979
==============================================================================
--- team/moy/mfcr2/apps/app_dial.c (original)
+++ team/moy/mfcr2/apps/app_dial.c Sat Oct 25 22:12:54 2008
@@ -1589,8 +1589,10 @@
to = atoi(args.timeout);
if (to > 0)
to *= 1000;
- else
- ast_log(LOG_WARNING, "Invalid timeout specified: '%s'\n", args.timeout);
+ else {
+ ast_log(LOG_WARNING, "Invalid timeout specified: '%s'. Setting timeout to infinite\n", args.timeout);
+ to = -1;
+ }
}
if (!outgoing) {
@@ -1926,11 +1928,7 @@
res = -1;
goto done;
}
- if (opermode && !strncmp(chan->tech->type, "DAHDI", 3) && !strncmp(peer->name, "DAHDI", 3)) {
- /* what's this special handling for dahdi <-> dahdi ?
- * A: dahdi to dahdi calls are natively bridged at the kernel driver
- * level, so we need to ensure that this mode gets propagated
- * all the way down. */
+ if (opermode) {
struct oprmode oprmode;
oprmode.peer = peer;
Modified: team/moy/mfcr2/apps/app_echo.c
URL: http://svn.digium.com/view/asterisk/team/moy/mfcr2/apps/app_echo.c?view=diff&rev=151979&r1=151978&r2=151979
==============================================================================
--- team/moy/mfcr2/apps/app_echo.c (original)
+++ team/moy/mfcr2/apps/app_echo.c Sat Oct 25 22:12:54 2008
@@ -54,8 +54,9 @@
while (ast_waitfor(chan, -1) > -1) {
struct ast_frame *f = ast_read(chan);
- if (!f)
+ if (!f) {
break;
+ }
f->delivery.tv_sec = 0;
f->delivery.tv_usec = 0;
if (ast_write(chan, f)) {
Modified: team/moy/mfcr2/apps/app_externalivr.c
URL: http://svn.digium.com/view/asterisk/team/moy/mfcr2/apps/app_externalivr.c?view=diff&rev=151979&r1=151978&r2=151979
==============================================================================
--- team/moy/mfcr2/apps/app_externalivr.c (original)
+++ team/moy/mfcr2/apps/app_externalivr.c Sat Oct 25 22:12:54 2008
@@ -46,6 +46,7 @@
#include "asterisk/app.h"
#include "asterisk/utils.h"
#include "asterisk/tcptls.h"
+#include "asterisk/astobj2.h"
static const char *app = "ExternalIVR";
@@ -419,7 +420,7 @@
}
if (!strncmp(app_args[0], "ivr://", 6)) {
- struct server_args ivr_desc = {
+ struct ast_tcptls_session_args ivr_desc = {
.accept_fd = -1,
.name = "IVR",
};
@@ -438,9 +439,9 @@
}
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);
+ ivr_desc.local_address.sin_family = AF_INET;
+ ivr_desc.local_address.sin_port = htons(port);
+ memcpy(&ivr_desc.local_address.sin_addr.s_addr, hp.hp.h_addr, hp.hp.h_length);
ser = ast_tcptls_client_start(&ivr_desc);
if (!ser) {
Modified: team/moy/mfcr2/apps/app_fax.c
URL: http://svn.digium.com/view/asterisk/team/moy/mfcr2/apps/app_fax.c?view=diff&rev=151979&r1=151978&r2=151979
==============================================================================
--- team/moy/mfcr2/apps/app_fax.c (original)
+++ team/moy/mfcr2/apps/app_fax.c Sat Oct 25 22:12:54 2008
@@ -29,6 +29,7 @@
#include <tiffio.h>
#include <spandsp.h>
+#include <spandsp/version.h>
#include "asterisk/lock.h"
#include "asterisk/file.h"
@@ -310,6 +311,7 @@
int original_read_fmt = AST_FORMAT_SLINEAR;
int original_write_fmt = AST_FORMAT_SLINEAR;
fax_state_t fax;
+ t30_state_t *t30state;
struct ast_dsp *dsp = NULL;
int detect_tone = 0;
struct ast_frame *inf = NULL;
@@ -318,6 +320,14 @@
struct timeval now, start, state_change;
enum ast_control_t38 t38control;
+#if SPANDSP_RELEASE_DATE >= 20081012
+ /* for spandsp shaphots 0.0.6 and higher */
+ t30state = &fax.t30;
+#else
+ /* for spandsp release 0.0.5 */
+ t30state = &fax.t30_state;
+#endif
+
original_read_fmt = s->chan->readformat;
if (original_read_fmt != AST_FORMAT_SLINEAR) {
res = ast_set_read_format(s->chan, AST_FORMAT_SLINEAR);
@@ -341,16 +351,16 @@
/* Setup logging */
set_logging(&fax.logging);
- set_logging(&fax.t30_state.logging);
+ set_logging(&t30state->logging);
/* Configure terminal */
- set_local_info(&fax.t30_state, s);
- set_file(&fax.t30_state, s);
- set_ecm(&fax.t30_state, TRUE);
+ set_local_info(t30state, s);
+ set_file(t30state, s);
+ set_ecm(t30state, TRUE);
fax_set_transmit_on_idle(&fax, TRUE);
- t30_set_phase_e_handler(&fax.t30_state, phase_e_handler, s);
+ t30_set_phase_e_handler(t30state, phase_e_handler, s);
if (s->t38state == T38_STATE_UNAVAILABLE) {
ast_debug(1, "T38 is unavailable on %s\n", s->chan->name);
@@ -415,9 +425,9 @@
}
/* Watchdog */
- if (last_state != fax.t30_state.state) {
+ if (last_state != t30state->state) {
state_change = ast_tvnow();
- last_state = fax.t30_state.state;
+ last_state = t30state->state;
}
} else if (inf->frametype == AST_FRAME_CONTROL && inf->subclass == AST_CONTROL_T38 &&
inf->datalen == sizeof(enum ast_control_t38)) {
@@ -456,10 +466,10 @@
by t30_terminate, display diagnostics and set status variables although no transmittion
has taken place yet. */
if (res > 0) {
- t30_set_phase_e_handler(&fax.t30_state, NULL, NULL);
- }
-
- t30_terminate(&fax.t30_state);
+ t30_set_phase_e_handler(t30state, NULL, NULL);
+ }
+
+ t30_terminate(t30state);
fax_release(&fax);
done:
@@ -486,6 +496,19 @@
struct timeval now, start, state_change, last_frame;
enum ast_control_t38 t38control;
+ t30_state_t *t30state;
+ t38_core_state_t *t38state;
+
+#if SPANDSP_RELEASE_DATE >= 20081012
+ /* for spandsp shaphots 0.0.6 and higher */
+ t30state = &t38.t30;
+ t38state = &t38.t38_fe.t38;
+#else
+ /* for spandsp releases 0.0.5 */
+ t30state = &t38.t30_state;
+ t38state = &t38.t38;
+#endif
+
/* Initialize terminal */
memset(&t38, 0, sizeof(t38));
if (t38_terminal_init(&t38, s->caller_mode, t38_tx_packet_handler, s->chan) == NULL) {
@@ -495,15 +518,15 @@
/* Setup logging */
set_logging(&t38.logging);
- set_logging(&t38.t30_state.logging);
- set_logging(&t38.t38.logging);
+ set_logging(&t30state->logging);
+ set_logging(&t38state->logging);
/* Configure terminal */
- set_local_info(&t38.t30_state, s);
- set_file(&t38.t30_state, s);
- set_ecm(&t38.t30_state, TRUE);
-
- t30_set_phase_e_handler(&t38.t30_state, phase_e_handler, s);
+ set_local_info(t30state, s);
+ set_file(t30state, s);
+ set_ecm(t30state, TRUE);
+
+ t30_set_phase_e_handler(t30state, phase_e_handler, s);
now = start = state_change = ast_tvnow();
@@ -529,12 +552,12 @@
ast_debug(10, "frame %d/%d, len=%d\n", inf->frametype, inf->subclass, inf->datalen);
if (inf->frametype == AST_FRAME_MODEM && inf->subclass == AST_MODEM_T38) {
- t38_core_rx_ifp_packet(&t38.t38, inf->data.ptr, inf->datalen, inf->seqno);
+ t38_core_rx_ifp_packet(t38state, inf->data.ptr, inf->datalen, inf->seqno);
/* Watchdog */
- if (last_state != t38.t30_state.state) {
+ if (last_state != t30state->state) {
state_change = ast_tvnow();
- last_state = t38.t30_state.state;
+ last_state = t30state->state;
}
} else if (inf->frametype == AST_FRAME_CONTROL && inf->subclass == AST_CONTROL_T38 &&
inf->datalen == sizeof(enum ast_control_t38)) {
@@ -564,7 +587,7 @@
if (inf)
ast_frfree(inf);
- t30_terminate(&t38.t30_state);
+ t30_terminate(t30state);
t38_terminal_release(&t38);
return res;
Modified: team/moy/mfcr2/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/moy/mfcr2/apps/app_meetme.c?view=diff&rev=151979&r1=151978&r2=151979
==============================================================================
--- team/moy/mfcr2/apps/app_meetme.c (original)
+++ team/moy/mfcr2/apps/app_meetme.c Sat Oct 25 22:12:54 2008
@@ -219,6 +219,7 @@
static int fuzzystart;
static int earlyalert;
static int endalert;
+static int extendby;
/* Log participant count to the RealTime backend */
static int rt_log_members;
@@ -297,6 +298,7 @@
static const char *descrip3 =
" MeetMeAdmin(confno,command[,user]): Run admin command for conference\n"
" 'e' -- Eject last user that joined\n"
+" 'E' -- Extend conference end time, if scheduled\n"
" 'k' -- Kick one user out of conference\n"
" 'K' -- Kick all users out of conference\n"
" 'l' -- Unlock conference\n"
@@ -315,6 +317,12 @@
" 'U' -- Raise one user's listen volume\n"
" 'v' -- Lower entire conference listening volume\n"
" 'V' -- Raise entire conference listening volume\n"
+" MeetMeAdmin will additionally set the variable MEETMEADMINSTATUS with one\n"
+"of the following values:\n"
+" 'NOPARSE' -- Invalid arguments\n"
+" 'NOTFOUND' -- User specified was not found\n"
+" 'FAILED' -- Another failure occurred\n"
+" 'OK' -- The operation was completed successfully\n"
"";
static const char *descrip4 =
@@ -352,6 +360,7 @@
#define MAX_CONFNUM 80
#define MAX_PIN 80
+#define OPTIONS_LEN 32
/*! \brief The MeetMe Conference object */
struct ast_conference {
@@ -380,6 +389,9 @@
char pinadmin[MAX_PIN]; /*!< If protected by a admin PIN */
char uniqueid[32];
long endtime; /*!< When to end the conf if scheduled */
+ const char *useropts; /*!< RealTime user flags */
+ const char *adminopts; /*!< RealTime moderator flags */
+ const char *bookid; /*!< RealTime conference id */
struct ast_frame *transframe[32];
struct ast_frame *origframe;
struct ast_trans_pvt *transpath[32];
@@ -883,7 +895,6 @@
return cnf;
}
-
static char *complete_meetmecmd(const char *line, const char *word, int pos, int state)
{
static char *cmds[] = {"concise", "lock", "unlock", "mute", "unmute", "kick", "list", NULL};
@@ -939,18 +950,17 @@
}
AST_LIST_UNLOCK(&confs);
return usr ? ast_strdup(usrno) : NULL;
- } else if (strstr(line, "list") && (state == 0))
- return ast_strdup("concise");
+ }
}
return NULL;
}
-static char *meetme_cmd(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+static char *meetme_show_cmd(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
/* Process the command */
+ struct ast_conf_user *user;
struct ast_conference *cnf;
- struct ast_conf_user *user;
int hr, min, sec;
int i = 0, total = 0;
time_t now;
@@ -960,17 +970,15 @@
switch (cmd) {
case CLI_INIT:
- e->command = "meetme";
+ e->command = "meetme list [concise]";
e->usage =
- "Usage: meetme (un)lock|(un)mute|kick|list [concise] <confno> <usernumber>\n"
- " Executes a command for the conference or on a conferee\n";
+ "Usage: meetme list [concise] <confno> \n"
+ " List all or a specific conference.\n";
return NULL;
case CLI_GENERATE:
return complete_meetmecmd(a->line, a->word, a->pos, a->n);
}
- if (a->argc > 8)
- ast_cli(a->fd, "Invalid Arguments.\n");
/* Check for length so no buffer will overflow... */
for (i = 0; i < a->argc; i++) {
if (strlen(a->argv[i]) > 100)
@@ -982,9 +990,9 @@
return CLI_FAILURE;
}
- if (a->argc == 1 || (a->argc == 2 && !strcasecmp(a->argv[1], "concise"))) {
- /* 'MeetMe': List all the conferences */
- int concise = (a->argc == 2 && !strcasecmp(a->argv[1], "concise"));
+ if (a->argc == 2 || (a->argc == 3 && !strcasecmp(a->argv[2], "concise"))) {
+ /* List all the conferences */
+ int concise = (a->argc == 3 && !strcasecmp(a->argv[2], "concise"));
now = time(NULL);
AST_LIST_LOCK(&confs);
if (AST_LIST_EMPTY(&confs)) {
@@ -1027,59 +1035,12 @@
}
ast_free(cmdline);
return CLI_SUCCESS;
- }
- if (a->argc < 3) {
- ast_free(cmdline);
- return CLI_SHOWUSAGE;
- }
-
- ast_str_set(&cmdline, 0, "%s", a->argv[2]); /* Argv 2: conference number */
- if (strstr(a->argv[1], "lock")) {
- if (strcmp(a->argv[1], "lock") == 0) {
- /* Lock */
- ast_str_append(&cmdline, 0, ",L");
- } else {
- /* Unlock */
- ast_str_append(&cmdline, 0, ",l");
- }
- } else if (strstr(a->argv[1], "mute")) {
- if (a->argc < 4) {
- ast_free(cmdline);
- return CLI_SHOWUSAGE;
- }
- if (strcmp(a->argv[1], "mute") == 0) {
- /* Mute */
- if (strcmp(a->argv[3], "all") == 0) {
- ast_str_append(&cmdline, 0, ",N");
- } else {
- ast_str_append(&cmdline, 0, ",M,%s", a->argv[3]);
- }
- } else {
- /* Unmute */
- if (strcmp(a->argv[3], "all") == 0) {
- ast_str_append(&cmdline, 0, ",n");
- } else {
- ast_str_append(&cmdline, 0, ",m,%s", a->argv[3]);
- }
- }
- } else if (strcmp(a->argv[1], "kick") == 0) {
- if (a->argc < 4) {
- ast_free(cmdline);
- return CLI_SHOWUSAGE;
- }
- if (strcmp(a->argv[3], "all") == 0) {
- /* Kick all */
- ast_str_append(&cmdline, 0, ",K");
- } else {
- /* Kick a single user */
- ast_str_append(&cmdline, 0, ",k,%s", a->argv[3]);
- }
} else if (strcmp(a->argv[1], "list") == 0) {
int concise = (a->argc == 4 && (!strcasecmp(a->argv[3], "concise")));
/* List all the users in a conference */
if (AST_LIST_EMPTY(&confs)) {
if (!concise) {
- ast_cli(a->fd, "No active conferences.\n");
+ ast_cli(a->fd, "No active MeetMe conferences.\n");
}
ast_free(cmdline);
return CLI_SUCCESS;
@@ -1134,6 +1095,97 @@
AST_LIST_UNLOCK(&confs);
ast_free(cmdline);
return CLI_SUCCESS;
+ }
+ if (a->argc < 2) {
+ ast_free(cmdline);
+ return CLI_SHOWUSAGE;
+ }
+
+ ast_debug(1, "Cmdline: %s\n", cmdline->str);
+
+ admin_exec(NULL, cmdline->str);
+ ast_free(cmdline);
+
+ return CLI_SUCCESS;
+}
+
+
+static char *meetme_cmd(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+{
+ /* Process the command */
+ struct ast_str *cmdline = NULL;
+ int i = 0;
+
+ switch (cmd) {
+ case CLI_INIT:
+ e->command = "meetme {lock|unlock|mute|unmute|kick}";
+ e->usage =
+ "Usage: meetme (un)lock|(un)mute|kick <confno> <usernumber>\n"
+ " Executes a command for the conference or on a conferee\n";
+ return NULL;
+ case CLI_GENERATE:
+ return complete_meetmecmd(a->line, a->word, a->pos, a->n);
+ }
+
+ if (a->argc > 8)
+ ast_cli(a->fd, "Invalid Arguments.\n");
+ /* Check for length so no buffer will overflow... */
+ for (i = 0; i < a->argc; i++) {
+ if (strlen(a->argv[i]) > 100)
+ ast_cli(a->fd, "Invalid Arguments.\n");
+ }
+
+ /* Max confno length */
+ if (!(cmdline = ast_str_create(MAX_CONFNUM))) {
+ return CLI_FAILURE;
+ }
+
+ if (a->argc < 1) {
+ ast_free(cmdline);
+ return CLI_SHOWUSAGE;
+ }
+
+ ast_str_set(&cmdline, 0, "%s", a->argv[2]); /* Argv 2: conference number */
+ if (strstr(a->argv[1], "lock")) {
+ if (strcmp(a->argv[1], "lock") == 0) {
+ /* Lock */
+ ast_str_append(&cmdline, 0, ",L");
+ } else {
+ /* Unlock */
+ ast_str_append(&cmdline, 0, ",l");
+ }
+ } else if (strstr(a->argv[1], "mute")) {
+ if (a->argc < 4) {
+ ast_free(cmdline);
+ return CLI_SHOWUSAGE;
+ }
+ if (strcmp(a->argv[1], "mute") == 0) {
+ /* Mute */
+ if (strcmp(a->argv[3], "all") == 0) {
+ ast_str_append(&cmdline, 0, ",N");
+ } else {
+ ast_str_append(&cmdline, 0, ",M,%s", a->argv[3]);
+ }
+ } else {
+ /* Unmute */
+ if (strcmp(a->argv[3], "all") == 0) {
+ ast_str_append(&cmdline, 0, ",n");
+ } else {
+ ast_str_append(&cmdline, 0, ",m,%s", a->argv[3]);
+ }
+ }
+ } else if (strcmp(a->argv[1], "kick") == 0) {
[... 20558 lines stripped ...]
More information about the asterisk-commits
mailing list