Commit graph

84 commits

Author SHA1 Message Date
Russell Bryant
e9d72e0cb2 Merge another big set of changes from team/russell/events
This commit merges in the rest of the code needed to support distributed device
state.  There are two main parts to this commit.

Core changes:
 - The device state handling in the core has been updated to understand device
   state across a cluster of Asterisk servers.  Every time the state of a device
   changes, it looks at all of the device states on each node, and determines the
   aggregate device state.  That resulting device state is what is provided to
   modules in Asterisk that take actions based on the state of a device.

New module, res_ais:
 - A module has been written to facilitate the communication of events between
   nodes in a cluster of Asterisk servers.  This module uses the SAForum AIS
   (Service Availability Forum Application Interface Specification) CLM and EVT
   services (Cluster Management and Event) to handle this task.  This module
   currently supports sharing Voicemail MWI (Message Waiting Indication) and
   device state events between servers.  It has been tested with openais, though
   other implementations of the spec do exist.

For more information on testing distributed device state, see the following doc:
  - doc/distributed_devstate.txt


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-10 15:12:17 +00:00
Kevin P. Fleming
79c3038ee5 Merged revisions 107352 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r107352 | kpfleming | 2008-03-11 06:04:29 -0500 (Tue, 11 Mar 2008) | 11 lines

fix up various compiler warnings found with gcc-4.3:

- the output of flex includes a static function called 'input' that is not used, so for the moment we'll stop having the compiler tell us about unused variables in the flex source files (a better fix would be to improve our flex post-processing to remove the unused function)

- main/stdtime/localtime.c makes assumptions about signed integer overflow, and gcc-4.3's improved optimizer tries to take advantage of handling potential overflow conditions at compile time; for now, suppress these optimizations until we can fiure out if the code needs improvement

- main/udptl.c has some references to uninitialized variables; in one case there was no bug, but in the other it was certainly possibly for unexpected behavior to occur

- main/editline/readline.c had an unused variable


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 11:36:51 +00:00
Steve Murphy
3f152e5ff0 Merged revisions 97889 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97889 | murf | 2008-01-10 14:37:10 -0700 (Thu, 10 Jan 2008) | 1 line

Applied the same fixes for ael.flex as was done in 97849 for ast_expr2.fl; overrode the normally generate yyfree func with our own version that checks the pointer for non-null before passing to free(). Also takes care of a little problem with 2.5.33 and the use of the __STDC_VERSION__ macro.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10 21:46:56 +00:00
Kevin P. Fleming
04a10c145b go back to including libresample in the main Asterisk binary, but this time including a small hack to ensure that it does get linked in (and also modify the strip_nonapi script to leave the resample_<foo> symbols alone)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02 14:05:30 +00:00
Russell Bryant
78f4b28552 Instead of linking libresample into the main Asterisk binary, build it as
res_resample, and mark codec_resample as dependent upon res_resample.  This
prevents the linker from optimizing away libresample, and also makes it so the
libresample code isn't linked in to multiple places.  (I have another module
in a branch that needs it, too.)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02 01:00:44 +00:00
Kevin P. Fleming
100ef27af9 Merged revisions 93180 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r93180 | kpfleming | 2007-12-16 22:44:51 -0800 (Sun, 16 Dec 2007) | 23 lines

In http://lists.digium.com/pipermail/asterisk-dev/2007-December/031145.html,
rizzo brought up some issues related to the way that the metadata required
for menuselect and the rest of the build system is extracted from the source
files. Since I had a few hours to kill on an airplane today, I decided to
improve this situation... so now the system caches the extracted metadata
and uses it to build the menuselect 'tree' as much as it can. The result
of this is that when a single source file is changed, only the metadata for
that file needs to be extracted again, and the rest is used from the cache
files. I also reduced the number of forked processes required to do the
metadata extraction; it was actually possible to do most of what we needed
in the Makefiles themselves without using any shell scripts at all! On my
laptop, these changes resulted in an 80% decrease in the time required
for the 'menuselect.makeopts' automatic check to occur after editing a single
source file.

While doing this work I also cleaned up a few minor things in the Makefiles,
adding a check for 'awk' to the configure script and changed all remaining
places we use 'grep' or 'awk' to use the ones found by the configure script,
and changed the 'prep_tarball' script to build the menuselect metadata so
that tarballs of Asterisk will include it and won't require the user to
wait while it is extracted after unpacking.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-17 07:25:35 +00:00
Luigi Rizzo
5490889153 Put into Makefile.moddir_rules the common instructions used to
generate loadable and embedded module lists.

Individual Makefiles now are a lot simpler, possibly as simple as this:

    -include $(ASTTOPDIR)/menuselect.makeopts $(ASTTOPDIR)/menuselect.makedeps
    MODULE_PREFIX=cdr_
    all: _all
    include $(ASTTOPDIR)/Makefile.moddir_rules

and also more flexible because in a single directory we can combine
various types of modules (app_, cdr_, func_, ... ) by simply
listing them in the MODULE_PREFIX variable.

The individual Makefiles can also create list of modules to be
excluded by listing them in the variablel MODULE_EXCLUDE (see an
example in channels/Makefile).

With this change it becomes trivial to integrate a directory with
locally created/modified sources into the main build.




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 03:50:38 +00:00
Luigi Rizzo
d652be0930 normalize subdirs' Makefile by using ASTTOPDIR and not .. to reference
the top level directory.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-09 21:29:37 +00:00
Luigi Rizzo
6c11deeffb fix build on cygwin
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 11:50:05 +00:00
Luigi Rizzo
6938f4b2b0 Fix building of modules under cygwin.
After this commit we can actually load modules under windows,
and we can start debugging more interesting problems related
to the load order and functionality of modules.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-20 16:12:10 +00:00
Russell Bryant
9e05e0db04 The trunk version of this patch also includes a couple more small clean fixes
from IgorG.

Merged revisions 84170 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r84170 | russell | 2007-10-01 10:00:56 -0500 (Mon, 01 Oct 2007) | 3 lines

Remove another file in "make clean".
(closes issue #10814, paravoid)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 15:06:14 +00:00
Steve Murphy
9836efb5fb This commit closes bug 7605, and half-closes 7638. The AEL code has been redistributed/repartitioned to allow code re-use both inside and outside of Asterisk. This commit introduces the utils/conf2ael program, and an external config-file reader, for both normal config files, and for extensions.conf (context, exten, prio); It provides an API for programs outside of asterisk to use to play with the dialplan and config files.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-15 19:21:27 +00:00
Kevin P. Fleming
e92c34cc38 Merged revisions 44055 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44055 | kpfleming | 2006-09-29 17:47:40 -0500 (Fri, 29 Sep 2006) | 2 lines

fix a few build system bugs, and convert Makefiles to be compatible with GNU make 3.80

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-29 22:48:43 +00:00
Kevin P. Fleming
d12f54f90b GNU make already knows how to quietly ignore non-existent files in 'include' directives
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-26 23:58:47 +00:00
Kevin P. Fleming
0a27d8bfe5 merge new_loader_completion branch, including (at least):
- restructured build tree and makefiles to eliminate recursion problems
  - support for embedded modules
  - support for static builds
  - simpler cross-compilation support
  - simpler module/loader interface (no exported symbols)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 02:11:39 +00:00
Kevin P. Fleming
000ba592b2 more Makefile cleanup and consistency stuff
don't reuse LIBS variable from top-level Makefile (oops)
build Asterisk binary after subdirs (preparing for embedded modules)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-15 19:59:35 +00:00
Kevin P. Fleming
748431f7b6 move rules file to prepare for generic rules file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37222 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-06 21:04:28 +00:00
Russell Bryant
5a74ed4fef fix up res_snmp so it builds and loads correctly
- update to current loader
- update to latest build system changes to ensure snmp/agent.o is built
  and linked


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-01 15:13:56 +00:00
Kevin P. Fleming
a579371f43 use new (separate) dependencies file from menuselect
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-25 08:50:14 +00:00
Kevin P. Fleming
e61d3d91f3 The Eurostar Commit! (it's amazing how much work you can get done on a 150 minute train ride from Paris to London <G>)
support the new location for zaptel.h and tonezone.h
use the dependency information output by menuselect to build Makefile rules for each module for header files and libraries
combine the common rules into a top-level Makefile.rules file
remove all (now) unnecessary stuff from subdir Makefiles
change translator API so that the newpvt() callback returns an int instead of a pointer (it no longer allocates memory)
alphabetize --with-<foo> options in configure script
enhance Net-SNMP support in configure script to provide a --with-netsnmp option
fix support for --with-pq so that if pg-config is not found when --with-pq is specified, an error will be generated
add 'optional package' usage to modules now that menuselect can output it
allow res_snmp to build by default, since the new loader changes coming soon will solve the function naming problem (and users can disable it via menuselect anyway)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-24 19:43:31 +00:00
Kevin P. Fleming
eaf0524c40 very minor improvement
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-23 08:15:48 +00:00
Russell Bryant
8ab51d1fb1 delete snmp/agent.o on make clean
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-23 01:54:07 +00:00
Russell Bryant
268609aa68 add basic autoconf support for res_snmp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-23 01:50:55 +00:00
Russell Bryant
53a56fcfe7 remove various commands that remove old modules since they have been there a
sufficient amount of time.  Even if they happen to be still present, the main
Makefile will spit out a huge warning telling the user that modules not
installed by that run of "make install" are present in the modules directory.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-23 01:29:41 +00:00
Russell Bryant
48ae9f0d4f - convert the 'uninstall' target to use separate targets to process each
subdirectory instead of a for loop
- remove the FORCE target from the main Makefile and add the couple places
  I used it to the .PHONY target.  .PHONY does the same thing and is a built-in
  more efficient way of doing it.
- add a bunch more targets to .PHONY ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 15:38:13 +00:00
Russell Bryant
55e8a60363 - specify that 'depend' is a .PHONY target
- use separate targets instead of a for loop for doing 'make depend' for
  each sub directory


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 15:08:08 +00:00
Russell Bryant
9db0520ff9 - specify that 'all' is a .PHONY target
- add a copyright header to the build_tools Makefile
- remove 'depend' from the 'all' target in agi/ and utils/ since it is handled
  by the main Makefile already


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 14:09:18 +00:00
Russell Bryant
c399a06450 add the 'clean', 'clean-depend', and 'dist-clean' targets as .PHONY targets
since they are targets that do not have resulting files and are never listed
as prerequisites to real targets.  Using .PHONY in this manner improves make
performance by never having to check for resulting files.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 11:27:03 +00:00
Russell Bryant
9f2a6516cf don't blow up in the sub Makefiles if menuselect.makeopts is not present. This
is valid in some cases, such as "make clean".


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-19 00:14:16 +00:00
Russell Bryant
b6147a21b9 remove "depend" from the "all" targets in sub Makefiles. The main Makefile
already calls "make depend" for each of the subdirectories


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-16 16:54:00 +00:00
Russell Bryant
503f99e2e8 remove the need to have to re-run make after a default menuselect.makeopts
file is generated.  This allows a fresh checkout of asterisk to be built
and installed with the standard "./configure && make && make install".


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 16:03:31 +00:00
Kevin P. Fleming
e856010714 use module names, not file names, in menuselect
work around XML parsing bug in menuselect for default sounds package


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32407 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-05 20:46:27 +00:00
Matt O'Gorman
7aa1a77e75 asterisk-xmpp merge in
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-22 21:12:30 +00:00
Kevin P. Fleming
f3eaae4593 remove macro defined that is no longer needed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23737 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 17:53:37 +00:00
Kevin P. Fleming
574e14cbea Thanks to the fine work of Russell Bryant and Dancho Lazarov, we now have autoconf and menuselect tools for Asterisk!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-24 17:11:45 +00:00
Joshua Colp
1001cc0656 Unbreak res/Makefile (issue #6891 as reported by casper)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-05 18:37:29 +00:00
Olle Johansson
ef6b50b706 Issue #5637 - Realtime driver for PostgreSQL (mguesdon)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-05 17:46:09 +00:00
Olle Johansson
9c35741e5f Issue #6628 - Disable res_snmp on incompatible platforms until
we have a resolution for the conflict. (Corydon's patch)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@12011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-06 10:46:36 +00:00
Olle Johansson
1bff19f219 Some days... Sorry.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-05 13:52:58 +00:00
Olle Johansson
13a3c7299a Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-05 13:52:26 +00:00
Mark Spencer
03e2e423d5 Fix the make file *again*
svsvn commit --This line, and those below, will be ignored--

M    res/Makefile


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-26 23:04:41 +00:00
Mark Spencer
3a1c0b9e5c Fix snmp build
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-26 23:02:40 +00:00
Mark Spencer
6a86c7c5c9 Add SNMP support (bug #6439)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11193 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-26 20:46:11 +00:00
Russell Bryant
938f7ddc0f remove -lssl for asterisk, and add it for res_osp (issue #6496, different patch)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-16 20:38:21 +00:00
Mark Spencer
59990fc904 Fix build issues...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-14 19:08:12 +00:00
Kevin P. Fleming
e7c198453d ensure that dependencies are rebuilt after 'make update' so that builds don't break when files are removed/renamed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-12 16:52:42 +00:00
Kevin P. Fleming
6aa6819c41 use auto-build for apps, simplify variable setting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-11 17:12:05 +00:00
Kevin P. Fleming
52c23802d6 use auto-build for res modules too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-11 16:44:15 +00:00
Matthew Fredrickson
af07dc8883 Add smdi support for asterisk (see doc/smdi.txt for config info) (#5945)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-10 21:50:56 +00:00
Matt O'Gorman
7d03c33e0a Allows for user to uninstall asterisk binaries
bug 6177


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-01 18:39:41 +00:00