[asterisk-commits] rmudgett: branch rmudgett/misdn_facility r158035 - in /team/rmudgett/misdn_fa...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Nov 19 21:05:19 CST 2008
Author: rmudgett
Date: Wed Nov 19 21:05:18 2008
New Revision: 158035
URL: http://svn.digium.com/view/asterisk?view=rev&rev=158035
Log:
Resolve conflicts and restart automerge
Merged revisions 157369,157434,157471,157510,157570,157584,157611,157649,157680,157711,157752,157791,157827,157854-157856,157913,157946,157977,157984 via svnmerge from
https://origsvn.digium.com/svn/asterisk/team/group/issue8824
................
r157369 | mmichelson | 2008-11-18 13:46:33 -0600 (Tue, 18 Nov 2008) | 3 lines
Resolve conflict and reset automerge
................
r157434 | root | 2008-11-18 14:53:22 -0600 (Tue, 18 Nov 2008) | 21 lines
Merged revisions 157427 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r157427 | mmichelson | 2008-11-18 14:23:58 -0600 (Tue, 18 Nov 2008) | 13 lines
* Add a lock to be used in the update_call_counter function.
* Revert logic to mirror 1.4's in the sense that it will not allow
the call counter to dip below 0.
These two measures prevent potential races that could cause a SIP peer
to appear to be busy forever.
(closes issue #13668)
Reported by: mjc
Patches:
hintfix_trunk_rev152649.patch uploaded by wolfelectronic (license 586)
........
................
r157471 | root | 2008-11-18 15:53:22 -0600 (Tue, 18 Nov 2008) | 24 lines
Merged revisions 157460-157461,157463 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r157460 | qwell | 2008-11-18 15:01:46 -0600 (Tue, 18 Nov 2008) | 8 lines
Add init script for ArchLinux
(closes issue #13667)
Reported by: sherif
Patches:
archlinux_rc_makefile.patch uploaded by sherif (license 591)
archlinux_rc_makefile-2.patch uploaded by mvanbaak (license 7)
........
r157461 | qwell | 2008-11-18 15:03:12 -0600 (Tue, 18 Nov 2008) | 1 line
Make this executable
........
r157463 | qwell | 2008-11-18 15:15:08 -0600 (Tue, 18 Nov 2008) | 1 line
Remove echo line that is unnecessary (Thanks seanbright).
........
................
r157510 | root | 2008-11-18 16:53:45 -0600 (Tue, 18 Nov 2008) | 14 lines
Merged revisions 157496 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r157496 | mmichelson | 2008-11-18 15:59:24 -0600 (Tue, 18 Nov 2008) | 6 lines
Based on Russell's advice on the asterisk-dev list, I have
changed from using a global lock in update_call_counter to
using the locks within the sip_pvt and sip_peer structures
instead.
........
................
r157570 | root | 2008-11-18 17:53:40 -0600 (Tue, 18 Nov 2008) | 1 line
automerge cancel
................
r157584 | mmichelson | 2008-11-18 17:57:14 -0600 (Tue, 18 Nov 2008) | 3 lines
Resolve conflict and reset automerge
................
r157611 | root | 2008-11-18 18:54:00 -0600 (Tue, 18 Nov 2008) | 31 lines
Merged revisions 157592,157600 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r157592 | mmichelson | 2008-11-18 17:59:02 -0600 (Tue, 18 Nov 2008) | 10 lines
This change prevents a crash from occurring if res_musiconhold.so
is unloaded and then Asterisk is stopped. The problem was that
we are not unregistering the ast_moh_destroy function at exit.
(closes issue #13761)
Reported by: eliel
Patches:
res_musiconhold.c.patch uploaded by eliel (license 64)
........
r157600 | seanbright | 2008-11-18 18:27:45 -0600 (Tue, 18 Nov 2008) | 10 lines
Fix a few build problems on Solaris (and check for an md5 utility in
configure instead of the icky loop I was doing before).
(closes issue #13842)
Reported by: snuffy
Patches:
bug13842_20081106.diff uploaded by snuffy (license 35)
13842.diff uploaded by seanbright (license 71)
Tested by: snuffy
........
................
r157649 | root | 2008-11-18 19:53:23 -0600 (Tue, 18 Nov 2008) | 28 lines
Merged revisions 157632,157639 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r157632 | mmichelson | 2008-11-18 18:59:48 -0600 (Tue, 18 Nov 2008) | 10 lines
If malloc returns NULL, we need to return NULL immediately or
else Asterisk will crash when attempting to dereference the NULL
pointer
(closes issue #13858)
Reported by: eliel
Patches:
astmm.c.patch uploaded by eliel (license 64)
........
r157639 | tilghman | 2008-11-18 19:02:45 -0600 (Tue, 18 Nov 2008) | 7 lines
Starting with a change to ensure that ast_verbose() preserves ABI compatibility
in 1.6.1 (as compared to 1.6.0 and versions of 1.4), this change also
deprecates the use of Asterisk with FreeBSD 4, given the central use of va_copy
in core functions. va_copy() is C99, anyway, and we already require C99 for
other purposes, so this isn't really a big change anyway. This change also
simplifies some of the core ast_str_* functions.
........
................
r157680 | root | 2008-11-18 23:54:03 -0600 (Tue, 18 Nov 2008) | 10 lines
Merged revisions 157675 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r157675 | twilson | 2008-11-18 23:37:10 -0600 (Tue, 18 Nov 2008) | 2 lines
Comment out config line that is in a commented out context
........
................
r157711 | root | 2008-11-19 06:58:56 -0600 (Wed, 19 Nov 2008) | 13 lines
Merged revisions 157706 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r157706 | kpfleming | 2008-11-19 06:42:19 -0600 (Wed, 19 Nov 2008) | 5 lines
make some corrections to the ast_agi_register_multiple(), ast_agi_unregister_multiple() and ast_agi_fdprintf() API calls to be consistent with API guidelines
also, move UPGRADE.txt to UPGRADE-1.6.txt and make the new UPGRADE.txt contain information about upgrading between Asterisk 1.6 releases
........
................
r157752 | root | 2008-11-19 07:53:50 -0600 (Wed, 19 Nov 2008) | 13 lines
Merged revisions 157739,157743 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r157739 | kpfleming | 2008-11-19 07:27:02 -0600 (Wed, 19 Nov 2008) | 1 line
move relevant entries into UPGRADE.txt and resync UPGRADE-1.6.txt with previous branches
........
r157743 | kpfleming | 2008-11-19 07:45:48 -0600 (Wed, 19 Nov 2008) | 1 line
correct small bug introduced during API conversion
........
................
r157791 | root | 2008-11-19 12:53:54 -0600 (Wed, 19 Nov 2008) | 14 lines
Merged revisions 157784 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r157784 | tilghman | 2008-11-19 12:28:14 -0600 (Wed, 19 Nov 2008) | 6 lines
Add check for t38_terminal_init in spandsp (not found in 0.0.6, so it should fail reasonably)
(closes issue #13473)
Reported by: genie
Patches:
20080916__bug13473.diff.txt uploaded by Corydon76 (license 14)
........
................
r157827 | root | 2008-11-19 13:55:08 -0600 (Wed, 19 Nov 2008) | 37 lines
Merged revisions 157818,157820 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r157818 | twilson | 2008-11-19 13:25:14 -0600 (Wed, 19 Nov 2008) | 2 lines
Fix checking for CONFIG_STATUS_FILEINVALID so that modules don't crash upon trying to parse an invalid config
........
r157820 | mmichelson | 2008-11-19 13:37:32 -0600 (Wed, 19 Nov 2008) | 24 lines
Merge the changes from the res_timing_timerfd branch.
This provides a new timing interface. In order to use it,
you must be running a Linux with a kernel version of
2.6.25 or newer and glibc 2.8 or newer.
This timing interface is a good alternative if a timing
source is necessary (e.g. for IAX trunking) but DAHDI is
otherwise unnecessary for the system.
For now, this commit contains the actual work done in the
res_timing_timerfd branch. There are no notices in the README
or CHANGES files yet, but they will be added in my next commit.
The timing API of Asterisk also needs to have a bit of work done
with regards to choosing which timing interface to use. This commit
makes the choice a build-time decision, by only allowing one of
the timer interfaces to be chosen in menuselect. It would be preferable
if the choice could be made at run-time, however. The preferred timing
interface could be loaded and tested, and if it does not work, choice
number two may be used instead. That sort of thing. That is beyond
the scope of work in this branch though.
........
................
r157854 | mmichelson | 2008-11-19 14:35:15 -0600 (Wed, 19 Nov 2008) | 3 lines
Commit missing support for handling 181 responses.
................
r157855 | mmichelson | 2008-11-19 14:44:17 -0600 (Wed, 19 Nov 2008) | 5 lines
Add proper support for parsing redirecting information in an INVITE.
This was not working properly since the channel had not yet been created
at the time that the INVITE was being parsed
................
r157856 | mmichelson | 2008-11-19 14:46:52 -0600 (Wed, 19 Nov 2008) | 4 lines
And re-add support for parsing redirecting information
in a re-INVITE
................
r157913 | root | 2008-11-19 16:53:36 -0600 (Wed, 19 Nov 2008) | 39 lines
Merged revisions 157870,157874,157893,157906 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r157870 | tilghman | 2008-11-19 15:54:39 -0600 (Wed, 19 Nov 2008) | 10 lines
Two new functions, REALTIME_FIELD, and REALTIME_HASH, which should make
querying realtime from the dialplan a little more consistent and easy to use.
The original REALTIME function is preserved, for those who are already
accustomed to that interface.
(closes issue #13651)
Reported by: Corydon76
Patches:
20081119__bug13651__2.diff.txt uploaded by Corydon76 (license 14)
Tested by: blitzrage, Corydon76
........
r157874 | mmichelson | 2008-11-19 15:55:25 -0600 (Wed, 19 Nov 2008) | 6 lines
Cast this value since a uint64_t is not the same
as an unsigned long long on a 64-bit machine.
Reported by kpfleming on IRC
........
r157893 | tilghman | 2008-11-19 16:01:00 -0600 (Wed, 19 Nov 2008) | 2 lines
Add info about REALTIME_FIELD and REALTIME_HASH
........
r157906 | mmichelson | 2008-11-19 16:17:05 -0600 (Wed, 19 Nov 2008) | 4 lines
Commit CHANGES change I promised when submitting
res_timing_timerfd
........
................
r157946 | root | 2008-11-19 17:53:24 -0600 (Wed, 19 Nov 2008) | 18 lines
Merged revisions 157939-157940 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r157939 | mmichelson | 2008-11-19 17:29:14 -0600 (Wed, 19 Nov 2008) | 4 lines
Add a RES_NOT_DYNAMIC case for the CLI command
'queue remove member'
........
r157940 | mmichelson | 2008-11-19 17:30:42 -0600 (Wed, 19 Nov 2008) | 3 lines
Add a space to the output
........
................
r157977 | rmudgett | 2008-11-19 18:23:04 -0600 (Wed, 19 Nov 2008) | 5 lines
Fixes JIRA ABE-1726
The dial extension could be empty if you are using MISDN_KEYPAD
to control ISDN provider features.
................
r157984 | root | 2008-11-19 18:53:32 -0600 (Wed, 19 Nov 2008) | 26 lines
Merged revisions 157973-157974 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r157973 | twilson | 2008-11-19 18:06:46 -0600 (Wed, 19 Nov 2008) | 2 lines
Fix compiling
................
r157974 | kpfleming | 2008-11-19 18:08:12 -0600 (Wed, 19 Nov 2008) | 13 lines
Merged revisions 157859 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r157859 | kpfleming | 2008-11-19 15:34:47 -0600 (Wed, 19 Nov 2008) | 7 lines
the gcc optimizer frequently finds broken code (use of uninitalized variables, unreachable code, etc.), which is good. however, developers usually compile with the optimizer turned off, because if they need to debug the resulting code, optimized code makes that process very difficult. this means that we get code changes committed that weren't adequately checked over for these sorts of problems.
with this build system change, if (and only if) --enable-dev-mode was used and DONT_OPTIMIZE is turned on, when a source file is compiled it will actually be preprocessed (into a .i or .ii file), then compiled once with optimization (with the result sent to /dev/null) and again without optimization (but only if the first compile succeeded, of course).
while making these changes, i did some cleanup work in Makefile.rules to move commonly-used combinations of flag variables into their own variables, to make the file easier to read and maintain
........
................
................
Added:
team/rmudgett/misdn_facility/UPGRADE-1.6.txt
- copied unchanged from r157984, team/group/issue8824/UPGRADE-1.6.txt
team/rmudgett/misdn_facility/contrib/init.d/rc.archlinux.asterisk
- copied unchanged from r157984, team/group/issue8824/contrib/init.d/rc.archlinux.asterisk
team/rmudgett/misdn_facility/res/res_timing_timerfd.c
- copied unchanged from r157984, team/group/issue8824/res/res_timing_timerfd.c
Modified:
team/rmudgett/misdn_facility/ (props changed)
team/rmudgett/misdn_facility/CHANGES
team/rmudgett/misdn_facility/Makefile
team/rmudgett/misdn_facility/Makefile.moddir_rules
team/rmudgett/misdn_facility/Makefile.rules
team/rmudgett/misdn_facility/UPGRADE.txt (contents, props changed)
team/rmudgett/misdn_facility/apps/app_dial.c
team/rmudgett/misdn_facility/apps/app_followme.c
team/rmudgett/misdn_facility/apps/app_meetme.c
team/rmudgett/misdn_facility/apps/app_queue.c
team/rmudgett/misdn_facility/apps/app_stack.c
team/rmudgett/misdn_facility/apps/app_voicemail.c
team/rmudgett/misdn_facility/build_tools/make_buildopts_h
team/rmudgett/misdn_facility/build_tools/make_version
team/rmudgett/misdn_facility/build_tools/menuselect-deps.in
team/rmudgett/misdn_facility/cdr/cdr_adaptive_odbc.c
team/rmudgett/misdn_facility/cdr/cdr_csv.c
team/rmudgett/misdn_facility/cdr/cdr_custom.c
team/rmudgett/misdn_facility/cdr/cdr_manager.c
team/rmudgett/misdn_facility/cdr/cdr_odbc.c
team/rmudgett/misdn_facility/cdr/cdr_pgsql.c
team/rmudgett/misdn_facility/cdr/cdr_radius.c
team/rmudgett/misdn_facility/cdr/cdr_sqlite3_custom.c
team/rmudgett/misdn_facility/cdr/cdr_tds.c
team/rmudgett/misdn_facility/channels/ (props changed)
team/rmudgett/misdn_facility/channels/chan_local.c
team/rmudgett/misdn_facility/channels/chan_misdn.c
team/rmudgett/misdn_facility/channels/chan_sip.c
team/rmudgett/misdn_facility/channels/chan_skinny.c
team/rmudgett/misdn_facility/channels/chan_usbradio.c
team/rmudgett/misdn_facility/channels/chan_vpb.cc
team/rmudgett/misdn_facility/channels/iax2-provision.c
team/rmudgett/misdn_facility/channels/misdn/ (props changed)
team/rmudgett/misdn_facility/channels/misdn/Makefile
team/rmudgett/misdn_facility/channels/misdn_config.c
team/rmudgett/misdn_facility/codecs/gsm/Makefile
team/rmudgett/misdn_facility/codecs/gsm/src/ (props changed)
team/rmudgett/misdn_facility/configs/cdr_adaptive_odbc.conf.sample
team/rmudgett/misdn_facility/configure
team/rmudgett/misdn_facility/configure.ac
team/rmudgett/misdn_facility/funcs/func_realtime.c
team/rmudgett/misdn_facility/include/asterisk/agi.h
team/rmudgett/misdn_facility/include/asterisk/autoconfig.h.in
team/rmudgett/misdn_facility/include/asterisk/channel.h
team/rmudgett/misdn_facility/include/asterisk/logger.h
team/rmudgett/misdn_facility/include/asterisk/strings.h
team/rmudgett/misdn_facility/main/astmm.c
team/rmudgett/misdn_facility/main/config.c
team/rmudgett/misdn_facility/main/db1-ast/Makefile
team/rmudgett/misdn_facility/main/db1-ast/btree/ (props changed)
team/rmudgett/misdn_facility/main/db1-ast/db/ (props changed)
team/rmudgett/misdn_facility/main/db1-ast/hash/ (props changed)
team/rmudgett/misdn_facility/main/db1-ast/mpool/ (props changed)
team/rmudgett/misdn_facility/main/db1-ast/recno/ (props changed)
team/rmudgett/misdn_facility/main/features.c
team/rmudgett/misdn_facility/main/logger.c
team/rmudgett/misdn_facility/main/stdtime/ (props changed)
team/rmudgett/misdn_facility/main/stdtime/Makefile
team/rmudgett/misdn_facility/main/utils.c
team/rmudgett/misdn_facility/main/xmldoc.c
team/rmudgett/misdn_facility/makeopts.in
team/rmudgett/misdn_facility/pbx/Makefile
team/rmudgett/misdn_facility/pbx/ael/ (props changed)
team/rmudgett/misdn_facility/pbx/pbx_dundi.c
team/rmudgett/misdn_facility/res/Makefile
team/rmudgett/misdn_facility/res/ael/ (props changed)
team/rmudgett/misdn_facility/res/ais/ (props changed)
team/rmudgett/misdn_facility/res/ais/evt.c
team/rmudgett/misdn_facility/res/res_agi.c
team/rmudgett/misdn_facility/res/res_clialiases.c
team/rmudgett/misdn_facility/res/res_musiconhold.c
team/rmudgett/misdn_facility/res/res_timing_dahdi.c
team/rmudgett/misdn_facility/res/res_timing_pthread.c
team/rmudgett/misdn_facility/res/snmp/ (props changed)
Propchange: team/rmudgett/misdn_facility/
------------------------------------------------------------------------------
automerge = *
Propchange: team/rmudgett/misdn_facility/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Propchange: team/rmudgett/misdn_facility/
------------------------------------------------------------------------------
--- misdn-facility (original)
+++ misdn-facility Wed Nov 19 21:05:18 2008
@@ -1,1 +1,1 @@
-/team/group/issue8824:1-157349
+/team/group/issue8824:1-158034
Propchange: team/rmudgett/misdn_facility/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed Nov 19 21:05:18 2008
@@ -1,1 +1,1 @@
-/trunk:1-157260
+/trunk:1-157983
Modified: team/rmudgett/misdn_facility/CHANGES
URL: http://svn.digium.com/view/asterisk/team/rmudgett/misdn_facility/CHANGES?view=diff&rev=158035&r1=158034&r2=158035
==============================================================================
--- team/rmudgett/misdn_facility/CHANGES (original)
+++ team/rmudgett/misdn_facility/CHANGES Wed Nov 19 21:05:18 2008
@@ -71,6 +71,8 @@
* Added a new dialplan function, LISTFILTER, which permits removing elements
from a set list, by name. Uses the same general syntax as the existing CUT
and FIELDQTY dialplan functions, which also manage lists.
+ * Added REALTIME_FIELD and REALTIME_HASH, which should aid users in better
+ obtaining realtime data from the dialplan.
Applications
------------
@@ -967,3 +969,11 @@
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.
+
+Timer Changes
+--------------------
+* In addition to timing from DAHDI, there is a new timing module called
+ res_timing_timerfd. In order to use this, you must be running Linux with
+ a kernel version 2.6.25 or newer as well as glibc 2.8 or newer. The configure
+ script will be able to tell if you have the requirements. From menuselect, select
+ res_timing_timerfd from the Resource Modules menu.
Modified: team/rmudgett/misdn_facility/Makefile
URL: http://svn.digium.com/view/asterisk/team/rmudgett/misdn_facility/Makefile?view=diff&rev=158035&r1=158034&r2=158035
==============================================================================
--- team/rmudgett/misdn_facility/Makefile (original)
+++ team/rmudgett/misdn_facility/Makefile Wed Nov 19 21:05:18 2008
@@ -92,6 +92,7 @@
export AWK
export GREP
export ID
+export MD5
# even though we could use '-include makeopts' here, use a wildcard
# lookup anyway, so that make won't try to build makeopts if it doesn't
@@ -565,8 +566,8 @@
mkdir -p $(DESTDIR)$(ASTDATADIR)/firmware
mkdir -p $(DESTDIR)$(ASTDATADIR)/firmware/iax
mkdir -p $(DESTDIR)$(ASTMANDIR)/man8
- $(INSTALL) -m 644 doc/core-*.xml $(ASTDATADIR)/documentation
- $(INSTALL) -m 644 doc/appdocsxml.dtd $(ASTVARLIBDIR)/documentation
+ $(INSTALL) -m 644 doc/core-*.xml $(DESTDIR)$(ASTDATADIR)/documentation
+ $(INSTALL) -m 644 doc/appdocsxml.dtd $(DESTDIR)$(ASTVARLIBDIR)/documentation
$(INSTALL) -m 644 keys/iaxtel.pub $(DESTDIR)$(ASTDATADIR)/keys
$(INSTALL) -m 644 keys/freeworlddialup.pub $(DESTDIR)$(ASTDATADIR)/keys
$(INSTALL) -m 644 doc/asterisk.8 $(DESTDIR)$(ASTMANDIR)/man8
@@ -811,6 +812,8 @@
elif [ -f /etc/SuSE-release -o -f /etc/novell-release ]; then \
$(INSTALL) -m 755 contrib/init.d/rc.suse.asterisk $(DESTDIR)/etc/init.d/asterisk; \
if [ -z "$(DESTDIR)" ]; then /sbin/chkconfig --add asterisk; fi; \
+ elif [ -f /etc/arch-release -o -f /etc/arch-release ]; then \
+ $(INSTALL) -m 755 contrib/init.d/rc.archlinux.asterisk $(DESTDIR)/etc/rc.d/asterisk; \
elif [ -f /etc/slackware-version ]; then \
echo "Slackware is not currently supported, although an init script does exist for it." \
else \
Modified: team/rmudgett/misdn_facility/Makefile.moddir_rules
URL: http://svn.digium.com/view/asterisk/team/rmudgett/misdn_facility/Makefile.moddir_rules?view=diff&rev=158035&r1=158034&r2=158035
==============================================================================
--- team/rmudgett/misdn_facility/Makefile.moddir_rules (original)
+++ team/rmudgett/misdn_facility/Makefile.moddir_rules Wed Nov 19 21:05:18 2008
@@ -110,7 +110,7 @@
@for file in $(patsubst %,$(SUBDIR)/%,$(filter-out %.eo,$^)); do echo "INPUT (../$${file})" >> $@; done
clean::
- rm -f *.so *.o *.oo *.eo
+ rm -f *.so *.o *.oo *.eo *.i *.ii
rm -f .*.o.d .*.oo.d
rm -f *.s *.i
rm -f modules.link
Modified: team/rmudgett/misdn_facility/Makefile.rules
URL: http://svn.digium.com/view/asterisk/team/rmudgett/misdn_facility/Makefile.rules?view=diff&rev=158035&r1=158034&r2=158035
==============================================================================
--- team/rmudgett/misdn_facility/Makefile.rules (original)
+++ team/rmudgett/misdn_facility/Makefile.rules Wed Nov 19 21:05:18 2008
@@ -3,7 +3,7 @@
#
# Makefile rules
#
-# Copyright (C) 2006, Digium, Inc.
+# Copyright (C) 2006-2008, Digium, Inc.
#
# Kevin P. Fleming <kpfleming at digium.com>
#
@@ -11,7 +11,6 @@
# the GNU General Public License
#
-# Rules for various build phases.
# Each command is preceded by a short comment on what to do.
# Prefixing one or the other with @\# or @ or nothing makes the desired
# behaviour. ECHO_PREFIX prefixes the comment, CMD_PREFIX prefixes the command.
@@ -21,15 +20,17 @@
.PHONY: dist-clean
# extra cflags to build dependencies. Recursively expanded.
-MAKE_DEPS= -MD -MT $@ -MF .$(subst /,_,$@).d -MP
+MAKE_DEPS=-MD -MT $@ -MF .$(subst /,_,$@).d -MP
ifeq ($(NOISY_BUILD),)
ECHO_PREFIX=@
CMD_PREFIX=@
else
- ECHO_PREFIX=@\#
+ ECHO_PREFIX=@\#
CMD_PREFIX=
endif
+
+OPTIMIZE?=-O6
ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS)),)
# More GSM codec optimization
@@ -38,30 +39,75 @@
# ppro's, etc, as well as the AMD K6 and K7.
#K6OPT=-DK6OPT
- OPTIMIZE?=-O6
ASTCFLAGS+=$(OPTIMIZE)
endif
-# build rules for various targets
+# shortcuts for common combinations of flags; these must be recursively expanded so that
+# per-target settings will be applied
+CC_CFLAGS=$(PTHREAD_CFLAGS) $(ASTCFLAGS)
+CXX_CFLAGS=$(PTHREAD_CFLAGS) $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(AST_DECLARATION_AFTER_STATEMENT),$(ASTCFLAGS))
+CC_LDFLAGS_SO=$(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK)
+CXX_LDFLAGS_SO=$(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK)
+CC_LIBS=$(PTHREAD_LIBS) $(LIBS)
+CXX_LIBS=$(PTHREAD_LIBS) $(LIBS)
+
+# determine whether to double-compile so that the optimizer can report code path problems
+# this is only done when developer mode and DONT_OPTIMIZE are both enabled
+# in that case, we run the preprocessor to produce a .i or .ii file from the source
+# code, then compile once with optimizer enabled (and the output to /dev/null),
+# and if that doesn't fail then compile again with optimizer disabled
+ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS))$(AST_DEVMODE),DONT_OPTIMIZEyes)
+COMPILE_DOUBLE=yes
+endif
+
+%.o: %.s
+ $(ECHO_PREFIX) echo " [AS] $< -> $@"
+ifeq ($(COMPILE_DOUBLE),yes)
+ $(CMD_PREFIX) $(CC) -o /dev/null -c $< $(CC_CFLAGS) $(OPTIMIZE)
+endif
+ $(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS)
+
%.o: %.i
$(ECHO_PREFIX) echo " [CCi] $< -> $@"
- $(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) $(MAKE_DEPS)
+ifeq ($(COMPILE_DOUBLE),yes)
+ $(CMD_PREFIX) $(CC) -o /dev/null -c $< $(CC_CFLAGS) $(OPTIMIZE)
+endif
+ $(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS)
%.o: %.c
$(ECHO_PREFIX) echo " [CC] $< -> $@"
- $(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) $(MAKE_DEPS)
+ifeq ($(COMPILE_DOUBLE),yes)
+ $(CMD_PREFIX) $(CC) -o $(@:%.o=%.i) -E $< $(CC_CFLAGS) $(MAKE_DEPS)
+ $(CMD_PREFIX) $(CC) -o /dev/null -c $(@:%.o=%.i) $(CC_CFLAGS) $(OPTIMIZE)
+ $(CMD_PREFIX) $(CC) -o $@ -c $(@:%.o=%.i) $(CC_CFLAGS)
+else
+ $(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS) $(MAKE_DEPS)
+endif
%.i: %.c
$(ECHO_PREFIX) echo " [CPP] $< -> $@"
- $(CMD_PREFIX) $(CC) -o $@ -E $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) $(MAKE_DEPS)
+ $(CMD_PREFIX) $(CC) -o $@ -E $< $(CC_CFLAGS) $(MAKE_DEPS)
-%.o: %.s
- $(ECHO_PREFIX) echo " [AS] $< -> $@"
- $(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) $(MAKE_DEPS)
+%.oo: %.ii
+ $(ECHO_PREFIX) echo " [CXXi] $< -> $@"
+ifeq ($(COMPILE_DOUBLE),yes)
+ $(CMD_PREFIX) $(CXX) -o /dev/null -c $< $(CXX_CFLAGS) $(OPTIMIZE)
+endif
+ $(CMD_PREFIX) $(CXX) -o $@ -c $< $(CXX_CFLAGS)
%.oo: %.cc
$(ECHO_PREFIX) echo " [CXX] $< -> $@"
- $(CMD_PREFIX) $(CXX) -o $@ -c $< $(PTHREAD_CFLAGS) $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(AST_DECLARATION_AFTER_STATEMENT),$(ASTCFLAGS)) $(MAKE_DEPS)
+ifeq ($(COMPILE_DOUBLE),yes)
+ $(CMD_PREFIX) $(CXX) -o $(@:%.oo=%.ii) -E $< $(CXX_CFLAGS) $(MAKE_DEPS)
+ $(CMD_PREFIX) $(CXX) -o /dev/null -c $(@:%.oo=%.ii) $(CXX_CFLAGS) $(MAKE_DEPS) $(OPTIMIZE)
+ $(CMD_PREFIX) $(CXX) -o $@ -c $(@:%.oo=%.ii) $(CXX_CFLAGS) $(MAKE_DEPS)
+else
+ $(CMD_PREFIX) $(CXX) -o $@ -c $< $(CXX_CFLAGS) $(MAKE_DEPS)
+endif
+
+%.ii: %.cc
+ $(ECHO_PREFIX) echo " [CPP] $< -> $@"
+ $(CMD_PREFIX) $(CXX) -o $@ -E $< $(CXX_CFLAGS) $(MAKE_DEPS)
%.c: %.y
$(ECHO_PREFIX) echo " [BISON] $< -> $@"
@@ -73,11 +119,11 @@
%.so: %.o
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
- $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK) $^ $(PTHREAD_LIBS) $(LIBS)
+ $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(CC_LDFLAGS_SO) $^ $(CC_LIBS)
%.so: %.oo
$(ECHO_PREFIX) echo " [LDXX] $^ -> $@"
- $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK) $^ $(PTHREAD_LIBS) $(LIBS)
+ $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(CXX_LDFLAGS_SO) $^ $(CXX_LIBS)
%.eo: %.o
$(ECHO_PREFIX) echo " [EMBED] $< -> $@"
@@ -93,6 +139,6 @@
%: %.o
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
- $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $^ $(PTHREAD_LIBS) $(LIBS)
+ $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $^ $(CXX_LIBS)
dist-clean:: clean
Modified: team/rmudgett/misdn_facility/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/team/rmudgett/misdn_facility/UPGRADE.txt?view=diff&rev=158035&r1=158034&r2=158035
==============================================================================
--- team/rmudgett/misdn_facility/UPGRADE.txt (original)
+++ team/rmudgett/misdn_facility/UPGRADE.txt Wed Nov 19 21:05:18 2008
@@ -1,262 +1,51 @@
-=========================================================
-=== Information for upgrading from Asterisk 1.4 to 1.6
+===========================================================
+=== Information for upgrading between Asterisk 1.6 versions
===
===
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
-=== UPGRADE.txt -- Upgrade info for 1.4 to 1.6
-=========================================================
+=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
+===========================================================
-AEL:
+From 1.6.0.1 to 1.6.1:
-* Macros are now implemented underneath with the Gosub() application.
- Heaven Help You if you wrote code depending on any aspect of this!
- Previous to 1.6, macros were implemented with the Macro() app, which
- provided a nice feature of auto-returning. The compiler will do its
- best to insert a Return() app call at the end of your macro if you did
- not include it, but really, you should make sure that all execution
- paths within your macros end in "return;".
+* The ast_agi_register_multiple() and ast_agi_unregister_multiple()
+ API calls were added in 1.6.0, so that modules that provide multiple
+ AGI commands could register/unregister them all with a single
+ step. However, these API calls were not implemented properly, and did
+ not allow the caller to know whether registration or unregistration
+ succeeded or failed. They have been redefined to now return success
+ or failure, but this means any code using these functions will need
+ be recompiled after upgrading to a version of Asterisk containing
+ these changes. In addition, the source code using these functions
+ should be reviewed to ensure it can properly react to failure
+ of registration or unregistration of its API commands.
-* The conf2ael program is 'introduced' in this release; it is in a rather
- crude state, but deemed useful for making a first pass at converting
- extensions.conf code into AEL. More intelligence will come with time.
+* The ast_agi_fdprintf() API call has been renamed to ast_agi_send()
+ to better match what it really does, and the argument order has been
+ changed to be consistent with other API calls that perform similar
+ operations.
-Core:
+From 1.6.0.x to 1.6.1:
-* The 'languageprefix' option in asterisk.conf is now deprecated, and
- the default sound file layout for non-English sounds is the 'new
- style' layout introduced in Asterisk 1.4 (and used by the automatic
- sound file installer in the Makefile).
-
-* The ast_expr2 stuff has been modified to handle floating-point numbers.
- Numbers of the format D.D are now acceptable input for the expr parser,
- Where D is a string of base-10 digits. All math is now done in "long double",
- if it is available on your compiler/architecture. This was half-way between
- a bug-fix (because the MATH func returns fp by default), and an enhancement.
- Also, for those counting on, or needing, integer operations, a series of
- 'functions' were also added to the expr language, to allow several styles
- of rounding/truncation, along with a set of common floating point operations,
- like sin, cos, tan, log, pow, etc. The ability to call external functions
- like CDR(), etc. was also added, without having to use the ${...} notation.
-
-* The delimiter passed to applications has been changed to the comma (','), as
- that is what people are used to using within extensions.conf. If you are
- using realtime extensions, you will need to translate your existing dialplan
- to use this separator. To use a literal comma, you need merely to escape it
- with a backslash ('\'). Another possible side effect is that you may need to
- remove the obscene level of backslashing that was necessary for the dialplan
- to work correctly in 1.4 and previous versions. This should make writing
- dialplans less painful in the future, albeit with the pain of a one-time
- conversion. If you would like to avoid this conversion immediately, set
- pbx_realtime=1.4 in the [compat] section of asterisk.conf. After
- transitioning, set pbx_realtime=1.6 in the same section.
-
-* For the same purpose as above, you may set res_agi=1.4 in the [compat]
- section of asterisk.conf to continue to use the '|' delimiter in the EXEC
- arguments of AGI applications. After converting to use the ',' delimiter,
- change this option to res_agi=1.6.
-
-* The logger.conf option 'rotatetimestamp' has been deprecated in favor of
- 'rotatestrategy'. This new option supports a 'rotate' strategy that more
- closely mimics the system logger in terms of file rotation.
-
-* The concise versions of various CLI commands are now deprecated. We recommend
- using the manager interface (AMI) for application integration with Asterisk.
-
-* The following core commands dealing with dialplan has been deprecated: 'core
+* The following core commands dealing with dialplan have been deprecated: 'core
show globals', 'core set global' and 'core set chanvar'. Use the equivalent
'dialplan show globals', 'dialplan set global' and 'dialplan set chanvar'
instead.
-* The silencethreshold used for various applications is now settable via a
- centralized config option in dsp.conf.
-
-* The logical value of spaces immediately preceding a standalone 0 previously
- evaluated to true. It now evaluates to false. This has confused a good
- many people in the past (typically because they failed to realize the space
- 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
- been changed to 'maxsecs' and 'minsecs' to clarify their purpose and
- to make them more distinguishable from 'maxmsgs', which sets folder
- size. The old variables will continue to work in this version, albeit
- with a deprecation warning.
-
-* If you use any interface for modifying voicemail aside from the built in
- dialplan applications, then the option "pollmailboxes" *must* be set in
- voicemail.conf for message waiting indication (MWI) to work properly. This
- is because Voicemail notification is now event based instead of polling
- based. The channel drivers are no longer responsible for constantly manually
- checking mailboxes for changes so that they can send MWI information to users.
- Examples of situations that would require this option are web interfaces to
- voicemail or an email client in the case of using IMAP storage.
-
-* The externnotify script should accept an additional (last) parameter
- containing the number of urgent messages in the INBOX.
-
-Applications:
-
-* SendImage() no longer hangs up the channel on transmission error or on
- another type of error; in those cases, a FAILURE status is stored in
- SENDIMAGESTATUS and dialplan execution continues. The possible return values
- stored in SENDIMAGESTATUS are: SUCCESS, FAILURE, and UNSUPPORTED. ('OK' has
- been replaced with 'SUCCESS', and 'NOSUPPORT' has been replaced with
- 'UNSUPPORTED'). This change makes the SendImage application more consistent
- with other applications.
-
-* 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
- used 'NOANSWER' in this argument, you'll need to convert that to the new
- option 'n'.
-
-* Macro() is now deprecated. If you need subroutines, you should use the
- Gosub()/Return() applications. To replace MacroExclusive(), we have
- introduced dialplan functions LOCK(), TRYLOCK(), and UNLOCK(). You may use
- these functions in any location where you desire to ensure that only one
- channel is executing that path at any one time. The Macro() applications
- are deprecated for performance reasons. However, since Macro() has been
- around for a long time and so many dialplans depend heavily on it, for the
- sake of backwards compatibility it will not be removed . It is also worth
- noting that using both Macro() and GoSub() at the same time is _heavily_
- discouraged.
-
-* Read() now sets a READSTATUS variable on exit. It does NOT automatically
- return -1 (and hangup) anymore on error. If you want to hangup on error,
- you need to do so explicitly in your dialplan.
-
-* Privacy() no longer uses privacy.conf, so any options must be specified
- directly in the application arguments.
-
-* MusicOnHold application now has duration parameter which allows specifying
- timeout in seconds.
-
-* WaitMusicOnHold application is now deprecated in favor of extended MusicOnHold.
-
-* SetMusicOnHold is now deprecated. You should use Set(CHANNEL(musicclass)=...)
- instead.
+* In the dialplan expression parser, the logical value of spaces
+ immediately preceding a standalone 0 previously evaluated to
+ true. It now evaluates to false. This has confused a good many
+ people in the past (typically because they failed to realize the
+ space had any significance). Since this violates the Principle of
+ Least Surprise, it has been changed.
* While app_directory has always relied on having a voicemail.conf or users.conf file
correctly set up, it now is dependent on app_voicemail being compiled as well.
-* The arguments in ExecIf changed a bit, to be more like other applications.
- The syntax is now ExecIf(<cond>?appiftrue(args):appiffalse(args)).
-
-* The behavior of the Set application now depends upon a compatibility option,
- set in asterisk.conf. To use the old 1.4 behavior, which allowed Set to take
- multiple key/value pairs, set app_set=1.4 in [compat] in asterisk.conf. To
- use the new behavior, which permits variables to be set with embedded commas,
- set app_set=1.6 in [compat] in asterisk.conf. Note that you can have both
- behaviors at the same time, if you switch to using MSet if you want the old
- behavior.
-
-Dialplan Functions:
-
-* QUEUE_MEMBER_COUNT() has been deprecated in favor of the QUEUE_MEMBER() function. For
- more information, issue a "show function QUEUE_MEMBER" from the CLI.
-
-CDR:
-
-* The cdr_sqlite module has been marked as deprecated in favor of
- cdr_sqlite3_custom. It will potentially be removed from the tree
- after Asterisk 1.6 is released.
-
-* The cdr_odbc module now uses res_odbc to manage its connections. The
- username and password parameters in cdr_odbc.conf, therefore, are no
- longer used. The dsn parameter now points to an entry in res_odbc.conf.
-
-* The uniqueid field in the core Asterisk structure has been changed from a
- maximum 31 character field to a 149 character field, to account for all
- possible values the systemname prefix could be. In the past, if the
- systemname was too long, the uniqueid would have been truncated.
-
-* The cdr_tds module now supports all versions of FreeTDS that contain
- the db-lib frontend. It will also now log the userfield variable if
[... 3019 lines stripped ...]
More information about the asterisk-commits
mailing list