Tilghman Lesher [Thu, 5 Jun 2008 15:58:11 +0000 (15:58 +0000)]
Conditionally load the AGI command gosub, depending on whether or not res_agi
has been loaded, fix a return value in the loader, and ensure that the help
workhorse header does not print on load.
If we fail to setup the PRI request channel, don't continue, exit with an error.
(closes issue #11989)
Reported by: Corydon76
Patches:
20080213__zap_memleak.diff.txt uploaded by Corydon76 (license 14)
Russell Bryant [Wed, 4 Jun 2008 16:28:37 +0000 (16:28 +0000)]
Blocked revisions 120371 via svnmerge
........
r120371 | russell | 2008-06-04 11:26:43 -0500 (Wed, 04 Jun 2008) | 4 lines
Make the "dialplan remove include" CLI command actually work. Also, tweak
some formatting, and make the success message a little bit more clear.
(closes AST-52)
Fix a log message and add a message for when the dialplan is done reloading.
(closes issue #12716)
Reported by: chappell
Patches:
dialplan_reload_2.diff uploaded by chappell (license 8)
Tilghman Lesher [Tue, 3 Jun 2008 23:17:33 +0000 (23:17 +0000)]
Add a function, CHANNELS(), which retrieves a list of all active channels.
(closes issue #11330)
Reported by: rain
Patches:
func_channel-channel_list_function.diff uploaded by rain (license 327)
(with some additional changes by me, mostly to meet coding guidelines)
Due to incorrect use of the AST_LIST_INSERT_HEAD() macro the loopback switch
cannot perform any translation on the extension number before searching for it
in the target context.
(closes issue #12473)
Reported by: chappell
Patches:
pbx_loopback.c.diff uploaded by chappell (license 8)
This change decreases the buffer size allocated on the stack substantially in config_text_file_load when LOW_MEMORY is turned on. This change combined with the fix from revision 117462 (making mkintf not copy the zt_chan_conf structure) was enough to prevent the crash.
Tilghman Lesher [Tue, 3 Jun 2008 22:05:16 +0000 (22:05 +0000)]
Move compatibility options into asterisk.conf, default them to on for upgrades,
and off for new installations. This includes the translation from pipes to commas
for pbx_realtime and the EXEC command for AGI, as well as the change to the Set
application not to support multiple variables at once.
Russell Bryant [Tue, 3 Jun 2008 21:35:11 +0000 (21:35 +0000)]
Merged revisions 120168 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r120168 | russell | 2008-06-03 16:34:55 -0500 (Tue, 03 Jun 2008) | 4 lines
Fix another place where peer->callno could change at a very bad time, and also
fix a place where a peer was used after the reference was released.
(inspired by rev 120001)
Mark Michelson [Tue, 3 Jun 2008 21:22:52 +0000 (21:22 +0000)]
Adding two new queue log events. The ADDMEMBER event is logged when
a dynamic realtime queue member is added to the queue, and the
REMOVEMEMBER event is logged when a dynamic realtime member is
removed. Since no calling channel is associated with these events
the string "REALTIME" is placed where the channel's unique id is
normally placed.
Russell Bryant [Tue, 3 Jun 2008 18:26:51 +0000 (18:26 +0000)]
Add lock tracking for rwlocks. Previously, lock.h only had the ability to
hold tracking information for mutexes. Now, the "core show locks" output
will output information about who is holding a rwlock when a thread is
waiting on it.
When listing the manager users, managers in users.conf are not shown, even
though they are allowed to connect.
(closes issue #12594)
Reported by: bkruse
Patches:
12594-managerusers-2.diff uploaded by qwell (license 4)
Tested by: bkruse
Save the callno when we're poking, because our peer structure could change
during destruction (and thus we unlock the wrong callno, causing a
cascade failure).
(closes issue #12717)
Reported by: gewfie
Patches:
20080525__bug12717.diff.txt uploaded by Corydon76 (license 14)
Tested by: gewfie
Updated the regressions on AEL. Hadn't updated
this for the changes I made to preserve ${EXTEN}
in switches, which affected several tests because
it adds extra priorities, and at least one needed to be updated
because of the removal of the empty extension warning
message.
as per http://lists.digium.com/pipermail/asterisk-users/2008-June/212934.html,
which is a message from Philipp Kempgen, requesting that the WARNING
that an extension is empty be reduced to a NOTICE or less, as empty
extensions are syntactically possible, and no big deal.
With which I agree, and have removed that WARNING message entirely.
I think it is not necessary to see this message. It didn't
state that a NoOp() was inserted automatically on your behalf,
and really, as users, who cares? Why freak out dialplan writers
with unnecessary warnings? The details of the machinations a compiler goes
thru to produce working assembly code is of little interest
to most programmers-- we will follow the unix principal of
doing our work silently.
Russell Bryant [Mon, 2 Jun 2008 20:08:24 +0000 (20:08 +0000)]
Merged revisions 119838 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r119838 | russell | 2008-06-02 15:08:04 -0500 (Mon, 02 Jun 2008) | 7 lines
Revert a change made for issue #12479. This change caused a regression such that
a dial string such as (IAX2/foo) did not automatically fall back to dialing the 's'
extension anymore.
Russell Bryant [Mon, 2 Jun 2008 16:14:15 +0000 (16:14 +0000)]
Add app_fax from asterisk-addons, with some additional changes to resolve compiler
warnings, as well as update to the APIs in spandsp 0.0.5. Spandsp 0.0.5 is being
distributed under the LGPL, so we can move this module into the main tree.
Russell Bryant [Mon, 2 Jun 2008 15:57:43 +0000 (15:57 +0000)]
After determining that the version of spandsp installed is an acceptable version,
do a build and link test to ensure that the library is usable, and that libtiff
is also available
Russell Bryant [Mon, 2 Jun 2008 14:41:55 +0000 (14:41 +0000)]
Merged revisions 119742 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r119742 | russell | 2008-06-02 09:39:45 -0500 (Mon, 02 Jun 2008) | 5 lines
Improve CLI command blacklist checking for the command manager action. Previously,
it did not handle case or whitespace properly. This made it possible for blacklisted
commands to get executed anyway.
(closes issue #12765)
Merged revisions 119585 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r119585 | crichter | 2008-06-02 10:35:28 +0200 (Mo, 02 Jun 2008) | 1 line
Added counter for unhandled_bmsg Print, this prevents the logs to be flooded to fast and save CPU in this error scenario. Added 'last_used' element to bc structure, when a bchannel changes from used to free this exact time will be marked in last_used. When a new channel is requested the find_free_chan function will check if the new empty channel was used within the last second, if yes it will search for the next channel, if no it will return this channel. This simple mechanism has prooven to prevent race conditions where the NT and TE tried to allocate the exact same channel at the same time (RELEASE cause: 44).
........
When joinempty=strict, it only failed on join if there were busy members. If
all members were logged out OR paused, then it (incorrectly) let callers join
the queue.
(closes issue #12451)
Reported by: davidw
dont use a bashism way to check the $VERSION variable.
The rc/init.d scripts, and safe_asterisk work on normal sh now again.
Tested on:
OpenBSD 4.2 (me)
Debian etch (me)
Ubuntu Hardy (me and loloski)
FC9 (loloski)
Russell Bryant [Fri, 30 May 2008 12:59:11 +0000 (12:59 +0000)]
Merged revisions 119238 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r119238 | russell | 2008-05-30 07:55:36 -0500 (Fri, 30 May 2008) | 15 lines
Merged revisions 119237 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r119237 | russell | 2008-05-30 07:49:39 -0500 (Fri, 30 May 2008) | 7 lines
- Instead of only enforcing destination call number checking on an ACK, check
all full frames except for PING and LAGRQ, which may be sent by older versions
too quickly to contain the destination call number.
(As suggested by Tim Panton on the asterisk-dev list)
- Merge changes from team/russell/iax2-frame-race, which prevents PING and LAGRQ
from being sent before the destination call number is known.
Russell Bryant [Thu, 29 May 2008 22:28:50 +0000 (22:28 +0000)]
Merged revisions 119156 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r119156 | russell | 2008-05-29 17:24:29 -0500 (Thu, 29 May 2008) | 10 lines
Fix a race condition in channel autoservice. There was still a small window of opportunity
for a DTMF frame, or some other deferred frame type, to come in and get dropped.
(closes issue #12656)
(closes issue #12656)
Reported by: dimas
Patches:
v3-12656.patch uploaded by dimas (license 88)
-- with some modifications by me
Steve Murphy [Thu, 29 May 2008 20:26:42 +0000 (20:26 +0000)]
Had to move the ASTERISK_FILE_VERSION decl to just after the include of "asterisk.h"
or you get undefined variable errors when you are compiling under the influence
of MTX_PROFILE
Call waiting tone occurs too often, because it's getting serviced by both
subchannels.
(closes issue #11354)
Reported by: cahen
Patches:
20080512__bug11354.diff.txt uploaded by Corydon76 (license 14)
Michiel van Baak [Thu, 29 May 2008 19:10:31 +0000 (19:10 +0000)]
Make sure the nrfds and nefds are reset to NULL
before we enter manage_parkinglot.
This will get rid of CLI warnings like:
__ast_read: Exception flag set on 'SIP/<NUMBER>-<ID>', but no exception handler
1. revert the changes made via bug 10668;
I should have known that such changes,
even tho they made sense at the time,
seemed like an omission, etc, were actually
integral to the CDR system via forkCDR.
It makes sense to me now that forkCDR didn't
natively end any CDR's, but rather depended
on natively closing them all at hangup time
via traversing and closing them all, whether
locked or not. I still don't completely
understand the benefits of setvar and answer
operating on locked cdrs, but I've seen
enough to revert those changes also, and
stop messing up users who depended on that
behavior. bug 12726 found reverting the changes
fixed his changes, and after a long review
and working on forkCDR, I can see why.
2. Apply the suggested enhancements proposed
in 10668, but in a completely compatible
way. ForkCDR will behave exactly as before,
but now has new options that will allow some
actions to be taken that will slightly
modify the outcome and side-effects of
forkCDR. Based on conversations I've had
with various people, these small tweaks
will allow some users to get the behavior
they need. For instance, users executing
forkCDR in an AGI script will find the
answer time set, and DISPOSITION set,
a situation not covered when the routines
were first written.
3. A small problem in the cdr serializer
would output answer and end times even
when they were not set. This is now
fixed.
Mark Michelson [Wed, 28 May 2008 19:56:18 +0000 (19:56 +0000)]
Update to the janitor project for making sure to be thread-safe when
retrieving the value of a channel variable. This covers app_queue.
This commit also incorporates a logical change. Previously, if MixMonitor
is to be used to record the call, all the arguments were parsed first. Then
the MixMonitor app would be located. Now the order of these operations has
been swapped. Now the app is located first so that we only go through the
work of parsing the arguments if the app was found.
Brett Bryant [Wed, 28 May 2008 16:01:05 +0000 (16:01 +0000)]
Fixes a bug in chan_iax that uses send_command to poke a peer while a channel is unlocked in some cases, and because it can cause seemingly
random failures could be related to some bugs in the tracker...
Add an option to use the source IP address of RTP as the destination IP address of UDPTL when a specific option is enabled. If the remote side is properly configured (ports forwarded) then UDPTL will flow.
(closes issue #10417)
Reported by: cstadlmann
Philippe Sultan [Wed, 28 May 2008 14:10:48 +0000 (14:10 +0000)]
Changed to temporary namespaces to match with latest XEPs. As soon as
Jingle is completely standardized, we can set those namespaces to their
final values.
Added two attributes to the jingle_pvt struct to store the content
name attributes. Reported by Robert McQueen on Telepathy's framework
mailing list :
http://lists.freedesktop.org/archives/telepathy/2008-May/001971.html
Brett Bryant [Tue, 27 May 2008 19:45:41 +0000 (19:45 +0000)]
Remove loop from the detection of a sequence number that acknowledges
the receiving of a packet that we've kept in memory just incase the
packet needs to be retransmitted.
Fix an issue where codec preferences were not set on dialogs that were not authenticated via a user or peer and allow framing to work without rtpmap in the SDP.
(closes issue #12501)
Reported by: slimey
When showing an error message for a command, don't shorten the command output,
as it tends to confuse the user (it's fine for suggesting other commands,
however).
Reported by: seanbright (on #asterisk-dev)
Fixed by: me
Russell noted to me that in the case that separate threads use their
own addressing system, the fix I made for issue 12376 does not guarantee
uniqueness to the datastores' uids. Though I know of no system that works
this way, I am going to change this right now to prevent trying to track
down some future bug that may occur and cause untold hours of debugging
time to track down.
The change involves using a global counter which increases with each new
chanspy_ds which is created. This guarantees uniqueness.
NULL character should terminate only commands back to the core, not log
messages to the console.
(closes issue #12731)
Reported by: seanbright
Patches:
20080527__bug12731.diff.txt uploaded by Corydon76 (license 14)
Tested by: seanbright
Michiel van Baak [Tue, 27 May 2008 17:21:12 +0000 (17:21 +0000)]
small update to the g() option of app_voicemail to
note that gain changes only work on zap channels right now.
issue #12578 shows it's not clear right now.
Tilghman Lesher [Tue, 27 May 2008 13:30:10 +0000 (13:30 +0000)]
When binding anonymously, credentials are still needed.
(closes issue #12601)
Reported by: suretec
Patches:
res_config_ldap.c.patch uploaded by suretec (license 70)
Realtime flag affects construction in multiple ways, so consulting whether
rtcachefriends was set was done too soon (needed to be done inside build_peer,
not just as a flag to build_peer).
Also, fullcontact needed to be reconstructed, because realtime separates the
embedded ';' into multiple fields.
(closes issue #12722)
Reported by: barthpbx
Patches:
20080525__bug12722.diff.txt uploaded by Corydon76 (license 14)
Tested by: barthpbx
(Much of the discussion happened on #asterisk-dev for diagnosing this issue)
Mark Michelson [Fri, 23 May 2008 22:35:50 +0000 (22:35 +0000)]
A new feature thanks to the fine folks at Switchvox!
If a deadlock is detected, then the typical lock information will be
printed along with a backtrace of the stack for the offending threads.
Use of this requires compiling with DETECT_DEADLOCKS and having glibc
installed.
Furthermore, issuing the "core show locks" CLI command will print the
normal lock information as well as a backtraces for each lock. This
requires that DEBUG_THREADS is enabled and that glibc is installed.
All the backtrace features may be disabled by running the configure
script with --without-execinfo as an argument
Brett Bryant [Fri, 23 May 2008 21:19:42 +0000 (21:19 +0000)]
Add new functionality to http server that requires manager authentication for any path that includes a directory named 'private'. This patch also
requires manager authentication for any POST's being sent to the server as well to help secure uploads.
Michiel van Baak [Fri, 23 May 2008 17:12:04 +0000 (17:12 +0000)]
add option 'a' to chanisavail.
If you give chanisavail a list of channels, it will only
return the first available channel.
When this option is set, it will return all the available
channels from the given list.
(closes issue #12248)
Reported by: dagmoller
Patches:
app_chanisavail-snv.patch-v2.txt uploaded by dagmoller (license 436)
- major changes by me because russellb pointed out some buffer overflows
and codeguideline issues.
Converted it all to the ast_str_* api
Tested by: dagmoller, mvanbaak
Philippe Sultan [Fri, 23 May 2008 10:33:21 +0000 (10:33 +0000)]
- remove whitespaces between tags in received XML packets before giving
them to the parser ;
- report Gtalk error messages from a buddy to the console.
This patch makes Asterisk "Google Jingle" (chan_gtalk) implementation
work with Empathy. Note that this is only true for audio streams, not
video.