aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_skinny.c
AgeCommit message (Collapse)AuthorFilesLines
2009-09-02Merged revisions 215665 via svnmerge from mvanbaak1-0/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r215665 | mvanbaak | 2009-09-02 23:23:17 +0200 (Wed, 02 Sep 2009) | 5 lines add Parkinglot info to sip show peer <foo> and skinny show line <foo> If we had this from the start, debugging the 'parking not using configured parkinglot' bug would have been easier. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@215679 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-02Merged revisions 215479 via svnmerge from mvanbaak1-0/+2
https://origsvn.digium.com/svn/asterisk/trunk ........ r215479 | mvanbaak | 2009-09-02 18:20:23 +0200 (Wed, 02 Sep 2009) | 3 lines like in chan_sip's sip_new skinny should copy the configured parkinglot from a line to the newly created channel. This makes callparking honor the configured parkinglot for skinny lines as well. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@215511 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-10AST-2009-005tilghman1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@211569 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-25Merged revisions 208749 via svnmerge from jpeeler1-3/+7
https://origsvn.digium.com/svn/asterisk/trunk ................ r208749 | jpeeler | 2009-07-25 01:23:18 -0500 (Sat, 25 Jul 2009) | 13 lines Merged revisions 208746 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r208746 | jpeeler | 2009-07-25 01:19:50 -0500 (Sat, 25 Jul 2009) | 7 lines Fix compiling under dev-mode with gcc 4.4.0. Mostly trivial changes, but I did not know of any other way to fix the "dereferencing type-punned pointer will break strict-aliasing rules" error without creating a tmp variable in chan_skinny. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@208754 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-25Merged revisions 184339 via svnmerge from russell1-1/+0
https://origsvn.digium.com/svn/asterisk/trunk ........ r184339 | russell | 2009-03-25 16:57:19 -0500 (Wed, 25 Mar 2009) | 35 lines Improve performance of the ast_event cache functionality. 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: http://svn.digium.com/svn/asterisk/branches/1.6.1@184342 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-18Merged revisions 182847 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r182847 | russell | 2009-03-17 21:28:55 -0500 (Tue, 17 Mar 2009) | 52 lines Merged revisions 182810 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r182810 | russell | 2009-03-17 21:09:13 -0500 (Tue, 17 Mar 2009) | 44 lines Fix cases where the internal poll() was not being used when it needed to be. We have seen a number of problems caused by poll() not working properly on Mac OSX. If you search around, you'll find a number of references to using select() instead of poll() to work around these issues. In Asterisk, we've had poll.c which implements poll() using select() internally. However, we were still getting reports of problems. vadim investigated a bit and realized that at least on his system, even though we were compiling in poll.o, the system poll() was still being used. So, the primary purpose of this patch is to ensure that we're using the internal poll() when we want it to be used. The changes are: 1) Remove logic for when internal poll should be used from the Makefile. Instead, put it in the configure script. The logic in the configure script is the same as it was in the Makefile. Ideally, we would have a functionality test for the problem, but that's not actually possible, since we would have to be able to run an application on the _target_ system to test poll() behavior. 2) Always include poll.o in the build, but it will be empty if AST_POLL_COMPAT is not defined. 3) Change uses of poll() throughout the source tree to ast_poll(). I feel that it is good practice to give the API call a new name when we are changing its behavior and not using the system version directly in all cases. So, normally, ast_poll() is just redefined to poll(). On systems where AST_POLL_COMPAT is defined, ast_poll() is redefined to ast_internal_poll(). 4) Change poll() in main/poll.c to be ast_internal_poll(). It's worth noting that any code that still uses poll() directly will work fine (if they worked fine before). So, for example, out of tree modules that are using poll() will not stop working or anything. However, for modules to work properly on Mac OSX, ast_poll() needs to be used. (closes issue #13404) Reported by: agalbraith Tested by: russell, vadim http://reviewboard.digium.com/r/198/ ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@182946 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Merged revisions 176320 via svnmerge from tilghman1-2/+3
https://origsvn.digium.com/svn/asterisk/trunk ........ r176320 | tilghman | 2009-02-16 17:14:08 -0600 (Mon, 16 Feb 2009) | 7 lines Use the correct list macros for deleting an item from the middle of a list. (issue #13777) Reported by: pj Patches: 20090203__bug13777.diff.txt uploaded by Corydon76 (license 14) Tested by: pj ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@176321 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-13Merged revisions 168562 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r168562 | russell | 2009-01-13 13:22:13 -0600 (Tue, 13 Jan 2009) | 10 lines Merged revisions 168561 via svnmerge from 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: http://svn.digium.com/svn/asterisk/branches/1.6.1@168565 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-22Merged revisions 158694 via svnmerge from mvanbaak1-6/+12
https://origsvn.digium.com/svn/asterisk/trunk ........ r158694 | mvanbaak | 2008-11-22 17:57:11 +0100 (Sat, 22 Nov 2008) | 8 lines dont send reorder tone after a device is hungup if a dialout is abandoned or failed. Without this reorder tone will play after hangup and both wedhorn's and my wife have threatened to use an axe on our asterisk box (closes issue #13948) Reported by: wedhorn Patches: switch.diff uploaded by wedhorn (license 30) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@158701 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-22Merged revisions 158688 via svnmerge from mvanbaak1-1/+2
https://origsvn.digium.com/svn/asterisk/trunk ........ r158688 | mvanbaak | 2008-11-22 17:06:38 +0100 (Sat, 22 Nov 2008) | 4 lines fix a very occasional core dump in chan_skinny found by wedhorn. (issue #13948) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@158689 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-14Merged revisions 143082 via svnmerge from mvanbaak1-6/+12
https://origsvn.digium.com/svn/asterisk/trunk ........ r143082 | mvanbaak | 2008-09-15 00:16:34 +0200 (Mon, 15 Sep 2008) | 11 lines plug a couple of memleaks in chan_skinny. (closes issue #13452) Reported by: pj Patches: memleak5.diff uploaded by wedhorn (license 30) Tested by: wedhorn, pj, mvanbaak (closes issue #13294) Reported by: pj ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@143086 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-09More RSW merges. This should do it for the channels/ dir.seanbright1-24/+26
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@136917 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-07show correct called party id and also store this to the 'placed calls' list ↵mvanbaak1-11/+5
once the call is connected. (closes issue #13180) Reported by: pj Patches: 2008080700_skinny_calledpartyid.diff uploaded by mvanbaak (license 7) Tested by: mvanbaak, pj git-svn-id: http://svn.digium.com/svn/asterisk/trunk@136679 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-06Merged revisions 136062 via svnmerge from mmichelson1-3/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r136062 | mmichelson | 2008-08-06 10:58:40 -0500 (Wed, 06 Aug 2008) | 16 lines Since adding the AST_CONTROL_SRCUPDATE frame type, there are places where ast_rtp_new_source may be called where the tech_pvt of a channel may not yet have an rtp structure allocated. This caused a crash in chan_skinny, which was fixed earlier, but now the same crash has been reported against chan_h323 as well. It seems that the best solution is to modify ast_rtp_new_source to not attempt to set the marker bit if the rtp structure passed in is NULL. This change to ast_rtp_new_source also allows the removal of what is now a redundant pointer check from chan_skinny. (closes issue #13247) Reported by: pj ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@136063 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-03whitespace fixes only.mvanbaak1-20/+20
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135373 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-03Dont coredump on register of non-configured devicesmvanbaak1-2/+22
(closes issue #13224) Reported by: mvanbaak Patches: noncon.diff uploaded by wedhorn (license 30) with whitespace fixes by me Tested by: wedhorn, mvanbaak git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135371 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-02make this work again, and not segfault on device registrationmvanbaak1-1/+3
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135332 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-02--enable-dev-mode is your friend :-)kpfleming1-3/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135302 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-02pass device instead of session to transmit_ functions.mvanbaak1-239/+236
(closes issue #10396) Reported by: wedhorn Patches: transmit3a.diff uploaded by wedhorn (license 30) Tested by: wedhorn, mvanbaak git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135300 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-01Merged revisions 135055 via svnmerge from mvanbaak1-1/+5
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r135055 | mvanbaak | 2008-08-01 12:55:27 +0200 (Fri, 01 Aug 2008) | 8 lines fix some potential deadlocks in chan_skinny (closes issue #13215) Reported by: qwell Patches: 2008080100_bug13215.diff.txt uploaded by mvanbaak (license 7) Tested by: mvanbaak ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135056 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-25Deprecate *_device_state_* APIs in favor of *_devstate_* APIstilghman1-9/+8
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@133860 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-13Convert chan_skinny's open-coded linked lists to the list macrosmvanbaak1-253/+179
(closes issue #12956) Reported by: DEA Patches: chan_skinny-linkedlists-v2.txt uploaded by DEA (license 3) Tested by: DEA, mvanbaak git-svn-id: http://svn.digium.com/svn/asterisk/trunk@130576 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-11Janitor patch to change uses of sizeof to ARRAY_LENbbryant1-1/+1
(closes issue #13054) Reported by: pabelanger Patches: ARRAY_LEN.patch2 uploaded by pabelanger (license 224) Tested by: seanbright git-svn-id: http://svn.digium.com/svn/asterisk/trunk@130129 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-26remove block of commented code to set __ouripmvanbaak1-11/+0
This is now handled in skinny_register and load_config. part two of chan_skinny cleanup git-svn-id: http://svn.digium.com/svn/asterisk/trunk@125596 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-26remove paging device from chan_skinny.mvanbaak1-24/+0
This has never been used, and noone could give us info about what it is used for. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@125593 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-25implement transfer functionality in chan_skinnymvanbaak1-118/+448
(closes issue #9939) Reported by: wedhorn Patches: transfer_v6.diff uploaded by wedhorn (license 30) chan_skinny-transfer-trunk-v10.txt uploaded by DEA (license 3) chan_skinny-transfer-trunk-v12.txt uploaded by mvanbaak (license 7) Tested by: DEA, wedhorn, mvanbaak git-svn-id: http://svn.digium.com/svn/asterisk/trunk@125096 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-16Merged revisions 123113 via svnmerge from tilghman1-0/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r123113 | tilghman | 2008-06-16 14:50:12 -0500 (Mon, 16 Jun 2008) | 2 lines Port "hasvoicemail" change from SIP to other channel drivers ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@123114 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-13Implement call parking in chan_skinny.mvanbaak1-2/+34
(closes issue #11342) Reported by: DEA Patches: chan_skinny-park.txt uploaded by DEA (license 3) chan_skinny-park-v2.diff.txt uploaded by mvanbaak (license 7) Tested by: DEA, mvanbaak git-svn-id: http://svn.digium.com/svn/asterisk/trunk@122493 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-28formatting changes.mvanbaak1-211/+211
A lot of whitespace issues have been resolved in this commit Also some doc updates, but that's only 6 lines git-svn-id: http://svn.digium.com/svn/asterisk/trunk@118824 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-28remove unused astobj.h header file from chan_skinny.cmvanbaak1-1/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@118750 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-22- revert change to ast_queue_hangup and create ast_queue_hangup_with_causemvanbaak1-4/+4
- 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: http://svn.digium.com/svn/asterisk/trunk@117802 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-16Merged revisions 116799 via svnmerge from file1-1/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r116799 | file | 2008-05-16 17:28:11 -0300 (Fri, 16 May 2008) | 4 lines Check to make sure an RTP structure exists before calling ast_rtp_new_source on it. (closes issue #12669) Reported by: sbisker ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@116800 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-14Undo inadvertent changes to chan_skinny caused by the merging of urgent ↵mmichelson1-115/+227
messaging support. Thanks to Damien Wedhorn for pointing out the problem. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@116138 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-09Adding support for "urgent" voicemail messages. Messages which aremmichelson1-227/+115
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: http://svn.digium.com/svn/asterisk/trunk@115588 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-27s/chan_zap/chan_skinny/russell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114703 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-27Make MWI in chan_skinny event based modeled after chan_zap and chan_mgcp.mvanbaak1-6/+47
(closes issue #12214) Reported by: DEA Patches: chan_skinny-vm-events-v3.txt uploaded by DEA (license 3) Tested by: DEA and me git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114700 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-24Pass the hangup cause all the way to the calling app/channel.mvanbaak1-4/+4
(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: http://svn.digium.com/svn/asterisk/trunk@114637 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-21(closes issue #6113)jpeeler1-0/+5
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: http://svn.digium.com/svn/asterisk/trunk@114487 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-10Fix spelling of existent in a few places.file1-1/+1
(closes issue #12409) Reported by: candlerb git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114024 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-09Move all messages wrapped in skinnydebug from debug to verbose.qwell1-92/+92
(closes issue #12224) Reported by: DEA Patches: chan_skinny-debug-log.txt uploaded by DEA (license 3) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@113834 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-08Merged revisions 113504 via svnmerge from qwell1-0/+21
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r113504 | qwell | 2008-04-08 13:48:55 -0500 (Tue, 08 Apr 2008) | 1 line Add a little more that is required for previously added devices. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@113505 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-08Merged revisions 113454 via svnmerge from qwell1-0/+23
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r113454 | qwell | 2008-04-08 13:07:49 -0500 (Tue, 08 Apr 2008) | 4 lines Add support for several new(ish) devices - most notably, 7942/7945, 7962/7965, 7975. Thanks to Greg Oliver for providing me the required information. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@113455 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-07Merged revisions 113118 via svnmerge from qwell1-14/+37
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r113118 | qwell | 2008-04-07 13:00:09 -0500 (Mon, 07 Apr 2008) | 8 lines Allow playback with noanswer (and add earlyrtp option). (closes issue #9077) Reported by: pj Patches: earlyrtp.diff uploaded by wedhorn (license 30) Tested by: pj, qwell, DEA, wedhorn ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@113119 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-28Merged revisions 111720 via svnmerge from qwell1-3/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r111720 | qwell | 2008-03-28 12:55:05 -0500 (Fri, 28 Mar 2008) | 1 line Remove unimplemented softkeys. Prompted by issue #12325. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@111721 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-17Update the directory of placed calls on skinny phonesmvanbaak1-0/+1
when dialing a channel that does not provide progress (analog ZAP lines) The phone does handle the double update on calls to channels that do provide progress and wont insert duplicate items (closes issue #12239) Reported by: DEA Patches: chan_skinny-call-log.txt uploaded by DEA (license 3) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@109168 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-07(closes issue #6002)murf1-2/+1
Reported by: rizzo Tested by: murf Proposal of the changes to be made, and then an announcement of how they were accomplished: http://lists.digium.com/pipermail/asterisk-dev/2008-February/032065.html and: http://lists.digium.com/pipermail/asterisk-dev/2008-March/032124.html Here is a recap, file by file, of what I have done: pbx/pbx_config.c pbx/pbx_ael.c All funcs that were passed a ptr to the context list, now will ALSO be passed a hashtab ptr to the same set. Why? because (for the time being), the dialplan is stored in both, to facilitate a quick, low-cost move to hash-tables to speed up dialplan processing. If it was deemed necessary to pass the context LIST, well, it is just as necessary to have the TABLE available. This is because the list/table in question might not be the global one, but temporary ones we would use to stage the dialplan on, and then swap into the global position when things are ready. We now have one external function for apps to use, "ast_context_find_or_create()" instead of the pre-existing "find" and "create", as all existing usages used both in tandem anyway. pbx_config, and pbx_ael, will stage the reloaded dialplan into local lists and tables, and then call merge_contexts_and_delete, which will merge (now) existing contexts and priorities from other registrars into this local set by copying them. Then, merge_contexts_and_delete will lock down the contexts, swap the lists and tables, and unlock (real quick), and then destroy the old dialplan. chan_sip.c chan_iax.c chan_skinny.c All the channel drivers that would add regcontexts now use the ast_context_find_or_create now. chan_sip also includes a small fix to get rid of warnings about removing priorities that never got entered. apps/app_meetme.c apps/app_dial.c apps/app_queue.c All the apps that added a context/exten/priority were also modified to use ast_context_find_or_create instead. include/asterisk/pbx.h ast_context_create() is removed. Find_or_create_ is the new method. ast_context_find_or_create() interface gets the hashtab added. ast_merge_contexts_and_delete() gets the local hashtab arg added. ast_wrlock_contexts_version() is added so you can detect if someone else got a writelock between your readlocking and writelocking. ast_hashtab_compare_contexts was made public for use in pbx_config/pbx_ael ast_hashtab_hash_contexts was in like fashion make public. include/asterisk/pval.h ast_compile_ael2() interface changed to include the local hashtab table ptr. main/features.c For the sake of the parking context, we use ast_context_find_or_create(). main/pbx.c I changed all the "tree" names to "table" instead. That's because the original implementation was based on binary trees. (had a free library). Then I moved to hashtabs. Now, the names move forward too. refcount field added to contexts, so you can keep track of how many modules wanted this context to exist. Some log messages that are warnings were inflated from LOG_NOTICE to LOG_WARNING. Added some calls to ast_verb(3,...) for debug messages Lots of little mods to ast_context_remove_extension2, which is now excersized in ways it was not previously; one definite bug fixed. find_or_create was upgraded to handle both local lists/tables as well as the globals. context_merge() was added to do the per-context merging of the old/present contexts/extens/prios into the new/proposed local list/tables ast_merge_contexts_and_delete() was heavily modified. ast_add_extension2() was also upgraded to handle changes. the context_destroy() code was re-engineered to handle the new way of doing things, by exten/prio instead of by context. res/ael/pval.c res/ael/ael.tab.c res/ael/ael.tab.h res/ael/ael.y res/ael/ael_lex.c res/ael/ael.flex utils/ael_main.c utils/extconf.c utils/conf2ael.c utils/Makefile Had to change the interface to ast_compile_ael2(), to include the hashtab ptr. This ended up involving several external apps. The main gotcha was I had to include lock.h and hashtab.h in several places. As a side note, I tested this stuff pretty thoroughly, I replicated the problems originally reported by Luigi, and made triply sure that reloads worked, and everything worked thru "stop gracefully". I found a and fixed a few bugs as I was merging into trunk, that did not appear in my tests of bug6002. How's this for verbose commit messages? git-svn-id: http://svn.digium.com/svn/asterisk/trunk@106757 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-05Merged revisions 106235 via svnmerge from file1-0/+3
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: http://svn.digium.com/svn/asterisk/trunk@106239 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-28Merged revisions 104920 via svnmerge from qwell1-1/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r104920 | qwell | 2008-02-27 22:31:21 -0600 (Wed, 27 Feb 2008) | 2 lines According to a video at www.cisco.com, the 7921G supports 6 line appearances. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@104921 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-16move two ast_log calls to ast_debug.mvanbaak1-2/+2
Now monitoring chan_skinny port with nagios or zabbix wont generate noise on the console. @ok tilghman git-svn-id: http://svn.digium.com/svn/asterisk/trunk@103750 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-11Change chan_skinny to use debug messages as appropriate.file1-101/+101
(closes issue #11967) Reported by: mvanbaak Patches: 2008021000-skinnydebug.diff.txt uploaded by mvanbaak (license 7) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@103313 f38db490-d61c-443f-a65b-d21fe96a405b