summaryrefslogtreecommitdiff
path: root/channels/chan_unistim.c
AgeCommit message (Collapse)Author
2009-04-10Fix some uninitialized memory notices that appeared under valgrind.Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03This commit introduces COLP/CONP and Redirecting party information into ↵Mark Michelson
Asterisk. The channel drivers which have been most heavily tested with these enhancements are chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be introduced in a later commit. chan_skinny has code added to it here, but according to user pj, the support on chan_skinny is not working as of now. This will be fixed in a later commit. A special thanks goes out to bugtracker user gareth for getting the ball rolling and providing the initial support for this work. Without his initial work on this, this would not have been nearly as painless as it was. This functionality has been tested by Digium's product quality department, as well as a customer site running thousands of calls every day. In addition, many many many many bugtracker users have tested this, too. (closes issue #8824) Reported by: gareth Review: http://reviewboard.digium.com/r/201 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-02Merge in the RTP engine API.Joshua Colp
This API provides a generic way for multiple RTP stacks to be integrated into Asterisk. Right now there is only one present, res_rtp_asterisk, which is the existing Asterisk RTP stack. Functionality wise this commit performs the same as previously. API documentation can be viewed in the rtp_engine.h header file. Review: http://reviewboard.digium.com/r/209/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-25Improve performance of the ast_event cache functionality.Russell Bryant
This code comes from svn/asterisk/team/russell/event_performance/. Here is a summary of the changes that have been made, in order of both invasiveness and performance impact, from smallest to largest. 1) Asterisk 1.6.1 introduces some additional logic to be able to handle distributed device state. This functionality comes at a cost. One relatively minor change in this patch is that the extra processing required for distributed device state is now completely bypassed if it's not needed. 2) One of the things that I noticed when profiling this code was that a _lot_ of time was spent doing string comparisons. I changed the way strings are represented in an event to include a hash value at the front. So, before doing a string comparison, we do an integer comparison on the hash. 3) Finally, the code that handles the event cache has been re-written. I tried to do this in a such a way that it had minimal impact on the API. I did have to change one API call, though - ast_event_queue_and_cache(). However, the way it works now is nicer, IMO. Each type of event that can be cached (MWI, device state) has its own hash table and rules for hashing and comparing objects. This by far made the biggest impact on performance. For additional details regarding this code and how it was tested, please see the review request. (closes issue #14738) Reported by: russell Review: http://reviewboard.digium.com/r/205/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-17Merge a large set of updates to the Asterisk indications API.Russell Bryant
This patch includes a number of changes to the indications API. The primary motivation for this work was to improve stability. The object management in this API was significantly flawed, and a number of trivial situations could cause crashes. The changes included are: 1) Remove the module res_indications. This included the critical functionality that actually loaded the indications configuration. I have seen many people have Asterisk problems because they accidentally did not have an indications.conf present and loaded. Now, this code is in the core, and Asterisk will fail to start without indications configuration. There was one part of res_indications, the dialplan applications, which did belong in a module, and have been moved to a new module, app_playtones. 2) Object management has been significantly changed. Tone zones are now managed using astobj2, and it is no longer possible to crash Asterisk by issuing a reload that destroys tone zones while they are in use. 3) The API documentation has been filled out. 4) The API has been updated to follow our naming conventions. 5) Various bits of code throughout the tree have been updated to account for the API update. 6) Configuration parsing has been mostly re-written. 7) "Code cleanup" The code is from svn/asterisk/team/russell/indications/. Review: http://reviewboard.digium.com/r/149/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-16Merged revisions 175921 via svnmerge from Michiel van Baak
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r175921 | mvanbaak | 2009-02-16 00:37:03 +0100 (Mon, 16 Feb 2009) | 3 lines fix mis-spelling of the word registered. Reported by De_Mon on #asterisk-dev. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-13Merged revisions 168561 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r168561 | russell | 2009-01-13 13:13:05 -0600 (Tue, 13 Jan 2009) | 2 lines Revert unnecessary indications API change from rev 122314 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@168562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-28Merge the cli_cleanup branch.Michiel van Baak
This work is done by lmadsen, junky and mvanbaak during AstriDevCon. This is the second audit the CLI got, and this time lmadsen made sure he had _ALL_ modules loaded that have CLI commands in them. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@145121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-12Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiatingTilghman Lesher
when a file is invalid from when a file is missing. This is most important when we have two configuration files. Consider the following example: Old system: sip.conf users.conf Old result New result ======== ========== ========== ========== Missing Missing SIP doesn't load SIP doesn't load Missing OK SIP doesn't load SIP doesn't load Missing Invalid SIP doesn't load SIP doesn't load OK Missing SIP loads SIP loads OK OK SIP loads SIP loads OK Invalid SIP loads incompletely SIP doesn't load Invalid Missing SIP doesn't load SIP doesn't load Invalid OK SIP doesn't load SIP doesn't load Invalid Invalid SIP doesn't load SIP doesn't load So in the case when users.conf doesn't load because there's a typo that disrupts the syntax, we may only partially load users, instead of failing with an error, which may cause some calls not to get processed. Worse yet, the old system would do this with no indication that anything was even wrong. (closes issue #10690) Reported by: dtyoo Patches: 20080716__bug10690.diff.txt uploaded by Corydon76 (license 14) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@142992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-09More RSW merges. This should do it for the channels/ dir.Sean Bright
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-14Swap "static" and "const", so that "static" appears at the beginning of eachTilghman Lesher
declaration (suppresses a warning). (closes issue #13070) Reported by: gknispel_proformatique Patches: asterisk_trunk_const_static.patch uploaded by gknispel (license 261) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-02Keep ast_app_inboxcount API compatible with 1.6.0.Tilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127609 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22- revert change to ast_queue_hangup and create ast_queue_hangup_with_causeMichiel van Baak
- make data member of the ast_frame struct a named union instead of a void Recently the ast_queue_hangup function got a new parameter, the hangupcause Feedback came in that this is no good and that instead a new function should be created. This I did. The hangupcause was stored in the seqno member of the ast_frame struct. This is not very elegant, and since there's already a data member that one should be used. Problem is, this member was a void *. Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone wants to store another type in there in the future. This commit is so massive, because all ast_frame.data uses have to be altered to ast_frame.data.data Thanks russellb and kpfleming for the feedback. (closes issue #12674) Reported by: mvanbaak git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-09Adding support for "urgent" voicemail messages. Messages which areMark Michelson
marked "urgent" are considered to be higher priority than other messages and so they will be played before any other messages in a user's mailbox. There are two ways to leave an urgent message. 1. send the 'U' option to VoiceMail(). 2. Set review=yes in voicemail.conf. This will give instructions for a caller to mark a message as urgent after the message has been recorded. I have tested that this works correctly with file and ODBC storage, and James Rothenberger (who wrote initial support for this feature) has tested its use with IMAP storage. (closes issue #11817) Reported by: jaroth Based on branch http://svn.digium.com/svn/asterisk/team/jrothenberger/asterisk-urgent Tested by: putnopvut, jaroth git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-24Pass the hangup cause all the way to the calling app/channel.Michiel van Baak
(closes issue #11328) Reported by: rain Patches: 20071207__pass_cause_in_hangup_control_frame.diff.txt uploaded by Corydon76 (license 14) brought up-to-date to trunk by me git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-21(closes issue #6113)Jeff Peeler
Reported by: oej Tested by: jpeeler This patch implements multiple parking lots for parked calls. The default parkinglot is used by default, however setting the channel variable PARKINGLOT in the dialplan will allow use of any other configured parkinglot. See configs/features.conf.sample for more details on setting up another non-default parkinglot. Also, one can (currently) set the default parkinglot to use in the driver configuration file via the parkinglot option. Patch initially written by oej, brought up to date and finalized by mvanbaak, and then stabilized and converted to astobj2 by me. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-18Make sure ADSI is marked as unavailable on Unistim channels so voicemail ↵Joshua Colp
does not try to do some ADSI jazz. (closes issue #12460) Reported by: PerryB git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-15Shorten the mac address pattern, since some phones use different identifiers ↵Jason Parker
(such as the i2050 softphone). (closes issue #12398) Reported by: c_hans Patches: chan_unistim_svn.diff uploaded by c (license 460) Tested by: c_hans git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114141 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-10Fix spelling of existent in a few places.Joshua Colp
(closes issue #12409) Reported by: candlerb git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Merged revisions 106235 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106235 | file | 2008-03-05 18:32:10 -0400 (Wed, 05 Mar 2008) | 4 lines Add a control frame to indicate the source of media has changed. Depending on the underlying technology it may need to change some things. (closes issue #12148) Reported by: jcomellas ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-05Get rid of any remaining ast_verbose calls in the code in favor of Mark Michelson
ast_verb (closes issue #11934) Reported by: mvanbaak Patches: 20080205_astverb-2.diff.txt uploaded by mvanbaak (license 7) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@102525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18remove unnecessary (char *) casts for ast_config_AST_* variables.Luigi Rizzo
There are some left in the .flex files, left to the maintainer... git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18You... will... build! I say so and therefore you will.Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18minor cleanupsKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-17fix building under cygwin.Luigi Rizzo
At this point WINARCH should go away. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-17remove some unnecessary includesLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93405 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-17make the configure script detect that it is running on a Windows platform, ↵Kevin P. Fleming
and report that information so that menuselect can use it (all information that is used to decide whether to build modules or not must be fed to menuselect so the user knows what will be built and why... don't make module build decisions in the makefiles, please) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93211 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-17If no timezone is available use the default message.Joshua Colp
(closes issue #11576) Reported by: junky git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-17Make chan_unistim actually be able to unload. When creating a thread that ↵Joshua Colp
you want to pthread_join you have to explicitly create it as joinable, and also if using pthread_cancel you have to have a pthread_testcancel to see if it has been called. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-16HUGE improvements to QoS/CoS handling by IgorGOlle Johansson
- Refer to the proper documentation - Implement separate signalling/media QoS/CoS in many channels using RTP - Improve warnings and verbose messages - Deprecate some old settings Minor modifications by me, a big effort from IgorG. Thanks! Reported by: IgorG Patches: qoscleanup-89394-4-trunk.patch uploaded by IgorG (license 20) Tested by: IgorG (closes issue #11145) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14Solaris compat fixesTilghman Lesher
Reported by: snuffy Patch by: snuffy,tilghman (Closes issue #11315) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21remove another set of redundant #include "asterisk/options.h"Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21Fix some code that was supposed to ensure that a buffer was terminated, but wasRussell Bryant
writing to the wrong byte. Also, remove some non-thread safe test code. (closes issue #11317) Reported by: IgorG Patches: unistim-2.patch uploaded by IgorG (license 20) - additional changes by me git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-20move asterisk/paths.h outside asterisk.h and into those filesLuigi Rizzo
who really need it. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19include "logger.h" and errno.h from asterisk.h - usage shows that theyLuigi Rizzo
were included almost everywhere. Remove some of the instances. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17more removal of duplicate #include linesLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16Start untangling header inclusion in a way that does not affectLuigi Rizzo
build times - tested, there is no measureable difference before and after this commit. In this change: use asterisk/compat.h to include a small set of system headers: inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h, stdlib.h, alloca.h, stdio.h Where available, the inclusion is conditional on HAVE_FOO_H as determined by autoconf. Normally, source files should not include any of the above system headers, and instead use either "asterisk.h" or "asterisk/compat.h" which does it better. For the time being I have left alone second-level directories (main/db1-ast, etc.). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12Doxygen fixes.Jason Parker
Also fix a common typo I kept seeing (arguement) in various files. Closes issue #11222, patch by snuffy (with arguement > argument by me). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12Fix building on FreeBSD by including/not including some headers.Joshua Colp
(closes issue #11218) Reported by: ys Patches: trunk89169.diff uploaded by ys (license 281) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89177 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08initialize a variable to silence compiler.Luigi Rizzo
The type of warnings emitted depends on the optimization level, at the lower levels the compiler doesn't always understand what the programmer has in mind. In this case I could not understand it either. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Set up detection of IP_PKTINFO in autoconf for chan_unistimTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06convert uses of LOG_DEBUG to use ast_debug()Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Add jitterbuffer support to chan_unistim.Russell Bryant
(closes issue #11168) Reported by: IgorG Patches: unistimjb-88863-1.patch uploaded by IgorG (license 20) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05Fix memory leaks and deadlocks in chan_unistim.Joshua Colp
(closes issue #11158) Reported by: eliel Patches: chan_unistim.c.patch uploaded by eliel (license 64) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02fix some issues with crashing on unload, when it didn't completely load cleanlyRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02Convert the CLI commands to the new formatRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02Merge the code from asterisk/team/group/chan_unistim:Russell Bryant
This introduces a new channel driver, chan_unistim, that supports the Unistim VoIP protocol for Nortel phones. The following models have been confirmed to work: i2002, i2004 and i2050. (closes issue #8864) Reported by: c_hans Patches: chan_unistim.patch uploaded by c (license 304) ustm_no_conf.diff uploaded by junky (license 177) Tested by: c_hans, dbowerman, math, junky, loloski git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88368 65c4cc65-6c06-0410-ace0-fbb531ad65f3