summaryrefslogtreecommitdiff
path: root/include/asterisk/channel.h
AgeCommit message (Collapse)Author
2007-09-05Merged revisions 81599 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r81599 | russell | 2007-09-05 15:53:41 -0500 (Wed, 05 Sep 2007) | 11 lines Fix an issue that can occur when you do an attended transfer to parking. If you complete the transfer before the announcement of the parking spot finishes, then the channel being parked will hear the remainder of the announcement. These changes make it so that will not happen anymore. Basically, res_features sets a flag on the channel is playing the announcement to so that the file streaming core knows that it needs to watch out for a channel masquerade, and if it occurs, to abort the announcement. (closes BE-182) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-28* Constify the uid field of channel datastoresRussell Bryant
* Convert some spaces to tabs in func_volume * Add a note in channel.h making it clear that none of the datastore API calls lock the channel they are given, so the channel should be locked before calling the functions that take a channel argument. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-13constify the return value of reason2strRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-10Merged revisions 79099 via svnmerge from Steve Murphy
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r79099 | murf | 2007-08-10 14:53:43 -0600 (Fri, 10 Aug 2007) | 1 line From a user complaint on #asterisk, I have forced pbx_spool to explain what reason codes mean, when they are logged ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79100 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-08Add support for using epoll instead of poll. This should increase ↵Joshua Colp
scalability and is done in such a way that we should be able to add support for other poll() replacements. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-08Merge audiohooks branch into trunk. This is a new API for developers to ↵Joshua Colp
listen and manipulate the audio going through a channel. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-06Extend the ast_senddigit and ast_dtmf_stream API calls to allow the duration ↵Joshua Colp
of the DTMF digit(s) to be specified and make the SendDTMF application have the capability to use it. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-19After some study, thought, comparing, etc. I've backed out the previous ↵Steve Murphy
universal mod to make ast_flags a 64 bit thing. Instead, I added a 64-bit version of ast_flags (ast_flags64), and 64-bit versions of the test-flag, set-flag, etc. macros, and an app_parse_options64 routine, and I use these in app_dial alone, to eliminate the 30-option limit it had grown to meet. There is room now for 32 more options and flags. I was heavily tempted to implement some of the other ideas that were presented, but this solution does not intro any new versions of dial, doesn't have a different API, has a minimal/zero impact on code outside of dial, and doesn't seriously (I hope) affect the code structure of dial. It's the best I can think of right now. My goal was NOT to rewrite dial. I leave that to a future, coordinated effort. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17via 10206, I have added an option (e) to Dial to allow the h exten to get ↵Steve Murphy
run on peer. Had to upgrade ast_flag stuff to 64 bits to do this. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16Merge a bunch of doxygen updates to header files. This includes changes toRussell Bryant
use the \retval tag for documenting return values, fixing various warnings when generating the documentation, and various other things. (closes issue #10203, snuffy) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-09Implementation of a feature that will disable "missed calls" counters on SIP ↵Olle Johansson
phones. If the call is answered by another phone, other phones won't display the call as "missed". You can also add an option to the dial command so that you can have a "followme" scenario and not count the calls as "missed" when you cancel the call. Thanks to Ramon and Frank for feedback on this feature. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@74024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-09Merged revisions 73985 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r73985 | tilghman | 2007-07-08 23:03:20 -0500 (Sun, 08 Jul 2007) | 2 lines Doxygen formatting fixes; fixes errors while 'make progdocs'. (Closes issue #10104) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@73994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
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