aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2006-09-04Remove old unused functionsfile1-22/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41974 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-03Make the difference clear about what the responsibilities of the core and a ↵file1-0/+9
spy are when it comes to spying on a channel. The core is responsible for adding a spy to a channel, feeding frames into the spy, removing the spy from the channel, and notifying the spy that is has been detached. The spy is responsible for reading frames in, and cleaning itself up. Each side will not try to do the other's job. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41959 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-03Add the ability to specify that a frame should not be considered for cachingrussell1-4/+12
for uses in cases where you *know* that it will do no good. This patch was inspired by file for use in some work of his on mixmonitor/chanspy. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41958 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-31Merge in VLDTMF support with Zaptel/Core done by the ever great Darumkilla ↵file3-46/+67
Russell Bryant and the RTP portion done by myself, Muffinlicious Joshua Colp. This has gone through so many discussions/revisions it's not funny but we finally have it! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41507 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-30Use an API call (ast_rtp_get_bridged) to return the RTP stream we are ↵file1-0/+2
bridged to, and also use it in chan_sip so we know to ignore the no RTP activity checking git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41316 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-29add one remaining bit of functionality to the features.conf applicationmap ↵kpfleming1-0/+2
(from Matt Nicholson in Digium Express Services) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41281 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-29Merge team/russell/frame_cachingrussell4-7/+8
There are some situations in Asterisk where ast_frame and/or iax_frame structures are rapidly allocatted and freed (at least 50 times per second for one call). This code significantly improves the performance of ast_frame_header_new(), ast_frdup(), ast_frfree(), iax_frame_new(), and iax_frame_free() by keeping a thread-local cache of these structures and using frames from the cache whenever possible instead of calling malloc/free every time. This commit also converts the ast_frame and iax_frame structures to use the linked list macros. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41278 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-28Merge in RTP-level packet bridging. Packet comes in, packet goes out - ↵file1-2/+13
that's what RTP-level packet bridging is all about! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41235 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-26menuselect doesn't use asterisk's autoconfig.h anymore, so this ifdef can berussell1-2/+0
removed git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41181 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-24Merged revisions 40994 via svnmerge from russell1-0/+17
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r40994 | russell | 2006-08-24 15:41:26 -0400 (Thu, 24 Aug 2006) | 11 lines Fix a few issues related to the handling of channel variables - in pbx_builtin_serialize_variables(), the variable list traversal would stop on a variables with empty name/values, which is not appropriate - When removing the GROUP variables, use AST_LIST_REMOVE_CURRENT instead of AST_LIST_REMOVE - During masquerading, when copying the variables list from one channel to the other, using AST_LIST_INSERT_TAIL is not valid for appending a whole list. It leaves the tail pointer of the list invalid. Introduce a new macro, AST_LIST_APPEND_LIST that appends a list properly. (issue #7802, softins) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40995 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-23Fixing a commentoej1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40960 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-23use RTLD_NOLOAD if it's available to make loading dynamic modules a little ↵kpfleming1-0/+4
faster and less resource-intensive also, keep trying to dlclose() a module until it actually goes away, since it may have other modules it brought in when it was loaded (thanks PCadach for pointing this problem out to me) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40949 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-22add a new include file for out-of-tree modules that need to know where ↵kpfleming2-1/+44
things are located git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40853 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-22Sorry, but this does not resemble malloc... so GCC was ignoring the ↵file1-2/+2
attribute and throwing a warning. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40815 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21restore 'preload' functionality in loaderkpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40796 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21use new configure-provided wrappers for attributeskpfleming1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40785 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21- use a common error message in all of the memory allocation macrosrussell1-66/+110
- add ast_asprintf() and ast_vasprintf() - tweak doxygen comments - simplify the definition of a flag macro git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40775 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21merge new_loader_completion branch, including (at least):kpfleming15-285/+206
- 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: http://svn.digium.com/svn/asterisk/trunk@40722 f38db490-d61c-443f-a65b-d21fe96a405b
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