aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk/channel.h
AgeCommit message (Collapse)AuthorFilesLines
2006-12-18unbreak the macro used for incrementing the frame counters.rizzo1-1/+1
I don't know when the bug was introduced, but with the typical usage c->fin = FRAMECOUNT_INC(c->fin) the frame counters stay to 0. affects trunk as well (fix coming). git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@48566 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-20Use a separate variable in the channel structure to store the context that ↵file1-0/+1
the channel was dialed from. (issue #8382 reported by jiddings) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@47850 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-07These mods are to solve the problem in bug 7506. It's a lot of rework to ↵murf1-1/+7
solve a fairly small problem... such is life. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@47303 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-30Issue #8246 - Doxygen fixes from kshumard. oej1-2/+7
An extra big thankyou is given to everyone that contributes to doxygen! THANK YOU! git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@46433 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-10CHANNEL() function sometime mix parameter and valuepcadach1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@44809 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-26Merged revisions 43705 via svnmerge from file1-2/+2
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r43705 | file | 2006-09-26 16:38:06 -0400 (Tue, 26 Sep 2006) | 2 lines Use proper type to represent the group variable (issue #8025 reported by makoto) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@43707 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-31Merge in VLDTMF support with Zaptel/Core done by the ever great Darumkilla ↵file1-15/+25
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-29Merge team/russell/frame_cachingrussell1-1/+1
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-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-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-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-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-28add macros for the pure and const attributes to compiler.h, in case they everrussell1-3/+4
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-28move slinfactory structure definition back to header... it's just easier to ↵kpfleming1-6/+39
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-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-06-23revert my changes that converted the jb on the channel to be dynamicallyrussell1-1/+1
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 structurerussell1-1/+1
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-05yet another massive performance and memory savings improvementkpfleming1-4/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@32349 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-04Doxygen improvementsoej1-211/+145
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@31979 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-01Merged revisions 31520 via svnmerge from kpfleming1-2/+3
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r31520 | kpfleming | 2006-06-01 15:27:50 -0500 (Thu, 01 Jun 2006) | 2 lines handle Zap transfers behind chan_agent properly so the agent doesn't get stuck waiting for the call to hang up ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@31522 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-31Add support for using a jitterbuffer for RTP on bridged calls. This includesrussell1-0/+10
a new implementation of a fixed size jitterbuffer, as well as support for the existing adaptive jitterbuffer implementation. (issue #3854, Slav Klenov) Thank you very much to Slav Klenov of Securax and all of the people involved in the testing of this feature for all of your hard work! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@31052 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-25Merge in branch which gives you the ability to set the hangup causecode ↵file1-0/+7
using the Hangup application. (issue #7160 reported by kmilitzer branch by jcollie) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@30390 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-22 This is part 2/2 of the patches for #7090. Adds one-step call parking to ↵bweschke1-0/+1
/trunk via builtin functions and 'k' 'K' application options added to app_dial. This also resolves #6340. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@29467 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-10ensure that control frames with payload can be sent to channel drivers via ↵kpfleming1-1/+11
->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-05-09various doxygen fixeskpfleming1-0/+7
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@26170 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-09Make sure that we don't accept an answer on an inbound call and don't permit ↵markster1-0/+1
asterisk to answer an outbound call git-svn-id: http://svn.digium.com/svn/asterisk/trunk@26103 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-09use an enum for control frame typeskpfleming1-2/+21
support sending control frames with payload git-svn-id: http://svn.digium.com/svn/asterisk/trunk@26093 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-21- use symbolic constants and macros to play with the debug flagrizzo1-1/+5
on the frame counters. Document it in the header file. - provide a single exit point for a function; - mark XXX some unclear parts of the code. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@21933 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-20comment that for callerid field, NULL and "" should be consideredrizzo1-23/+16
equivalent (the reason is, when passing these strings through a statically allocated buffer, we have no way to tell between NULL and "" so we would be unable to preserve the difference, if any). No code changes yet. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@21743 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-11Data stores do not need a lock. As well change the way they are removed from ↵file1-2/+2
the channel when it is destroyed (thanks Russell Wussell) and finally... because C++ is silly... change our list macro info thing to be "entry" instead of "list". git-svn-id: http://svn.digium.com/svn/asterisk/trunk@19062 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-10Presenting a revised data stores and oh my, a generic speech recognition ↵file1-0/+38
API! I wonder what we can do with this now... git-svn-id: http://svn.digium.com/svn/asterisk/trunk@18979 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-03list word cant be used with g++ and causes problemsmogorman1-1/+1
with h323. patch from bug 6446, renames list to chan_list git-svn-id: http://svn.digium.com/svn/asterisk/trunk@17130 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-30as discussed with Mark a few weeks ago, the 'newstack' argumentrizzo1-4/+2
in pbx_exec is always 1 so it can be removed. This change also takes away ast_exec_extension(), and lets all switch functions (exists, canmatch, exec, matchmore) all use the same prototype, which makes the code a bit cleaner. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@16558 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-30Issue #5374 - Enable internal timing of generators (cmantunes)oej1-0/+10
Thanks everyone involved for hard work, testing and testing! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@16473 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-19- Doxygen fixes. oej1-76/+67
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@13627 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-14add 'systemname' option to prefix channel unique IDs with (issue #5825)kpfleming1-3/+1
convert chan->uniqueid to a stringfield from a fixed-size buffer git-svn-id: http://svn.digium.com/svn/asterisk/trunk@10088 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-12major dialplan functions updatekpfleming1-1/+5
deprecate LANGUAGE() and MUSICCLASS(), in favor of CHANNEL() git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9674 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-11Merged revisions 9581 via svnmerge from russell1-0/+2
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r9581 | russell | 2006-02-11 13:15:00 -0500 (Sat, 11 Feb 2006) | 2 lines now that CDR is a loadable module, don't depend on it elsewhere (issue #6460) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9582 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-11Add capability to retrieve list of channel typesmarkster1-0/+3
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9508 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-01use string fields for some stuff in ast_channelkpfleming1-13/+9
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-31add a note to hopefully decrease the chance that someone forgets to incrementrussell1-0/+3
.cleancount after changing the ast_channel structure git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8949 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-30Merge Rizzo's waitfor update (bug #4584)markster1-5/+28
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8877 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-29add channel-driver callbacks for variable length DTMFkpfleming1-0/+6
teach ast_write() to call those new callbacks git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8851 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-24convert ast_channel list to use linked list macros (issue #6338)russell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8571 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-24- Report SIP reload in manager (issue 5742 with small changes)oej1-1/+14
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8531 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-20- move ast_strdupa from channel.h to utils.hrussell1-11/+0
- attempt to log an error message if the __builtin_alloca inside of ast_strdupa fails. - document the fact that it is known and intended behavior for ast_strdupa to cause Asterisk to crash if the alloca fails - use __builtin_expect when checking for allocation failure in all of the allocation wrappers New Janitor Project! Anywhere that we check for a successful allocation after a call to ast_strdupa is unnecessary and should be removed. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8356 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-11remove stray headerrussell1-1/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7964 f38db490-d61c-443f-a65b-d21fe96a405b
2005-12-31- fix some doxygen errorsrussell1-1/+1
- add the flag definitions to the page about global options git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7690 f38db490-d61c-443f-a65b-d21fe96a405b