summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2006-08-21merge new_loader_completion branch, including (at least):Kevin P. Fleming
- 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-19convert lists of constants in channel.h to enums instead of #definesRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-17updating configure script and putting comments in the docsMatt O'Gorman
in english. yay! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-17Use OSAtomicAdd instead of OSAtomicDecrement to decrement the value by 1.Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-14add MacroExclusive application, a Macro that only one call can executed atRussell Bryant
a time (issue #7366, Steve Davies, with mods by me as discussed in the report) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39681 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-13increase the maximum length of the mohinterpret/mohsuggest options (issue #7696)Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-08Merge team/russell/ast_verbose_threadstorageRussell Bryant
- instead of defining a free() wrapper in a bunch of files, define it as ast_free() in utils.h and remove the copies from all the files. - centralize and abstract the code used for doing thread storage. The code lives in threadstorage.h, with one function being implemented in utils.c. This new API includes generic thread storage as well as special functions for handling thread local dynamic length string buffers. - update ast_inet_ntoa() to use the new threadstorage API - update ast_state2str() to use the new threadstorage API - update ast_cli() to use the new threadstorage API - Modify manager_event() to use thread storage. Instead of using a buffer of 4096 characters as the workspace for building the manager event, use a thread local dynamic string. Now there is no length limitation on the length of the body of a manager event. - Significantly simplify the handling of ast_verbose() ... - Instead of using a static char buffer and a lock to make sure only one thread can be using ast_verbose() at a time, use a thread local dynamic string as the workspace for preparing the verbose message. Instead of locking around the entire function, the only locking done now is when the message has been built and is being deliviered to the list of registered verbose message handlers. - This function was doing a strdup() on every message passed to it and keeping a queue of the last 200 messages in memory. This has been completely removed. The only place this was used was that if there were any messages in the verbose queue when a verbose handler was registered, all of the messages in the queue would be fed to it. So, I just made sure that the console verbose handler and the network verbose handler (for remote asterisk consoles) were registered before any verbose messages. pbx_gtkconsole and pbx_kdeconsole will now lose a few verbose messages at startup, but I didn't feel the performance hit of this message queue was worth saving the initial verbose output for these very rarely used modules. - I have removed the last three arguments to the verbose handlers, leaving only the string itself because they aren't needed anymore. For example, ast_verbose had some logic for telling the verbose handler to add a newline if the buffer was completely full. Now that the buffer can grow as needed, this doesn't matter anymore. - remove unused function, ast_verbose_dmesg() which was to dispatch the message queue - Convert the list of verbose handlers to use the linked list macros. - add missing newline characters to a few ast_verbose() calls - convert the list of log channels to use the linked list macros in logger.c - fix close_logger() to close all of the files it opened for logging - update ast_log() to use a thread local dynamic string for its workspace for preparing log messages instead of a buffer of size BUFSIZ (8kB on my system) allocated on the stack. The dynamic string in this case is limited to only growing to a maximum size of BUFSIZ. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-07This commit folds in changes to both stringfields (some enhancements to the ↵Steve Murphy
...field_set() macro, to optimize setting strings to empty, resetting strings to shorter contents, etc.) and to chan_iax2.c, to use stringfields in the user, peer, and pvt structs. Has been running stably on iaxtel, but while iaxtel has a large registration volume, it doesn't seem to have a high call volume. So far, it seems to reduce heap usage by over half. YMMV\! Please report any IAX bugs that might involve stringfields\! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-07The contents of branch teams/murf/bug_7598 are being folded in here.Steve Murphy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-07Merge my applicationmap_fixup branch to address the issues described in thisRussell Bryant
post to the asterisk-dev mailing list: http://lists.digium.com/pipermail/asterisk-dev/2006-August/022174.html This implements full control over both which channel(s) can activate a dynamic feature, as well as which channel to run the application on. I also updated the documentation on the applicationmap in features.conf.sample in hopes that the configuration is more clear. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-30Add details about flash and wait to doxygen about DTMF.Tilghman Lesher
Reformat the lines to break at column 80. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-29Allow updates to match specific lines, allow specification of object or Mark Spencer
no when appending. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-28add ExtenSpy variant of ChanSpyKevin P. Fleming
implement whisper mode for ExtenSpy/ChanSpy git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-28the pure attribute was not implemented before gcc 2.96. Since we have thisRussell Bryant
version check here anwyay, define attribute_pure to be empty if it's an earlier version. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-28add macros for the pure and const attributes to compiler.h, in case they everRussell Bryant
need to be handled differently for a specific compiler git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-28Add the function attribute "pure" or "const" to various functions that performRussell Bryant
int to string or string to int operations. "pure" essentially says that this function has no side effects aside from its result, and the result depends on nothing else other than its arguments and global variables. "const" is a more strict form of "pure", where the function also doesn't access any global variables. From the gcc manual: "Such a function can be subject to common subexpression elimination and loop optimization just as an arithmetic operator would be." This also tells the compiler that it is safe to call the function fewer times than the code says to, given the same arguments, since the result will always be the same. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-28As discussed and decided on the asterisk-dev mailing list ...Russell Bryant
- Fix some breakage I introduced a while ago that made the timestamps option not functional for CLI verbose output. - Remove the use of the timestamps option for log output, since it was not functional. - clarify text referring to the timestamps option so that it is clear that it only applies to CLI verbose output git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-28move slinfactory structure definition back to header... it's just easier to ↵Kevin P. Fleming
use this way add infrastructure for whispering onto a channel git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-28more slinfactory structure definition to inside implementation moduleKevin P. Fleming
make read/write/hold work on samples, not bytes add an API call to find out how many samples are available in a slinfactory git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-27more simplification, and correct a bug i introduced in the last commitKevin P. Fleming
fix prototype for a channel walking function to use a const input pointer use existing channel walk by name prefix instead of reproducing that code in this app git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-22remove an XXX comment and document that ast_autoservice_start() will return -1Russell Bryant
if the channel is already in the autoservice list. Why is this a valid case to return -1, you ask? Well, there should never be any code where it is not clear if the channel is in autoservice or not because trying to read frames from a channel that is in the autoservice list will lead to bad results because more than one thread will be waiting on frames to arrive on the channel and then trying to read them. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-21Merge a new implementation of ast_inet_ntoa, our thread safe replacement forRussell Bryant
inet_ntoa, which uses thread specific data (aka thread local storage) instead of stack allocatted buffers to store the result. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19Fix a few doxygen warnings.North Antara
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19merge Russell's 'hold_handling' branch, finally implementing music-on-hold ↵Kevin P. Fleming
handling the way it was decided at AstriDevCon Europe 2006 (and the way people really want it to be) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19First pass at in-place file manipulation via managerMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-18Expand speech API so that the developer can interact with the engine more ↵Joshua Colp
directly and use specific functions of the connector even if a generic API call is not available git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-13swap the G726-32 format numbers, so that IAX2 connections with prior ↵Kevin P. Fleming
versions of Asterisk will still work properly git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-13allow users of RTP to use G726-32 AAL2 packing even when RFC3551 packing has ↵Kevin P. Fleming
been requested (Sipura/Grandstream ATAs and others will need this) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-12G726-32 changes:Kevin P. Fleming
split support for G726-32 into RFC3551 and AAL2 packing orders, since both are in use change "G726-32" to be RFC3551 packing order, in spite of devices that use AAL2 order with this MIME type add ability to directly transcode between packing orders git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-10Fixed. Done. Good. Make ast_join work like it used to.Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-10Unbreak ast_join due to whitespace changesJoshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-08Support hold/unhold in Zap, update IAX2 parser to know about modern ↵Mark Spencer
commands, forward hold/unhold in dial, add hold device state and implement holding in the SLA. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-07fix various pointer signedness issuesRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37286 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-07actually do proper searching for c-client and output the results so ↵Kevin P. Fleming
app_voicemail can be built against it git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-05massive rework of configure script, and split of AST_EXT_LIB into separate ↵Kevin P. Fleming
macros, reducing code duplication git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-30fix the condition for including the header for osx atomicsRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-30update configureRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-30add support for atomic operations provided by mac osxRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-30Updates from transnexus to osplookup, removes res_ospMatt O'Gorman
and puts all logic into the app, documentation provided now in osp.txt. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-26METERMAIDS:Olle Johansson
----------- - Adding devicestate providers, a new architecture to add non-channel related device state information, like parking lots, queues, meetmes, vending machines and Windows 98 reboots (lots of blinking on those lights) - Adding provider for parking lots, so you can subscribe to the status of a parking lot - Adding provider for meetme, so you can have a blinking lamp for a meetme ( Example: exten => edvina,hint,meetme:1234 ) - Adding support for directed parking - set the PARKINGEXTEN before you manually call Park() and you will be parked on that space. If it's occupied, dialplan execution will continue. This work was sponsored by Voop A/S - www.voop.com git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-24The Eurostar Commit! (it's amazing how much work you can get done on a 150 ↵Kevin P. Fleming
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-24search for Zaptel and libtonezone separately in the configure scriptKevin P. Fleming
various other minor fixes git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-23revert my changes that converted the jb on the channel to be dynamicallyRussell Bryant
allocated. These changes caused crashes when using a channel type that did not support the jitterbuffer. Instead of fixing why it's crashing, I'm going to implement this in a better way next week. The way I did it caused a jitterbuffer to be allocated on every channel where the channel type supported jitterbuffers, even if they were disabled. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22- dynamically allocate the ast_jb structure that is on the channel structureRussell Bryant
so that channels not using a jitterbuffer don't waste as much memory - ensure that the channel drivers that use jitterbuffers can handle a failure from configuring a jitterbuffer on a new channel because of a memory allocation error - On passing through these channel drivers, configure the jitterbuffer before starting the PBX thread instead of afterwards. If the pbx fails to start for whatever reason, this would have caused a crash. - Also on passing, move the increase of the usecount to after all of the possible failure conditions in the function - fix a place where ast_update_use_count() was not called - ensure that the owner channel pointer of the channel pvt strcutures is set to NULL in failure conditions git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-18merge changes from team/murf/AEL-trunk-fixesonlyRussell Bryant
- fix callerid matching for extensions - fix nested switch statements - fix compilation with bison 2.1a or higher (issue #7309) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-14Merged revisions 34087 via svnmerge from Kevin P. Fleming
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r34087 | kpfleming | 2006-06-14 09:07:53 -0500 (Wed, 14 Jun 2006) | 2 lines clarify file headers that mention disclaimer usage ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-13use atomic operations provided by the compiler if they are available (yay ↵Kevin P. Fleming
for gcc 4.1 users!) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-12Merged revisions 33724 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r33724 | file | 2006-06-12 18:34:38 -0300 (Mon, 12 Jun 2006) | 2 lines Greatly simply the mixmonitor thread, and move channel reference directly to spy structure so that the core can modify it. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-12bootstrap to include latest configure script changeKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-11suppress warnings when building with DEBUG_CHANNEL_LOCKS (issue #7330, casper)Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33550 65c4cc65-6c06-0410-ace0-fbb531ad65f3