aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_local.c
AgeCommit message (Collapse)AuthorFilesLines
2006-08-29Merge team/russell/frame_cachingrussell1-2/+2
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-21merge new_loader_completion branch, including (at least):kpfleming1-20/+12
- 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-06-16 Quit early and print a LOG_WARNING if we are trying to check devicestate on ↵bweschke1-5/+12
a Local channel that's been improperly defined. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@34463 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-14make Local channel return sensible device state valueskpfleming1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@34162 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-12Merged revisions 33638 via svnmerge from kpfleming1-1/+13
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r33638 | kpfleming | 2006-06-12 11:03:29 -0500 (Mon, 12 Jun 2006) | 2 lines only allow chan_local to masquerade the outbound channel onto its owner, instead of the other way around (this will ensure that group variables on the outbound channel as preserved) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33643 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-07simplify autoconfig include mechanism (make tholo happy he can use lint ↵kpfleming1-4/+4
again :-) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@32846 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-22Merged revisions 29464 via svnmerge from file1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r29464 | file | 2006-05-22 13:33:03 -0300 (Mon, 22 May 2006) | 2 lines Preserve presentation bit when going through chan_local (issue #7002 reported by acunningham) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@29466 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-19Adding send_text capability to chan_localoej1-0/+18
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@28520 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-19First stab at supporting video in chan_localoej1-2/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@28502 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-19Add simple devicestate for chan_localoej1-0/+25
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@28484 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-10ensure that control frames with payload can be sent to channel drivers via ↵kpfleming1-2/+2
->indicate() update iax2_indicate to pass control frame payload to the connected channel add an API call for sending an indication with payload, and use it for control frames with payload git-svn-id: http://svn.digium.com/svn/asterisk/trunk@26417 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-21replace strncpy with ast_copy_string.rizzo1-10/+6
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@22016 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-14This rather large commit changes the way modules are loaded. rizzo1-26/+10
As partly documented in loader.c and include/asterisk/module.h, modules are now expected to return all of their methods and flags into a structure 'mod_data', and are normally loaded with RTLD_NOW | RTLD_LOCAL, so symbols are resolved immediately and conflicts should be less likely. Only in a small number of cases (res_*, typically) modules are loaded RTLD_GLOBAL, so they can export symbols. The core of the change is only the two files loader.c and include/asterisk/module.h, all the rest is simply adaptation of the existing modules to the new API, a rather mechanical (but believe me, time and finger-consuming!) process whose detail you can figure out by svn diff'ing any single module. Expect some minor compilation issue after this change, please report it on mantis http://bugs.digium.com/view.php?id=6968 so we collect all the feedback in one place. I am just sorry that this change missed SVN version number 20000! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@20003 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-08since the module API is changing, it's a good time to const-ify the ↵kpfleming1-2/+2
description() and key() return values git-svn-id: http://svn.digium.com/svn/asterisk/trunk@18552 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-05Bug 6873 - Finish moving from the non-threadsafe (and poor randomness) ↵tilghman1-1/+1
rand() to threadsafe ast_random() git-svn-id: http://svn.digium.com/svn/asterisk/trunk@17627 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-31minor cleanup: localize a variable and replace i++; i++ with i +=2;rizzo1-4/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@16652 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-10Bug 6387 - janitor cleanup for linked liststilghman1-50/+28
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9349 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-03 Don't set a global variable if the channel you're trying to set ↵bweschke1-1/+1
CHANLOCALSTATUS on has gone away already. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9139 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-01use string fields for some stuff in ast_channelkpfleming1-9/+7
const-ify some more APIs remove 'type' field from ast_channel, in favor of the one in the channel's tech structure allow string field module users to specify the 'chunk size' for pool allocations update chan_alsa to be compatible with recent const-ification patches git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9060 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-31remove some more local declarations of null framesrussell1-3/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9004 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-20More doxygen updatesoej1-10/+10
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8315 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-17 Fix compiler warning.bweschke1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8135 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-13 Implement the autologoffunavail option in chan_agent (#6038 with some minor ↵bweschke1-0/+4
mods) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8063 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-11convert some channels to use the memory allocation wrappers.russell1-55/+37
(This is being added to the janitor projects list.) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7954 f38db490-d61c-443f-a65b-d21fe96a405b
2005-12-30update doxygen docs to specify authorsrussell1-0/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7682 f38db490-d61c-443f-a65b-d21fe96a405b
2005-12-02Merged revisions 7265-7266,7268-7275 via svnmerge from kpfleming1-3/+18
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r7265 | oej | 2005-12-01 17:18:14 -0600 (Thu, 01 Dec 2005) | 2 lines Changing bug report address to the Asterisk issue tracker ........ r7266 | kpfleming | 2005-12-01 17:18:29 -0600 (Thu, 01 Dec 2005) | 3 lines Makefile 'update' target now supports updating from Subversion repositories (issue #5875) remove support for 'patches' subdirectory, it's no longer useful ........ r7268 | kpfleming | 2005-12-01 17:34:58 -0600 (Thu, 01 Dec 2005) | 2 lines ensure channel's scheduling context is freed (issue #5788) ........ r7269 | kpfleming | 2005-12-01 17:49:44 -0600 (Thu, 01 Dec 2005) | 2 lines don't block waiting for the Festival server forever when it goes away (issue #5882) ........ r7270 | kpfleming | 2005-12-01 18:26:12 -0600 (Thu, 01 Dec 2005) | 2 lines allow variables to exist on both 'halves' of the Local channel (issue #5810) ........ r7271 | kpfleming | 2005-12-01 18:28:48 -0600 (Thu, 01 Dec 2005) | 2 lines protect agent_bridgedchannel() from segfaulting when there is no bridged channel (issue #5879) ........ r7272 | kpfleming | 2005-12-01 18:39:00 -0600 (Thu, 01 Dec 2005) | 3 lines properly handle password changes when mailbox is last line of config file and not followed by a newline (issue #5870) reformat password changing code to conform to coding guidelines (issue #5870) ........ r7273 | kpfleming | 2005-12-01 18:42:40 -0600 (Thu, 01 Dec 2005) | 2 lines allow previous context-searching behavior to be used if desired (issue #5899) ........ r7274 | kpfleming | 2005-12-01 18:51:15 -0600 (Thu, 01 Dec 2005) | 2 lines inherit channel variables into channels created by Page() application (issue #5888) ........ r7275 | oej | 2005-12-01 18:52:13 -0600 (Thu, 01 Dec 2005) | 2 lines Bug #5907. Improve SIP INFO DTMF debugging output. (1.2 & Trunk) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7276 f38db490-d61c-443f-a65b-d21fe96a405b
2005-11-29git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7221 ↵kpfleming1-0/+0
f38db490-d61c-443f-a65b-d21fe96a405b
2005-11-08issue #5604kpfleming1-1/+3
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7031 f38db490-d61c-443f-a65b-d21fe96a405b
2005-11-06issue #5605russell1-0/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6979 f38db490-d61c-443f-a65b-d21fe96a405b
2005-10-24Doxygen documentation update from oej (issue #5505)russell1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6847 f38db490-d61c-443f-a65b-d21fe96a405b
2005-10-19Perform some extra checks before performing masqueradesmarkster1-10/+20
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6830 f38db490-d61c-443f-a65b-d21fe96a405b
2005-09-14update MANY more files with proper copyright/license info (thanks Ian!)kpfleming1-5/+16
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6596 f38db490-d61c-443f-a65b-d21fe96a405b
2005-07-25formatting cleanups (bug #4786, with minor mods)kpfleming1-45/+67
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6193 f38db490-d61c-443f-a65b-d21fe96a405b
2005-07-10define an AST_MAX_CONTEXT for use instead of AST_MAX_EXTENSIONrussell1-10/+10
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6076 f38db490-d61c-443f-a65b-d21fe96a405b
2005-06-24don't use locks when reading usecounts (reading only, not writing)kpfleming1-5/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5994 f38db490-d61c-443f-a65b-d21fe96a405b
2005-06-07header ordering fixes for FreeBSD (pending a global merge into asterisk.h) ↵kpfleming1-1/+2
(bug #4484) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5876 f38db490-d61c-443f-a65b-d21fe96a405b
2005-06-06more file version tagskpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5866 f38db490-d61c-443f-a65b-d21fe96a405b
2005-06-06another round of version tag updates, along with 'show version files' ↵kpfleming1-8/+13
pattern filtering git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5865 f38db490-d61c-443f-a65b-d21fe96a405b
2005-04-21use double-quotes instead of angle-brackets for non-system include files ↵kpfleming1-18/+18
(bug #4058) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5490 f38db490-d61c-443f-a65b-d21fe96a405b
2005-03-28Fix a bunch of const stuff, merge queue changes, add experimental "hybrid" ↵markster1-3/+3
DTMF mode git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5293 f38db490-d61c-443f-a65b-d21fe96a405b
2005-03-16Inherit variables across local channel (bug #3769)markster1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5180 f38db490-d61c-443f-a65b-d21fe96a405b
2005-03-05If we're only queueing audio, don't queue when we really want to engage the ↵markster1-2/+8
masquerade git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5145 f38db490-d61c-443f-a65b-d21fe96a405b
2005-03-04Rework channel structure to eliminate "pvt" portion of channel (bug #3573)markster1-47/+53
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5137 f38db490-d61c-443f-a65b-d21fe96a405b
2005-02-28Fix queue URL passing (bug #3543)markster1-2/+20
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5104 f38db490-d61c-443f-a65b-d21fe96a405b
2005-02-14Fix native agent transfer, add UPGRADE.txt for notes about backwards ↵markster1-8/+8
compatibility issues upgrading from Asterisk 1.0 to current CVS head git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5031 f38db490-d61c-443f-a65b-d21fe96a405b
2004-12-11Fix use count for agent/local (bug #2996 et al)markster1-0/+5
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4425 f38db490-d61c-443f-a65b-d21fe96a405b
2004-11-06Add features (incomplete, highly experimental), fix DundiLookup app, debug ↵markster1-0/+3
improvements (bug #2800) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4167 f38db490-d61c-443f-a65b-d21fe96a405b
2004-10-26Pass concept of status back, permit "leaveempty" to work with static agents ↵markster1-1/+1
who are not loggedon (bug #2719) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4106 f38db490-d61c-443f-a65b-d21fe96a405b
2004-10-26Fix chan_local debug message (bug #2725)markster1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4101 f38db490-d61c-443f-a65b-d21fe96a405b
2004-10-23First pass at making transfer work within agent (not tested, shouldn't break ↵markster1-8/+8
anything that currently worked) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4061 f38db490-d61c-443f-a65b-d21fe96a405b