aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk
AgeCommit message (Collapse)AuthorFilesLines
2006-08-19convert lists of constants in channel.h to enums instead of #definesrussell1-74/+99
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40424 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-17updating configure script and putting comments in the docsmogorman1-0/+4
in english. yay! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40337 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-17Use OSAtomicAdd instead of OSAtomicDecrement to decrement the value by 1.file1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40303 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-14add MacroExclusive application, a Macro that only one call can executed atrussell1-0/+23
a time (issue #7366, Steve Davies, with mods by me as discussed in the report) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@39681 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-13increase the maximum length of the mohinterpret/mohsuggest options (issue #7696)russell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@39594 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-08Merge team/russell/ast_verbose_threadstoragerussell4-3/+448
- 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: http://svn.digium.com/svn/asterisk/trunk@39272 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-07This commit folds in changes to both stringfields (some enhancements to the ↵murf1-3/+33
...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: http://svn.digium.com/svn/asterisk/trunk@39203 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-07The contents of branch teams/murf/bug_7598 are being folded in here.murf1-31/+36
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@39151 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-07Merge my applicationmap_fixup branch to address the issues described in thisrussell1-10/+8
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: http://svn.digium.com/svn/asterisk/trunk@39109 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-30Add details about flash and wait to doxygen about DTMF.tilghman1-6/+11
Reformat the lines to break at column 80. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38521 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-29Allow updates to match specific lines, allow specification of object or markster1-2/+2
no when appending. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38489 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-28add ExtenSpy variant of ChanSpykpfleming1-0/+4
implement whisper mode for ExtenSpy/ChanSpy git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38465 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-28the pure attribute was not implemented before gcc 2.96. Since we have thisrussell1-2/+2
version check here anwyay, define attribute_pure to be empty if it's an earlier version. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38464 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-28add macros for the pure and const attributes to compiler.h, in case they everrussell2-3/+8
need to be handled differently for a specific compiler git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38454 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-28Add the function attribute "pure" or "const" to various functions that performrussell1-3/+3
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: http://svn.digium.com/svn/asterisk/trunk@38452 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-28As discussed and decided on the asterisk-dev mailing list ...russell1-1/+1
- 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: http://svn.digium.com/svn/asterisk/trunk@38439 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-28move slinfactory structure definition back to header... it's just easier to ↵kpfleming3-10/+51
use this way add infrastructure for whispering onto a channel git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38422 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-28more slinfactory structure definition to inside implementation modulekpfleming1-13/+3
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: http://svn.digium.com/svn/asterisk/trunk@38418 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-27more simplification, and correct a bug i introduced in the last commitkpfleming1-1/+1
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: http://svn.digium.com/svn/asterisk/trunk@38389 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-22remove an XXX comment and document that ast_autoservice_start() will return -1russell1-2/+12
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: http://svn.digium.com/svn/asterisk/trunk@38076 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-21Merge a new implementation of ast_inet_ntoa, our thread safe replacement forrussell1-1/+1
inet_ntoa, which uses thread specific data (aka thread local storage) instead of stack allocatted buffers to store the result. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38042 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-19Fix a few doxygen warnings.north1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38009 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-19merge Russell's 'hold_handling' branch, finally implementing music-on-hold ↵kpfleming1-3/+14
handling the way it was decided at AstriDevCon Europe 2006 (and the way people really want it to be) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37988 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-19First pass at in-place file manipulation via managermarkster2-3/+6
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37936 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-18Expand speech API so that the developer can interact with the engine more ↵file1-0/+4
directly and use specific functions of the connector even if a generic API call is not available git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37881 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-13swap the G726-32 format numbers, so that IAX2 connections with prior ↵kpfleming1-4/+4
versions of Asterisk will still work properly git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37565 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-13allow users of RTP to use G726-32 AAL2 packing even when RFC3551 packing has ↵kpfleming1-3/+10
been requested (Sipura/Grandstream ATAs and others will need this) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37501 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-12G726-32 changes:kpfleming1-1/+3
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: http://svn.digium.com/svn/asterisk/trunk@37494 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-10Fixed. Done. Good. Make ast_join work like it used to.file1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37348 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-10Unbreak ast_join due to whitespace changesfile1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37347 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-08Support hold/unhold in Zap, update IAX2 parser to know about modern ↵markster2-0/+3
commands, forward hold/unhold in dial, add hold device state and implement holding in the SLA. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37318 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-07fix various pointer signedness issuesrussell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37286 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-07actually do proper searching for c-client and output the results so ↵kpfleming1-0/+3
app_voicemail can be built against it git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37278 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-05massive rework of configure script, and split of AST_EXT_LIB into separate ↵kpfleming1-37/+37
macros, reducing code duplication git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37066 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-30fix the condition for including the header for osx atomicsrussell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@36421 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-30update configurerussell1-0/+6
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@36410 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-30add support for atomic operations provided by mac osxrussell1-1/+23
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@36409 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-30Updates from transnexus to osplookup, removes res_ospmogorman1-100/+4
and puts all logic into the app, documentation provided now in osp.txt. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@36406 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-26METERMAIDS:oej1-0/+24
----------- - 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: http://svn.digium.com/svn/asterisk/trunk@36055 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-24The Eurostar Commit! (it's amazing how much work you can get done on a 150 ↵kpfleming2-1/+4
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: http://svn.digium.com/svn/asterisk/trunk@35832 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-24search for Zaptel and libtonezone separately in the configure scriptkpfleming1-1/+4
various other minor fixes git-svn-id: http://svn.digium.com/svn/asterisk/trunk@35812 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-23revert my changes that converted the jb on the channel to be dynamicallyrussell2-9/+3
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: http://svn.digium.com/svn/asterisk/trunk@35746 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-22- dynamically allocate the ast_jb structure that is on the channel structurerussell2-3/+9
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: http://svn.digium.com/svn/asterisk/trunk@35553 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-18merge changes from team/murf/AEL-trunk-fixesonlyrussell1-0/+1
- fix callerid matching for extensions - fix nested switch statements - fix compilation with bison 2.1a or higher (issue #7309) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@34665 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-14Merged revisions 34087 via svnmerge from kpfleming3-4/+8
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: http://svn.digium.com/svn/asterisk/trunk@34090 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-13use atomic operations provided by the compiler if they are available (yay ↵kpfleming2-4/+18
for gcc 4.1 users!) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33953 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-12Merged revisions 33724 via svnmerge from file1-0/+1
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: http://svn.digium.com/svn/asterisk/trunk@33725 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-12bootstrap to include latest configure script changekpfleming1-0/+3
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33691 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-11suppress warnings when building with DEBUG_CHANNEL_LOCKS (issue #7330, casper)russell1-0/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33550 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-09various minor portability fixes (mostly from tholo for OpenBSD)kpfleming2-5/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33350 f38db490-d61c-443f-a65b-d21fe96a405b