aboutsummaryrefslogtreecommitdiffstats
path: root/main
AgeCommit message (Collapse)AuthorFilesLines
2010-11-11Merged revisions 294639 via svnmerge from jpeeler2-113/+191
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r294639 | jpeeler | 2010-11-11 13:31:00 -0600 (Thu, 11 Nov 2010) | 53 lines Merged revisions 294384 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r294384 | jpeeler | 2010-11-09 11:37:59 -0600 (Tue, 09 Nov 2010) | 47 lines Fix a deadlock in device state change processing. Copied from some notes from the original author (Russell): Deadlock scenario: Thread 1: device state change thread Holds - rdlock on contexts Holds - hints lock Waiting on channels container lock Thread 2: SIP monitor thread Holds the "iflock" Holds a sip_pvt lock Holds channel container lock Waiting for a channel lock Thread 3: A channel thread (chan_local in this case) Holds 2 channel locks acquired within app_dial Holds a 3rd channel lock it got inside of chan_local Holds a local_pvt lock Waiting on a rdlock of the contexts lock A bunch of other threads waiting on a wrlock of the contexts lock To address this deadlock, some locking order rules must be put in place and enforced. Existing relevant rules: 1) channel lock before a pvt lock 2) contexts lock before hints lock 3) channels container before a channel What's missing is some enforcement of the order when you involve more than any two. To fix this problem, I put in some code that ensures that (at least in the code paths involved in this bug) the locks in (3) come before the locks in (2). To change the operation of thread 1 to comply, I converted the storage of hints to an astobj2 container. This allows processing of hints without holding the hints container lock. So, in the code path that led to thread 1's state, it no longer holds either the contexts or hints lock while it attempts to lock the channels container. (closes issue #18165) Reported by: antonio ABE-2583 ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@294640 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-10Merged revisions 294500 via svnmerge from russell1-1/+2
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r294500 | russell | 2010-11-10 06:41:41 -0600 (Wed, 10 Nov 2010) | 7 lines Improve a debug message to be more readable and consistent. (closes issue #18282) Reported by: klaus3000 Patches: ast_devstate2str-patch.txt uploaded by klaus3000 (license 65) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@294501 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-09Allow ast_do_masquerade() failure to be reported again.rmudgett1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@294466 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-09Analog lines do not transfer CONNECTED LINE or execute the interception macros.rmudgett1-7/+200
Add connected line update for sig_analog transfers and simplify the corresponding sig_pri and chan_misdn transfer code. Note that if you create a three-way call in sig_analog before transferring the call, the distinction of the caller/callee interception macros make little sense. The interception macro writer needs to be prepared for either caller/callee macro to be executed. The current implementation swaps which caller/callee interception macro is executed after a three-way call is created. Review: https://reviewboard.asterisk.org/r/996/ JIRA ABE-2589 JIRA SWP-2372 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@294349 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-08Merged revisions 294277 via svnmerge from jpeeler2-1/+8
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r294277 | jpeeler | 2010-11-08 15:58:13 -0600 (Mon, 08 Nov 2010) | 16 lines Fix playback failure when using IAX with the timerfd module. To fix this issue the alert pipe will now be used when the timerfd module is in use. There appeared to be a race that was not solved by adding locking in the timerfd module, but needed to be there anyway. The race was between the timer being put in non-continuous mode in ast_read on the channel thread and the IAX frame scheduler queuing a frame which would enable continuous mode before the non-continuous mode event was read. This race for now is simply avoided. (closes issue #18110) Reported by: tpanton Tested by: tpanton I put tested by tpanton because it was tested on his hardware. Thanks for the remote access to debug this issue! ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@294278 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-03Avoid valgrind warnings for ast_rtp_instance_get_xxx_addresstwilson1-2/+14
The documentation for ast_rtp_instance_get_(local/remote)_address stated that they returned 0 for success and -1 on failure. Instead, they returned 0 if the address structure passed in was already equivalent to the address instance local/remote address or 1 otherwise. 90% of the calls to these functions completely ignored the return address and passed in an uninitialized struct, which would make valgrind complain even though the operation was technically safe. This patch fixes the documentation and converts the get_xxx_address functions to void since all they really do is copy the address and cannot fail. Additionally two new functions (ast_rtp_instance_get_and_cmp_(local/remote)_address) are created for the 3 times where the return value was actually checked. The get_and_cmp_local_address function is currently unused, but exists for the sake of symmetry. The only functional change as a result of this change is that we will not do an ast_sockaddr_cmp() on (mostly uninitialized) addresses before doing the ast_sockaddr_copy() in the get_*_address functions. So, even though it is an API change, it shouldn't have a noticeable change in behavior. Review: https://reviewboard.asterisk.org/r/995/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@293803 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-02If manager and tls are disabled, do not display TCP/TLS Bindaddress.pabelanger1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@293611 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-28Merged revisions 293195-293196 via svnmerge from tilghman3-251/+388
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r293195 | tilghman | 2010-10-28 14:52:52 -0500 (Thu, 28 Oct 2010) | 12 lines Merged revisions 293194 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r293194 | tilghman | 2010-10-28 14:44:37 -0500 (Thu, 28 Oct 2010) | 5 lines "!00" evaluated as false, which is incorrect. Fixing. Reported (though the reporter did not understand he was reporting a bug) on the asterisk-users list: http://lists.digium.com/pipermail/asterisk-users/2010-October/255505.html ........ ................ r293196 | tilghman | 2010-10-28 14:54:34 -0500 (Thu, 28 Oct 2010) | 12 lines Merged revisions 293194 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r293194 | tilghman | 2010-10-28 14:44:37 -0500 (Thu, 28 Oct 2010) | 5 lines "!00" evaluated as false, which is incorrect. Fixing. Reported (though the reporter did not understand he was reporting a bug) on the asterisk-users list: http://lists.digium.com/pipermail/asterisk-users/2010-October/255505.html ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@293197 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-22Connected line is not updated when chan_dahdi/sig_pri or chan_misdn ↵rmudgett1-14/+30
transfers a call. When a call is transfered by ECT or implicitly by disconnect in sig_pri or implicitly by disconnect in chan_misdn, the connected line information is not exchanged. The connected line interception macros also need to be executed if defined. The CALLER interception macro is executed for the held call. The CALLEE interception macro is executed for the active/ringing call. JIRA ABE-2589 JIRA SWP-2296 Patches: abe_2589_c3bier.patch uploaded by rmudgett (license 664) abe_2589_v1.8_v2.patch uploaded by rmudgett (license 664) Review: https://reviewboard.asterisk.org/r/958/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@292704 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-21Fixes recursive lock problem in manager.cdvossel1-4/+1
It is possible for a AMI session to freeze because of invalid use of recursive locks during the EVENT processing. This patch removes the unnecessary locks. (closes issue #18167) Reported by: sustav Patches: manager_locking_v1.diff uploaded by dvossel (license 671) Tested by: sustav git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@292595 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-18Resolve some compiler errors in ast_sockaddr_is_any().russell1-5/+10
These errors came up once this function was used from within netsock2.c. The errors were like the following: netsock2.c:393: error: dereferencing pointer ‘({anonymous})’ does break strict-aliasing rules The usage of a union here avoids this problem. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@292188 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-18Fixes build error for systems not supporting IPV6_TCLASS.dvossel1-1/+3
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@292155 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-18Fixes qos settings for sockets bound to any IPv6 or IPv4 address.dvossel1-11/+24
(closes issue #18099) Reported by: jamesnet Patches: issues_18099_v3.diff uploaded by dvossel (license 671 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@292085 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-14Set TCLASS field of IPv6 header when sip qos options are set.dvossel1-1/+10
(closes issue #18099) Reported by: jamesnet Patches: issues_18099_v2.diff uploaded by dvossel (license 671) Tested by: dvossel, jamesnet git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@291829 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-14Add missing ifdefs for test framework and new locale code.jpeeler1-1/+6
(closes issue #18137) Reported by: ovi Patches: 18137_test_framework_ifdef.patch uploaded by wdoekes (license 717) 18137_localelist_warning.patch uploaded by wdoekes (license 717) Tested by: ovi git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@291791 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-14Add the ability for ast_find_ourip to return IPv4, IPv6 or both.pabelanger1-2/+2
While testing chan_gtalk I noticed jabber was using my IPv6 address and not IPv4. When using bindaddr=0.0.0.0 it is possible for ast_find_ourip() to return both IPv6 and IPv4 results. Adding a family parameter gives you the ablility to choose. Since jabber/gtalk/h323 do not support IPv6, we should only return IPv4 results. Review: https://reviewboard.asterisk.org/r/973/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@291758 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-13Merged revisions 291580 via svnmerge from twilson1-1/+12
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r291580 | twilson | 2010-10-13 15:58:43 -0700 (Wed, 13 Oct 2010) | 28 lines Merged revisions 291577 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r291577 | twilson | 2010-10-13 15:45:15 -0700 (Wed, 13 Oct 2010) | 21 lines Don't ignore frames that have been queued when softhangup'd When an outgoing call is answered and hung up by the far end *very* quickly, we may not read any frames and therefor end up with a call that displays the wrong disposition/DIALSTATUS. The reason is because ast_queue_hangup() immediately sets the _softhangup flag on the channel and then queues the HANGUP control frame, but __ast_read refuses to read any frames if ast_check_hangup() indicates that a hangup request has been made (which it will if _softhangup is set). So, we end up losing control frames. This change makes __ast_read continue to read frames even if a soft hangup has been requested. It queues a hangup frame to make sure that __ast_read() will still eventually return NULL. Much thanks to David Vossel for all of the reviews, discussion, and help! (closes issue #16946) Reported by: davidw Review: https://reviewboard.asterisk.org/r/740/ ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@291581 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-12Merged revisions 291264 via svnmerge from tilghman1-2/+2
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r291264 | tilghman | 2010-10-12 12:05:31 -0500 (Tue, 12 Oct 2010) | 9 lines Merged revisions 291263 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r291263 | tilghman | 2010-10-12 11:55:30 -0500 (Tue, 12 Oct 2010) | 2 lines Oops, incorrect range (although unallocated at ARIN) ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@291265 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-12Fixes manager.c crash.dvossel1-16/+16
This issue was caused by improper use of the mansession lock and manession_session lock. These two structures are confusing to begin with so I'm not surprised this occurred. I fixed this by consistently making sure we use each of these locks only to protect the data in the corresponding structure. We had mismatched usage of these locks which resulted in no mutual exclusivity occurring at all. (closes issue #17994) Reported by: vrban Patches: mansession_locking_fix.diff uploaded by dvossel (license 671) Tested by: vrban git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@291227 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-11Merged revisions 291073 via svnmerge from rmudgett1-17/+39
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r291073 | rmudgett | 2010-10-11 11:39:17 -0500 (Mon, 11 Oct 2010) | 15 lines Fixed infinite loop in verbose/debug message output. Setting the module/filename specific message level and then changing it resulted in the linked list being looped on itself. Traversing this linked list is an infinite loop if what you are looking for is not in the list. Also plugged some CLI parsing holes in the associated CLI command: * Removing a nonexistent module from the list actually added it with a level of zero. * Setting the non-module specific level to zero is now equivalent to setting it to "off" as documented. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@291075 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-08Merged revisions 290863 via svnmerge from jpeeler1-4/+5
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r290863 | jpeeler | 2010-10-07 21:45:44 -0500 (Thu, 07 Oct 2010) | 16 lines Merged revisions 290862 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r290862 | jpeeler | 2010-10-07 21:35:29 -0500 (Thu, 07 Oct 2010) | 9 lines Ensure editline cleanup occurs when Ctrl-C is pressed at control console. A recent change was made to avoid a race condition on shutdown which only called the end functions from the console thread. However, when pressing Ctrl-C the quit handler is called from the signal handler thread. (closes issue #17698) Reported by: jmls ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@290864 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-07Merged revisions 290712 via svnmerge from russell1-2/+9
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r290712 | russell | 2010-10-07 12:53:56 +0200 (Thu, 07 Oct 2010) | 4 lines Don't crash when Set() is called without a value. Review: https://reviewboard.asterisk.org/r/949/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@290713 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-06Merged revisions 290575 via svnmerge from tilghman1-3/+5
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r290575 | tilghman | 2010-10-06 08:48:27 -0500 (Wed, 06 Oct 2010) | 8 lines Allow streaming audio from a pipe. (closes issue #18001) Reported by: jamicque Patches: 20100926__issue18001.diff.txt uploaded by tilghman (license 14) Tested by: jamicque ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@290576 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-04Merged revisions 290254 via svnmerge from tilghman1-0/+4
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r290254 | tilghman | 2010-10-04 18:14:59 -0500 (Mon, 04 Oct 2010) | 11 lines Change new pattern matcher to regard dashes the same as the old pattern matcher -- as visual candy to be ignored. Also change the AEL parser to not generate dashes within extensions, as those dashes would be ignored. Update the AEL tests to match this behavior. (closes issue #17366) Reported by: murf Patches: 20100727__issue17366.diff.txt uploaded by tilghman (license 14) Tested by: tilghman ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@290255 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-02Merged revisions 289950 via svnmerge from oej1-0/+3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289950 | oej | 2010-10-02 10:52:03 +0200 (Lör, 02 Okt 2010) | 9 lines Merged revisions 289949 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289949 | oej | 2010-10-02 10:50:05 +0200 (Lör, 02 Okt 2010) | 2 lines Add documentation for undocumented option to AMI action originate ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@289951 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-02Merged revisions 289798 via svnmerge from jpeeler1-0/+4
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289798 | jpeeler | 2010-10-01 18:01:31 -0500 (Fri, 01 Oct 2010) | 22 lines Merged revisions 289797 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289797 | jpeeler | 2010-10-01 17:58:38 -0500 (Fri, 01 Oct 2010) | 15 lines Change RFC2833 DTMF event duration on end to report actual elapsed time. The scenario here is with a non P2P early media session. The reported time length of DTMF presses are coming up short when sending to the remote side. Currently the event duration is a running total that is incremented when sending continuation packets. These continuation packets are only triggered upon incoming media from the remote side, which means that the running total probably is not going to end up matching the actual length of time Asterisk received DTMF. This patch changes the end event duration to be lengthened if it is detected that the end event is going to come up short. Review: https://reviewboard.asterisk.org/r/957/ ABE-2476 ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@289840 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-30More Solaris compatibility fixestilghman1-3/+30
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@289543 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-29Merged revisions 289339 via svnmerge from qwell2-3/+8
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289339 | qwell | 2010-09-29 16:03:47 -0500 (Wed, 29 Sep 2010) | 15 lines Merged revisions 289338 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289338 | qwell | 2010-09-29 15:56:26 -0500 (Wed, 29 Sep 2010) | 8 lines Allow a manager originate to succeed on forwarded devices. The timeout to wait for an answer was being set to 0 when a device forwarded to another extension. We don't always need the timeout set like this, so make it an optional parameter, and don't use it in this case. ABE-2544 ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@289340 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-29Update the CDR record when ast_channel_set_caller_event() is calledmnicholson1-0/+3
(related to issue #17569) Reported by: tbelder git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@289268 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-29Make development error message indicate which channel.rmudgett1-1/+3
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@289253 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-29Merged revisions 289178 via svnmerge from mnicholson1-0/+3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289178 | mnicholson | 2010-09-29 10:04:11 -0500 (Wed, 29 Sep 2010) | 15 lines Merged revisions 289177 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289177 | mnicholson | 2010-09-29 10:03:27 -0500 (Wed, 29 Sep 2010) | 8 lines Set the caller id on CDRs when it is set on the parent channel. (closes issue #17569) Reported by: tbelder Patches: 17569.diff uploaded by tbelder (license 618) Tested by: tbelder ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@289179 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-28Solaris compatibility fixestilghman1-0/+90
Review: https://reviewboard.asterisk.org/r/942/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@289104 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-28Merged revisions 289095 via svnmerge from bbryant1-3/+7
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289095 | bbryant | 2010-09-28 14:14:19 -0400 (Tue, 28 Sep 2010) | 21 lines Merged revisions 289094 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289094 | bbryant | 2010-09-28 14:10:19 -0400 (Tue, 28 Sep 2010) | 14 lines Fixes an issue with the Newchannel AMI event during the Masquerading process. Fixes an issue with the Newchannel AMI event during the Masquerading process, where no Newchannel AMI event was generated for the psuedo channel used during the masquerading process. (closes issue #17987) Reported by: RadicAlish Patches: newchannel.patch.txt uploaded by RadicAlish (license 1122) Tested by: RadicAlish Review: https://reviewboard.asterisk.org/r/937/ ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@289099 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-24Export timersub for platforms which do not have ittilghman1-0/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@288640 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-24Merged revisions 288637 via svnmerge from tilghman1-0/+13
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288637 | tilghman | 2010-09-23 22:36:01 -0500 (Thu, 23 Sep 2010) | 9 lines Merged revisions 288636 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288636 | tilghman | 2010-09-23 22:20:24 -0500 (Thu, 23 Sep 2010) | 2 lines Solaris compatibility fixes ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@288638 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-23Make AMI honor enabled=notwilson1-2/+6
(closes issue #18040) Reported by: twilson Review: https://reviewboard.asterisk.org/r/938/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@288572 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-22Merged revisions 288340 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288340 | russell | 2010-09-22 11:44:13 -0500 (Wed, 22 Sep 2010) | 18 lines Merged revisions 288339 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288339 | russell | 2010-09-22 11:39:16 -0500 (Wed, 22 Sep 2010) | 11 lines Fix a 100% CPU consumption problem when setting console=yes in asterisk.conf. The handling of -c and console=yes should be the same, but they were not. When you specify -c, it sets both a flag for console module and for asterisk not to fork() off into the background. The handling of console=yes only set console mode, so you would end up with a background process() trying to run the Asterisk console and freaking out since it didn't have anything to read input from. Thanks to beagles for reporting and helping debug the problem! ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@288341 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-21Protect channel access in CONNECTED_LINE and REDIRECTING interception macro ↵rmudgett1-2/+8
launch code. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@288079 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-21Merged revisions 288006 via svnmerge from bbryant1-1/+3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288006 | bbryant | 2010-09-21 15:46:20 -0400 (Tue, 21 Sep 2010) | 14 lines Merged revisions 288005 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288005 | bbryant | 2010-09-21 15:43:46 -0400 (Tue, 21 Sep 2010) | 8 lines Add a check to fix a rare segmentation fault you'd get if ast_frdup couldn't allocate memory on the first frame being queued in ast_queue_frame. (closes issue #17882) Reported by: seanbright Tested by: seanbright ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@288007 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-21Merged revisions 287934 via svnmerge from tilghman1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r287934 | tilghman | 2010-09-21 14:07:53 -0500 (Tue, 21 Sep 2010) | 9 lines Merged revisions 287933 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r287933 | tilghman | 2010-09-21 14:07:07 -0500 (Tue, 21 Sep 2010) | 2 lines Less than zero is an error, not any non-zero value. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@287935 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-21Revert change in favor of a more targeted fixtwilson1-6/+2
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@287931 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-21Cut-n-paste error in builtin_blindtransfer().rmudgett1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@287897 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-21Don't use ast_strdupa() from within the arguments to a function.russell2-11/+26
(closes issue #17902) Reported by: afried Patches: issue_17902.rev1.txt uploaded by russell (license 2) Tested by: russell Review: https://reviewboard.asterisk.org/r/927/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@287895 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-21Fix a regression in verbose logger processing.russell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@287863 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-21Don't generate connected line buffer twice for comparisontwilson1-29/+6
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@287833 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-20Avoid infinite loop with certain local channel connected line updatestwilson1-0/+27
Compare connected line data before sending a connected line indication to avoid possible loops. Review: https://reviewboard.asterisk.org/r/932/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@287757 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-20Merged revisions 287685 via svnmerge from alecdavis1-7/+15
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r287685 | alecdavis | 2010-09-21 11:16:45 +1200 (Tue, 21 Sep 2010) | 18 lines ast_channel_masquerade: Avoid recursive masquerades. Check all 4 combinations of (original/clonechan) * (masq/masqr). Initially original->masq and clonechan->masqr were only checked. It's possible with multiple masq's planned - and not yet executed, that the 'original' chan could already have another masq'd into it - thus original->masqr would be set, that masqr would lost. Likewise for the clonechan->masq. (closes issue #16057;#17363) Reported by: amorsen;davidw,alecdavis Patches: based on bug16057.diff4.txt uploaded by alecdavis (license 585) Tested by: ramonpeek, davidw, alecdavis ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@287701 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-20ast_do_masquerade. Keep channels ao2_container locked while unlink and ↵alecdavis1-3/+2
linking channels. Previously, Masquerade would unlock 'original' and 'clonechan' and allow another masq thread to run. End result would be corrupted memory, and the frequent report 'Bad Magic Number'. (closes issue #17801,#17710) Reported by: notthematrix Patches: Based on bug17801.diff1.txt uploaded by alecdavis (license 585) Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/928 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@287661 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-20Addition of the FrameHook API (AKA AwesomeHooks)dvossel2-5/+240
So far all our tools for viewing and manipulating media streams within Asterisk have been entirely focused on audio. That made sense then, but is not scalable now. The FrameHook API lets us tap into and manipulate _ANY_ type of media or signaling passed on a channel present today or in the future. This tool is a step in the direction of expanding Asterisk's boundaries and will help generate some rather interesting applications in the future. In addition to the FrameHook API, a simple dialplan function exercising the api has been included as well. This function is called FRAME_TRACE(). FRAME_TRACE() allows for the internal ast_frames read and written to a channel to be output. Filters can be placed on this function to debug only certain types of frames. This function could be thought of as an internal way of doing ast_frame packet captures. Review: https://reviewboard.asterisk.org/r/925/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@287647 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-20Fixes an error with the logger that caused verbose messages to be spammed to thebbryant1-51/+21
screen if syslog was configured in logger.conf (closes issue #17974) Reported by: lmadsen Review: https://reviewboard.asterisk.org/r/915/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@287639 f38db490-d61c-443f-a65b-d21fe96a405b