If the incoming RTP stream changes codec force the bridge to break if the other side does not support it.
(closes issue #11729)
Reported by: tsearle
Patches:
new_codec_patch_udiff.patch uploaded by tsearle (license 373)
If the channel is hungup during RECORD FILE send a result code of -1 to be uniform with everything else.
(closes issue #11743)
Reported by: davevg
Patches:
res_agi.diff uploaded by davevg (license 209)
Russell Bryant [Fri, 11 Jan 2008 19:05:24 +0000 (19:05 +0000)]
Kevin noted that the thing that I _actually_ changed here was that I converted
a value from a double, to a float, back to a double. Sure enough, when I changed
my interim variable back to a double, it still blows up. Switching all of these
to a float fixes the problem. This seems like a compiler bug where a double passed
as an argument isn't getting properly aligned, so I'll have to see if I can replicate
it with a small test program.
Russell Bryant [Fri, 11 Jan 2008 18:48:07 +0000 (18:48 +0000)]
Fix a bus error that happened when asterisk was built with optimizations on
with platforms that explode on unaligned access. I'm not exactly sure why
this fixes it, but it fixed it on the machine I was testing on. If it makes
sense to you, feel free to enlighten me. :)
Russell Bryant [Fri, 11 Jan 2008 18:26:32 +0000 (18:26 +0000)]
Blocked revisions 98265 via svnmerge
........
r98265 | russell | 2008-01-11 12:25:30 -0600 (Fri, 11 Jan 2008) | 11 lines
Backport the ability to set the ToS bits on Linux when not running as root.
Normally, we would not backport features into 1.4, but, I was convinced by the
justification supplied by the supplier of this patch. He pointed out that this
patch removes a requirement for running as root, thus reducing the potential
impacts of security issues.
Ensure the return value of ast_bridge_call is passed back up as the application return value. This is needed for transfers to function so the PBX core knows to continue execution.
(closes issue #10327)
Reported by: kkiely
Russell Bryant [Fri, 11 Jan 2008 17:17:54 +0000 (17:17 +0000)]
At one point during working on this module, I had the lin/lin16 versions of the
framein callbacks different. However, they are now the same again, so remove
the duplicate code and use the same functions for the lin/lin16 versions.
Russell Bryant [Fri, 11 Jan 2008 03:37:19 +0000 (03:37 +0000)]
- Fix the last set of places where incorrect assumptions were made about the
sample length with g722. It is _2_ samples per byte, not 1. This was all
over the place, and I believed it, and it is what caused me to take so long
to figure out what was broken.
- Update copyright information on codec_g722.
Mark Michelson [Fri, 11 Jan 2008 00:54:54 +0000 (00:54 +0000)]
Fix "core show translation" to not output information for "unknown" codecs.
This fix was made in favor of the proposed patch since it doesn't involve changing
a core codec define.
(closes issue #11722, reported and initially patched by caio1982, final patch by me)
1) When we get a translated frame out, clone it, because if the
translator pvt is freed before we use the frame, bad things happen.
2) Getting a failure from ast_sched_delete means that the schedule
ID is currently running. Don't just ignore it.
(Closes issue #11698)
Russell Bryant [Thu, 10 Jan 2008 23:16:09 +0000 (23:16 +0000)]
Fix various issues in codec_g722.
- The most common fix being made here is to fix all of the places where the
number of output samples and output bytes gets updated in the translator
state structure.
- Fix a number of other places where the number of samples provided as an
initialization value to a struct was incorrect.
Steve Murphy [Thu, 10 Jan 2008 21:46:56 +0000 (21:46 +0000)]
Merged revisions 97889 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r97889 | murf | 2008-01-10 14:37:10 -0700 (Thu, 10 Jan 2008) | 1 line
Applied the same fixes for ael.flex as was done in 97849 for ast_expr2.fl; overrode the normally generate yyfree func with our own version that checks the pointer for non-null before passing to free(). Also takes care of a little problem with 2.5.33 and the use of the __STDC_VERSION__ macro.
........
Steve Murphy [Thu, 10 Jan 2008 20:45:05 +0000 (20:45 +0000)]
Merged revisions 97849 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r97849 | murf | 2008-01-10 13:21:27 -0700 (Thu, 10 Jan 2008) | 1 line
This is a fix for 2 things: a problem Terry was having in OSX with null pointers, which was my fault, as I probably forgot to run the sed script last time I made mods. So, I moved the fix into the flex input itself. Then, I found when I used flex 2.5.33, that it was using __STDC_VERSION__, and that's not real good; so I added back in a DIFFERENT sed script to fix that little mess. Tested everything, a couple different ways. Hope I did no harm, at the least.
........
Russell Bryant [Thu, 10 Jan 2008 16:27:03 +0000 (16:27 +0000)]
Use AST_EXT_TOOL_CHECK() for the GTK check again. I changed this to an inline
implementation to fix a small bug, but after a discussion with rizzo, I went to
change it back. Also, it turns out that the implementation of the macro already
supported what was needed to fix the problem.
Don't try to copy the category from the group if no category exists.
(closes issue #11724)
Reported by: IgorG
Patches:
group_count.v1.patch uploaded by IgorG (license 20)
Steve Murphy [Thu, 10 Jan 2008 00:50:39 +0000 (00:50 +0000)]
The fixes in this commit are mainly to allow compiling of trunk with --enable-dev-mode, mutex profiling, lock debugging, etc. Mainly, the version.c needs to be in the OBJS line; asterisk.h was chosen to have the prototypes for ast_get_version, ast_get_version_num; and the ASTERISK_FILE_VERSION macro needs to be used after including asterisk.h in a few files. I hope I did the right thing. If not, let me know.
Tilghman Lesher [Thu, 10 Jan 2008 00:12:35 +0000 (00:12 +0000)]
Several manager changes:
1) Add the Dialplan class, for NewExten and VarSet events, which should cut
down on the volume of traffic in the Call class.
2) Permit some commands to be run from multiple classes, such as allowing
DBGet to be run from either the System or the Reporting class.
3) Heavily document each class in the sample config, as there were several
that made no sense to be in the write= line, and two that made no sense to be
in the read= line (since they controlled no permissions there).
Terry Wilson [Wed, 9 Jan 2008 21:37:26 +0000 (21:37 +0000)]
Added a new module, res_phoneprov, which allows auto-provisioning of phones
based on configuration templates that use Asterisk dialplan function and
variable substitution. It should be possible to create phone profiles and
templates that work for the majority of phones provisioned over http. It
is currently only intended to provision a single user account per phone.
An example profile and set of templates for Polycom phones is provided.
NOTE: Polycom firmware is not included, but should be placed in
AST_DATA_DIR/phoneprov/configs to match up with the included templates.
Luigi Rizzo [Wed, 9 Jan 2008 18:03:40 +0000 (18:03 +0000)]
Two changes:
- support scrolling of message window;
- simplify the code for creating a message window,
and try it using a second one in the top of
the keypad (where we echo the dialed number).
The 'skin' that supports these two windows will be
committed separately.
Set the caller id within the gtalk_alloc function.
As underlined in issue #10437 by Josh, we need to prevent a possible
memory leak. We only set the name part of the caller id, the number
part is not relevant when dealing with JIDs.
Don't do conferencing totally in Zaptel if Monitor is running on the channel.
(closes issue #11709)
Reported by: BigJimmy
Patches:
patch-meetmerec uploaded by BigJimmy (license 371)
Luigi Rizzo [Wed, 9 Jan 2008 12:23:18 +0000 (12:23 +0000)]
implement the "console startgui" and "console stopgui"
commands so you can start and stop the gui even outside
of a call. This is convenient for testing, and also for
using the keypad to pick up a call, and to dial a number
(the latter not yet implemented, but should be close).
Allow filename completion on zero-length modules, remove a memory leak, remove
a file descriptor leak, and make filename completion thread-safe.
Patched and tested by tilghman.
(Closes issue #11681)
Part 1 of N of adding doxygen comments to app_queue. I picked some of the most common functions
used (which also happen to be some the biggest/ugliest functions too) to document first. I'm pretty
new to doxygen so criticism is welcome.
Tilghman Lesher [Tue, 8 Jan 2008 23:51:51 +0000 (23:51 +0000)]
Add a new flag 'd' (with optional context) permitting any extension within
that context to be entered as a new extension during the playback of a
voicemail greeting.
Patch inspired by bluecrow76, by tilghman.
(Closes issue #7063)
Luigi Rizzo [Tue, 8 Jan 2008 23:14:48 +0000 (23:14 +0000)]
Add the annotation for the textarea used for messages,
and also change the background from white to something
different to show that we can make use of fonts with transparent
background.
Luigi Rizzo [Tue, 8 Jan 2008 23:11:25 +0000 (23:11 +0000)]
add a font suitable for use with the console GUI.
The background of this particular image is transparent so we
can preserve the original background when we draw strings.
Luigi Rizzo [Tue, 8 Jan 2008 23:09:44 +0000 (23:09 +0000)]
add support for textareas, used for various dialog windows on the gui.
The main code to implement the textarea is in console_board.c,
and uses a simple png image with the font, blitting characters
on the designated areas of the main screen.
Additionally we provide some annotations in the image used
as a skin to indicate which areas are used for text messages.
(images will be committed separately).
At the moment the dialog area is only used to display a running
counter, just as a proof of concept.
Mark Michelson [Tue, 8 Jan 2008 21:18:32 +0000 (21:18 +0000)]
Adding the option of specifying a second interface in a member definition for a queue. app_queue
will monitor this second device's state for the member, even though it actually calls the first
interface. This ability has been added for statically defined queue members, realtime queue members,
and dynamic queue members added through the CLI, dialplan, or manager.
Making some changes designed to not allow for a corrupted mailstream for a vm_state.
1. Add locking to the vm_state retrieval functions so that no linked list corruption occurs.
2. Make sure to always grab the persistent vm_state when mailstream access is necessary.
3. Correct an incorrect return value in the init_mailstream function.
Joshua Colp [Tue, 8 Jan 2008 20:06:52 +0000 (20:06 +0000)]
Move common code for setting T38 capabilities and fix a bug with fax detection in the SIP RTP read callback. It's still sort of silly... but more on that later.
(closes issue #11239)
Reported by: dimas
Patches:
sipt38prop.patch uploaded by dimas (license 88)
If no group has been provided to the GROUP_COUNT dialplan function then use the first one specific to the channel.
(closes issue #11077)
Reported by: m4him
Luigi Rizzo [Mon, 7 Jan 2008 23:03:11 +0000 (23:03 +0000)]
add support for cropping the keypad image while displaying it.
This way it can contain additional elements (e.g. fonts, buttons,
widgets) without having to use a zillion files to store them.
Mark Michelson [Mon, 7 Jan 2008 21:04:09 +0000 (21:04 +0000)]
Adding user-configurable TCP timeout settings to IMAP voicemail. This could
go a long way towards preventing unexplainable hangs experienced by people. In the
case of MWI hangs, this also will mean that the SIP port isn't blocked anymore.