Tilghman Lesher [Wed, 7 Nov 2007 01:08:31 +0000 (01:08 +0000)]
Add contributed EAGI proxy, which provides FastAGI functionality for EAGI, while also
buffering the audio stream.
Reported by: devil_slayer
Patch by: devil_slayer
Closes issue #8921
Russell Bryant [Tue, 6 Nov 2007 23:44:39 +0000 (23:44 +0000)]
Added the ability to do "meetme concise" with the "meetme" CLI command.
This extends the concise capabilities of this CLI command to include
listing all conferences, instead of an addition to the other sub commands
for the "meetme" command.
Joshua Colp [Tue, 6 Nov 2007 23:08:36 +0000 (23:08 +0000)]
Fix up some PBX logic that became broken. The code would exit prematurely when it should have been collecting more digits.
(closes issue #11175)
Reported by: pj
Tilghman Lesher [Tue, 6 Nov 2007 22:51:48 +0000 (22:51 +0000)]
Commit some cleanups to the format type code.
- Remove the AST_FORMAT_MAX_* types, as these are consuming 3 out of our available 32 bits.
- Add a native slin16 type, so that 16kHz codecs can translate without losing resolution.
(This doesn't affect anything immediately, until another codec has wb support.)
Russell Bryant [Tue, 6 Nov 2007 22:15:32 +0000 (22:15 +0000)]
Added the S() and L() options to the MeetMe application. These are pretty
much identical to the S() and L() options to Dial(). They let you set
timeouts for the conference, as well as have warning sounds played to
let the caller know how much time is left, and when it is running out.
Steve Murphy [Tue, 6 Nov 2007 21:08:38 +0000 (21:08 +0000)]
Merged revisions 89036 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89036 | murf | 2007-11-06 10:52:50 -0700 (Tue, 06 Nov 2007) | 1 line
closes issue #8786 - where the [catname](!) and [catname](othercat1,othercat2,...) notation gets dropped across a ConfigUpdate (or any other thing that would cause a config file to be written). While I was at it, I also cleaned up some of the destroy routines to free up comments, which was not being done. Made sure the new struct I introduced is also cleaned up properly at destruction time. My code handles multiple template inclusions. Many thanks to ssokol for his patch, which, while not literally used in the final merge, served as a foundation for the fix.
........
Joshua Colp [Tue, 6 Nov 2007 20:55:58 +0000 (20:55 +0000)]
Remove native bridging check for DTMF based transfers. Thanks to the last batch of RTP changes it is no longer required for the media stream to go through Asterisk if DTMF is going over signalling. It will simply reinvite back as needed.
(closes issue #11172)
Reported by: ibc
Mark Michelson [Tue, 6 Nov 2007 20:32:49 +0000 (20:32 +0000)]
Instead of trying to callback a local channel on a failed attended transfer, call
the device that made the transfer instead. This makes for much smoother calling back
when queues are involved.
(closes issue #11155, reported by IPetrov)
Tremendous thanks to Russell for pulling me out of my block I was having on this one
Russell Bryant [Tue, 6 Nov 2007 19:51:37 +0000 (19:51 +0000)]
Fix the memory show allocations CLI command so that it doesn't spew out all
of the current memory allocations when you start Asterisk, when the command's
handler gets called for initialization.
Russell Bryant [Tue, 6 Nov 2007 18:23:36 +0000 (18:23 +0000)]
Merged revisions 89037 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89037 | russell | 2007-11-06 12:20:07 -0600 (Tue, 06 Nov 2007) | 11 lines
If someone were to delete the files used by an existing MOH class, and then
issue a reload, further use of that class could result in a crash due to
dividing by zero. This set of changes fixes up some places to prevent this
from happening.
(closes issue #10948)
Reported by: jcomellas
Patches:
res_musiconhold_division_by_zero.patch uploaded by jcomellas (license 282)
Additional changes added by me.
Make it so that if a peer is determined to be unreachable using qualify their devicestate will report back unavailable.
(closes issue #11006)
Reported by: pj
Luigi Rizzo [Tue, 6 Nov 2007 17:05:13 +0000 (17:05 +0000)]
Fix embedding of modules on FreeBSD:
the constructor for the list of modules was run
after the constructors for the embedded modules
(which appended entries to the list).
As a result, the list appeared empty when it was
time to use it.
On linux the order of execution of constructor
was evidently different (it may depend on the
ordering of modules in the ELF file).
This is only a workaround - there may be other
situations where the execution of constructors
causes problems, so if we manage to find a more
general solution this workaround can go away.
Joshua Colp [Tue, 6 Nov 2007 15:37:17 +0000 (15:37 +0000)]
Update chan_agent documentation. Change a | to , as that is now the required way.
(closes issue #11167)
Reported by: eliel
Patches:
chan_agent.c.patch uploaded by eliel (license 64)
Russell Bryant [Tue, 6 Nov 2007 14:08:54 +0000 (14:08 +0000)]
Merged revisions 88805 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r88805 | russell | 2007-11-05 16:07:54 -0600 (Mon, 05 Nov 2007) | 12 lines
After seeing crashes related to channel variables, I went looking around at the
ways that channel variables are handled. In general, they were not handled in
a thread-safe way. The channel _must_ be locked when reading or writing from/to
the channel variable list.
What I have done to improve this situation is to make pbx_builtin_setvar_helper()
and friends lock the channel when doing their thing. Asterisk API calls almost
all lock the channel for you as necessary, but this family of functions did not.
(closes issue #10923, reported by atis)
(closes issue #11159, reported by 850t)
Russell Bryant [Tue, 6 Nov 2007 13:57:16 +0000 (13:57 +0000)]
Merged revisions 88931 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r88931 | russell | 2007-11-06 07:50:15 -0600 (Tue, 06 Nov 2007) | 8 lines
Remove some checks to see if locks are initialized from the non-DEBUG_THREADS
versions of the lock routines. These are incorrect for a number of reasons:
- It breaks the build on mac.
- If there is a problem with locks not getting initialized, then the proper
fix is to find that place and fix the code so that it does get initialized.
- If additional debug code is needed to help find the problem areas, then this
type of things should _only_ be put in the DEBUG_THREADS wrappers.
Russell Bryant [Mon, 5 Nov 2007 21:35:51 +0000 (21:35 +0000)]
Merged revisions 88768 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r88768 | russell | 2007-11-05 15:33:56 -0600 (Mon, 05 Nov 2007) | 8 lines
When traversing the list of channel variables here in transmit_invite(), the
asterisk channel must be locked, as this data may change at any time.
(I have seen numerous reports of crashes related to the handling of channel
variables. There are a couple of issues on the bug tracker related to it,
but it has also been noted on IRC and mailing lists. So, I am finding and
fixing some places where channel variables are handled improperly.)
Russell Bryant [Mon, 5 Nov 2007 20:44:05 +0000 (20:44 +0000)]
Merged revisions 88719 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r88719 | russell | 2007-11-05 14:40:01 -0600 (Mon, 05 Nov 2007) | 7 lines
Merge changes from asterisk/team/kpfleming/SRV-priority-handling
Previously, the SRV record support in Asterisk was broken. There was no
guarantee on what record Asterisk would choose to actually use. This set of
changes improves the situation by ensuring that Asterisk will choose the
highest priority record.
Russell Bryant [Mon, 5 Nov 2007 20:14:48 +0000 (20:14 +0000)]
Merged revisions 88709 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r88709 | russell | 2007-11-05 14:11:04 -0600 (Mon, 05 Nov 2007) | 20 lines
Merge the last bit of changes from asterisk/team/russell/readq-1.4
The issue here is that the channel frame readq handling got broken when the
code was converted to use the linked list macros. It caused corruption of the
list head and tail pointers. So, I fixed up the usage of the linked list
macros and in passing, simplified the code. I also documented what the code
is doing, as it was a bit difficult to figure out at first.
This bug showed itself with crashes showing messed up head/tail pointers for
the readq. However, there are a couple of crashes that aren't quite as obvious,
but I think may be related. So, if your bug gets closed by this commit, but
you still have a problem, please reopen or create a new bug report.
Luigi Rizzo [Mon, 5 Nov 2007 19:22:56 +0000 (19:22 +0000)]
Cleanup the installation of samples, avoiding repetitions.
I am preserving the behaviour on *.adsi files,
i.e. overwrite anything there without making a backup.
However I am not sure that this is the intended behaviour.
If a SIP channel is put on hold multiple times do not keep incrementing the onHold value.
(closes issue #11085)
Reported by: francesco_r
Tested by: blitzrage
(closes issue #10474)
Reported by: acennami
Russell Bryant [Mon, 5 Nov 2007 17:52:08 +0000 (17:52 +0000)]
Merged revisions 88624 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r88624 | russell | 2007-11-05 11:46:02 -0600 (Mon, 05 Nov 2007) | 5 lines
Fix up datastore handling in ast_do_masquerade(). The code is intended to move
any channel datastores from the old channel to the new one. However, it did
not use the linked list macros properly to accomplish the task. The existing
code would only work if there was only a single datastore on the old channel.
Don't check used pooled connections for connection status, as it will cause issues for prepared queries.
Reported by: Nick Gorham (via -dev list)
Patch by: tilghman
Russell Bryant [Fri, 2 Nov 2007 20:56:12 +0000 (20:56 +0000)]
Merge the code from asterisk/team/group/chan_unistim:
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
Make subscribecontext behave as advertised. It will now look for the presence of a hint in the given context (be it subscribecontext or context).
(closes issue #10702)
Reported by: slavon
If an INFO request within a dialog is received with a content length of 0 simply send back a 200 OK. It is valid to do this and the remote side is probably using it to make sure the signalling is still alive.
(closes issue #5747)
Reported by: chandi
Patches:
infofix-81430-1.patch uploaded by IgorG (license 20)
Steve Murphy [Thu, 1 Nov 2007 22:26:51 +0000 (22:26 +0000)]
This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
Jason Parker [Thu, 1 Nov 2007 22:19:56 +0000 (22:19 +0000)]
Crap, accidentally copied the props. Thanks for pointing this out mvanbaak. The odds are quite high that this will break automerge on every team branch.
If a Zap channel contains a spy or a spy is added take it out of the conference in kernel space and make it go through Asterisk so the spy gets audio from both sides.
(closes issue #10060)
Reported by: mparker
Joshua Colp [Thu, 1 Nov 2007 00:04:43 +0000 (00:04 +0000)]
Drop any more references to type in the Exception dialplan function.
(closes issue #11134)
Reported by: blitzrage
Patches:
exception_patch.txt uploaded by blitzrage (license 10)
Steve Murphy [Wed, 31 Oct 2007 18:53:13 +0000 (18:53 +0000)]
Merged revisions 87849 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r87849 | murf | 2007-10-31 11:49:39 -0600 (Wed, 31 Oct 2007) | 1 line
closes issue #11108 -- where the 'dialplan save' cli command saves a file where the semicolon is not escaped. Fixed this; User also wanted comments to be preserved across dialplan save, but this is impossible at this point in time, because comments are not stored in the dialplan. They are 'compiled' out of extensions.conf. The only way to preserve those comments is to use the config file reader/writer that the GUI uses to allow online user edits. extensions.conf is first and foremost, a config file, and is read in by the normal config-file reading routines. Then, it is processed into a dialplan (context/exten structs). (in the case of trunk, tho, no mods needed to be made -- works OK there -- just make sure you use ',' to sep app args!)
........