Russell Bryant [Tue, 9 Oct 2007 15:10:14 +0000 (15:10 +0000)]
Add jitterbuffer support for chan_local. To enable it, you use the 'j' option
in the Dial command. The 'j' option _must_ be used in conjunction with the 'n'
option.
This feature will allow you to use the existing jitterbuffer implementation to
put a jitterbuffer on incoming SIP calls connecting to Asterisk applications by
putting a local channel in the middle.
Joshua Colp [Mon, 8 Oct 2007 16:12:21 +0000 (16:12 +0000)]
Fix up tree so that it compiles when MTX Profiling is enabled.
(closes issue #10898)
Reported by: snuffy
Patches:
10898-mtx_prof.diff uploaded by qwell (license 4)
Don't keep trying to native bridge if either of the channels are involved in a masquerade operation to be done.
(closes issue #10696)
Reported by: tbelder
Russell Bryant [Mon, 8 Oct 2007 03:29:38 +0000 (03:29 +0000)]
Merged revisions 84957 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r84957 | russell | 2007-10-07 22:28:34 -0500 (Sun, 07 Oct 2007) | 6 lines
Enable file dependency tracking for _all_ builds, and not just for builds with
dev-mode enabled. I have seen enough problems caused by this that I don't think
it's worth keeping. I want to continue to encourage anybody that is interested
to continue to run Asterisk from svn. Furthermore, I do not want their systems
to break when we change a structure definition in a header file. :)
Presence packets from a client who's connected with our Jabber ID are
valid, therefore, those clients must be considered as buddies. The resource
string helps us make the distinction between clients.
Closes issue #10707, reported by yusufmotiwala.
........
Update the remembered RTP peer information when putting an endpoint on hold or taking it off hold so that the RTP stack does not initiate a needless reinvite.
(closes issue #10868)
Reported by: mavince
Russell Bryant [Fri, 5 Oct 2007 16:49:16 +0000 (16:49 +0000)]
Merged revisions 84783 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r84783 | russell | 2007-10-05 11:44:21 -0500 (Fri, 05 Oct 2007) | 4 lines
Do deadlock avoidance in a couple more places. You can't lock two channels
at the same time without doing extra work to make sure it succeeds.
(closes issue #10895, patch by me)
Mark Michelson [Thu, 4 Oct 2007 22:58:26 +0000 (22:58 +0000)]
A two-in-one patch from the bugtracker
1) Fix some bad logic in the counting of statistics for QueueSummary manager event. Variables were not being
reset for each additional queue, so cumulative totals were reported on each successive queue.
2) Add a longest hold time stat to QueueSummary manager event.
Steve Murphy [Wed, 3 Oct 2007 14:39:05 +0000 (14:39 +0000)]
Merged revisions 84511 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r84511 | murf | 2007-10-03 08:23:00 -0600 (Wed, 03 Oct 2007) | 1 line
closes issue #10834 ; where a null input to a switch statement results in a hangup; since switch is implemented with extensions, and the default case is implemented with a '.', and the '.' matches 1 or more remaining characters, the case where 0 characters exist isn't matched, and the extension isn't matched, and the goto fails, and a hangup occurs. Now, when a default case is generated, it also generates a single fixed extension that will match a null input. That extension just does a goto to the default extension for that switch. I played with an alternate solution, where I just tack an extra char onto all the patterns and the goto, but not the default case's pattern. Then even a null input will still have at least one char in it. But it made me nervous, having that extra char in , even if that's a pretty secret and low-level issue.
........
Russell Bryant [Tue, 2 Oct 2007 20:07:15 +0000 (20:07 +0000)]
Merged revisions 84474 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r84474 | russell | 2007-10-02 15:06:07 -0500 (Tue, 02 Oct 2007) | 5 lines
* Don't build the menuselect-tree for the tarball, as it requires running the
configure script first
* Change the Makefile to note that menuselect-tree depends on the configure
script.
Russell Bryant [Tue, 2 Oct 2007 14:13:28 +0000 (14:13 +0000)]
Merged revisions 84370 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r84370 | russell | 2007-10-02 09:12:35 -0500 (Tue, 02 Oct 2007) | 6 lines
Use snprintf instead of sprintf in one place. There is no vulnerability here
due to various buffer sizes around the code, but I still didn't like seeing a
non length-limited copy of data coming off of the wire into a stack buffer, as
this would be a problem in the future if buffer sizes elsewhere got changed or
size limitations removed ...
Steve Murphy [Mon, 1 Oct 2007 23:20:20 +0000 (23:20 +0000)]
This mod will allow check_expr to compile in the presence of DEBUG_THREAD situations. At least, it does for me. And it's less expensive than several other approaches I tried.
Steve Murphy [Mon, 1 Oct 2007 23:03:50 +0000 (23:03 +0000)]
Merged revisions 84239 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r84239 | murf | 2007-10-01 14:27:52 -0600 (Mon, 01 Oct 2007) | 1 line
closes issue #10777 -- by returning a null for the parse tree when there's really nothing there, and making sure we don't try to do checking on a null tree.
........
Russell Bryant [Mon, 1 Oct 2007 21:15:57 +0000 (21:15 +0000)]
Merged revisions 84271 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r84271 | russell | 2007-10-01 16:07:06 -0500 (Mon, 01 Oct 2007) | 4 lines
Fulfull a feature request from Qwell on the "core show locks" output. It will
now note the lock type for each lock that a thread holds.
(mutex, rdlock, or wrlock)
Russell Bryant [Mon, 1 Oct 2007 19:58:29 +0000 (19:58 +0000)]
Merged revisions 84236 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r84236 | russell | 2007-10-01 14:56:28 -0500 (Mon, 01 Oct 2007) | 5 lines
Add another sanity check in the AGI read loop. We really don't care about
EAGAIN unless we didn't read an entire line. If there is a newline at the
end if the read buffer, break, because we got the whole thing.
(reported and patched by bmd)
Joshua Colp [Mon, 1 Oct 2007 15:57:04 +0000 (15:57 +0000)]
Check to make sure a structure pointer is non-NULL before touching it... crashing is bad, mmmk?
(closes issue #10831)
Reported by: eliel
Patches:
chan_sip.c.patch uploaded by eliel (license 64)
Russell Bryant [Mon, 1 Oct 2007 15:34:34 +0000 (15:34 +0000)]
Change simple uses of snprintf to ast_copy_string. This was provided by
mvanbaak as a part of issue #10843, but this part didn't apply because of
a patch I applied right beforehand.
Russell Bryant [Mon, 1 Oct 2007 15:23:19 +0000 (15:23 +0000)]
Corydon posted this janitor project to the bug tracker and mvanbaak provided
a patch for it. It replaces a bunch of simple calls to snprintf with ast_copy_string
Russell Bryant [Mon, 1 Oct 2007 14:55:10 +0000 (14:55 +0000)]
Don't set the full command string until after verifying that there is not
another CLI command with the same command text registered. This prevents
a crash if someone accidentally calls ast_cli_register() on the same CLI
command data twice. This also fixes a small bug where the helpers list
would get unlocked without being locked if building the full command failed.
(closes issue #10858, reported by jamesgolovich, patched by me)
Fix randomness. save_pos was being set to 0 initially instead of -1, causing it to jump to position 0 when moh started.
(closes issue #10859)
Reported by: jamesgolovich
Patches:
asterisk-mohpos2.diff.txt uploaded by jamesgolovich (license 176)
Russell Bryant [Sun, 30 Sep 2007 03:05:04 +0000 (03:05 +0000)]
* The documentation for the LOCK() function says that it will block for up to
3 seconds while waiting on a lock when other locks are currently held to
avoid deadlocks. Change the code to reflect this.
* Since trying to grab a lock may block for some time, put the channel in
autoservice so that audio is still read from the channel and that any
active generators on the channel don't pause.
This issue sort of closes 10786; All config files support #include with globbing (you know, *,[chars],?,{list,list},etc), so I've updated the AEL system to support this also.
........
Add a log message that was requested by the masses in the developer tutorial
session at Astricon. chan_sip did not output any message when a call was
rejected because the extension was not found. This adds a verbose message
(at verbose level 3) to note when this happens.
Russell Bryant [Tue, 25 Sep 2007 21:06:44 +0000 (21:06 +0000)]
Don't note that functions are deprecated in favor of themselves. This was
found by showing a very poor example doxygen function in a presentation this
morning. :)
Thus, it was possible to test the code in both ways, and make the
Jingle channel comply with the latest specifications. No sound available yet.
Main modifications include :
- modified the 'jingle_candidate' structure and the
'jingle_create_candidates' function according to XEP-0176 ;
- modified the 'jingle_action' function in order to properly terminate
a Jingle session, in conformance with XEP-0166 ;
- modified username format used in STUN requests ;
- actually make the bindaddr configuration field useable.
Todo :
- set audio paths up (no native bridging) ;
- make the CLI gtalk functions available to jingle ;
- clean up the storage space used in strings.
This closes issue #10788 -- The exact same fixes are made here for the first arg in the for(arg1; arg2; arg3) {} statement, as were done for the 3rd arg. It can now be an assignment that will embedded in a Set() app, or a macro call, or an app call.
........
This closes issue #10788 -- the 3rd arg in the for statement is now wrapped in Set() only if there's an '=' in that string. Otherwise, if it begins with '&', then a Macro call is generated; otherwise it is made into an app call. A bit more accomodating, keeps the new guys happy, and the guys with ael-1 code should be happy, too
........
Fix cdr_manager, such that if the config file is created past load, it'll
start logging (and conversely, if the config file is destroyed or deactivated,
the logging is disabled). Reported by Juggie via IRC, fix by me.
gcc 4.2 has a new set of warnings dealing with cosnt pointers. This set of
changes gets all of Asterisk (minus chan_alsa for now) to compile with gcc 4.2.
(closes issue #10774, patch from qwell)