summaryrefslogtreecommitdiff
path: root/include/asterisk/channel.h
AgeCommit message (Collapse)Author
2007-05-22 Add a new feature for Music on Hold. If you set the "digit" option for aRussell Bryant
class in musiconhold.conf, a caller on hold may press this digit to switch to listening to that music class. This involved adding a new callback for generators, which allow generators to get notified of DTMF from the channel they are running on. Then, a callback was implemented for the music on hold generators. (patch from bbryant) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@65505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-24Merged revisions 61781 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r61781 | russell | 2007-04-24 14:00:06 -0500 (Tue, 24 Apr 2007) | 6 lines Improve DTMF handling in ast_read() even more in response to a discussion on the asterisk-dev mailing list. I changed the enforced minimum length of a digit from 100ms to 80ms. Furthermore, I made it now enforce a gap of 45ms in between digits. These values are not configurable in a configuration file right now, but they can be easily changed near the top of main/channel.c. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-10Merged revisions 60989 via svnmerge from Steve Murphy
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r60989 | murf | 2007-04-09 12:32:07 -0600 (Mon, 09 Apr 2007) | 1 line This is a big improvement over the current CDR fixes. It may still need refinement, but this won't have as many folks bothered. This also adds the mods from 1.4/r.61136; ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-03Expand datastores to add the notion of inheritance. This will be needed forTilghman Lesher
the conversion of IAX2 variables from the current custom method to ast_storage. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@57691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-01Merged revisions 57364 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r57364 | russell | 2007-03-01 17:42:53 -0600 (Thu, 01 Mar 2007) | 16 lines Merge changes from svn/asterisk/team/russell/sla_updates * Originally, I put in the documentation that only Zap interfaces would be supported on the trunk side. However, after a discussion with Qwell, we came up with a way to make IP trunks work as well, using some things already in Asterisk. So, here it is, this now officially supports IP trunks. * Update the SLA documentation to reflect how to setup IP trunks. * Add a section in sla.txt that describes how to set up an SLA system with voicemail. * Simplify the way DTMF passthrough is handled in MeetMe. * Fix a bug that exposed itself when using a Local channel on the trunk side in SLA. The station's channel needs to be passed to the dial API when dialing the trunk. * Change a WARNING message to DEBUG in channel.h. This message is of no use to users. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@57365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-16Adding Realtime Text support (T.140) to AsteriskOlle Johansson
T.140/RFC 2793 is a live communication channel, originally created for IP based text phones for hearing impaired. Feels very much like the old Unix talk application. This code is developed and disclaimed by John Martin of Aupix, UK. Tested for interoperability by myself and Omnitor in Sweden, the company that wrote most of the specifications. A big thank you to everyone involved in this. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-19Merged revisions 51311 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r51311 | russell | 2007-01-19 11:49:38 -0600 (Fri, 19 Jan 2007) | 23 lines Merge the changes from the /team/group/vldtmf_fixup branch. The main bug being addressed here is a problem introduced when two SIP channels using SIP INFO dtmf have their media directly bridged. So, when a DTMF END frame comes into Asterisk from an incoming INFO message, Asterisk would try to emulate a digit of some length by first sending a DTMF BEGIN frame and sending a DTMF END later timed off of incoming audio. However, since there was no audio coming in, the DTMF_END was never generated. This caused DTMF based features to no longer work. To fix this, the core now knows when a channel doesn't care about DTMF BEGIN frames (such as a SIP channel sending INFO dtmf). If this is the case, then Asterisk will not emulate a digit of some length, and will instead just pass through the single DTMF END event. Channel drivers also now get passed the length of the digit to their digit_end callback. This improves SIP INFO support even further by enabling us to put the real digit duration in the INFO message instead of a hard coded 250ms. Also, for an incoming INFO message, the duration is read from the frame and passed into the core instead of just getting ignored. (issue #8597, maybe others...) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-12make the automatic post-answer delay happen only when the answer is ↵Kevin P. Fleming
'automatic' (not done by the Answer() dialplan application) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@50571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-06finish const-ifying ast_func_read()Kevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-25rename the structs struct tone_zone_sound and struct tone_zoneLuigi Rizzo
defined in indications.h to ind_tone_zone_sound and ind_tone_zone, to avoid conflicts with the structs with the same names defined in tonezone.h Hope i haven't missed any instance. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-18unbreak the macro used for incrementing the frame counters.Luigi Rizzo
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. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-15remove ast_safe_string_alloc() - it is completelyLuigi Rizzo
equivalent to asprintf(). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48499 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-15constify ast_state2str() and note it is not reentrant.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-15remove the macro LOAD_OH and expand it inline in the onlyLuigi Rizzo
place where it was used. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48476 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-12Fix various spelling mistakes in comments.Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-05Doxygen updatesOlle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-30Documentation updatesOlle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-24Doxygen updateOlle Johansson
- Document cause codes - Document a bit more on channel variables - global, predefined and local - Fix some doxygen in channel.h. Adding one comment for two definitions does not work. They won't be copied to each. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-20Merged revisions 47850 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r47850 | file | 2006-11-20 10:51:37 -0500 (Mon, 20 Nov 2006) | 2 lines Use a separate variable in the channel structure to store the context that the channel was dialed from. (issue #8382 reported by jiddings) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-16Merged revisions 44809 via svnmerge from Paul Cadach
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r44809 | pcadach | 2006-10-10 23:44:54 +0700 (Втр, 10 Окт 2006) | 1 line CHANNEL() function sometime mix parameter and value ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-07A fair number of changes for the sake of bug 7506Steve Murphy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-30Issue 8246 Doxygen updates (kshumard) Olle Johansson
THANK YOU! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-26Merged revisions 43707 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r43707 | file | 2006-09-26 16:47:26 -0400 (Tue, 26 Sep 2006) | 10 lines Merged revisions 43705 via svnmerge from 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: https://origsvn.digium.com/svn/asterisk/trunk@43709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-21SS7 marked the start of an open season for trunk again but here's something ↵Joshua Colp
minor - abstract early bridging into the technology so that we don't always assume they use RTP and try it. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31Merge in VLDTMF support with Zaptel/Core done by the ever great Darumkilla ↵Joshua Colp
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: https://origsvn.digium.com/svn/asterisk/trunk@41507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-29Merge team/russell/frame_cachingRussell Bryant
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: https://origsvn.digium.com/svn/asterisk/trunk@41278 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-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-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-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-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-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-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-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-05yet another massive performance and memory savings improvementKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-04Doxygen improvementsOlle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@31979 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-01Merged revisions 31520 via svnmerge from Kevin P. Fleming
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: https://origsvn.digium.com/svn/asterisk/trunk@31522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-31Add support for using a jitterbuffer for RTP on bridged calls. This includesRussell Bryant
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: https://origsvn.digium.com/svn/asterisk/trunk@31052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-25Merge in branch which gives you the ability to set the hangup causecode ↵Joshua Colp
using the Hangup application. (issue #7160 reported by kmilitzer branch by jcollie) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-22 This is part 2/2 of the patches for #7090. Adds one-step call parking to ↵BJ Weschke
/trunk via builtin functions and 'k' 'K' application options added to app_dial. This also resolves #6340. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-10ensure that control frames with payload can be sent to channel drivers via ↵Kevin P. Fleming
->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: https://origsvn.digium.com/svn/asterisk/trunk@26417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-09various doxygen fixesKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26170 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-09Make sure that we don't accept an answer on an inbound call and don't permit ↵Mark Spencer
asterisk to answer an outbound call git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-09use an enum for control frame typesKevin P. Fleming
support sending control frames with payload git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21- use symbolic constants and macros to play with the debug flagLuigi Rizzo
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: https://origsvn.digium.com/svn/asterisk/trunk@21933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-20comment that for callerid field, NULL and "" should be consideredLuigi Rizzo
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: https://origsvn.digium.com/svn/asterisk/trunk@21743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-11Data stores do not need a lock. As well change the way they are removed from ↵Joshua Colp
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: https://origsvn.digium.com/svn/asterisk/trunk@19062 65c4cc65-6c06-0410-ace0-fbb531ad65f3