Russell Bryant [Thu, 21 Jan 2010 13:59:41 +0000 (13:59 +0000)]
Modify test results XML format to match the JUnit format.
When this code was developed, we came up with our own XML format for the test
output. I have since started looking at integration with other tools, namely
continuous integration frameworks, and this format seems to be supported
across a number of applications. With these changes in place, I was able
to get Atlassian Bamboo to interpret the test results.
Alec L Davis [Wed, 20 Jan 2010 08:18:45 +0000 (08:18 +0000)]
Update CDR variables as pbx starts
Allows CDR variables added in cdr.c:set_one_cid to become visable during the call,
by executing ast_cdr_update() early in __ast_pbx run.
Reverts sig_pri changes in trunk that are specific to isdn technology only.
Fix deadlock in agent_read by removing call to agent_logoff.
One must always lock the agents list lock before the agent private. agent_read
locks the private immediately, so locking the agents list lock is not an
option (which is what agent_logoff requires). Because agent_read already
has access to the agent private all that is necessary is to do the required
hanging up that agent_logoff performed.
Jeff Peeler [Mon, 18 Jan 2010 22:31:25 +0000 (22:31 +0000)]
Extend max call limit duration from 24.8 days to 292+ million years.
If the limit was set past MAX_INT upon answering, the call was immediately
hung up due to overflow from the return of ast_tvdiff_ms (in ast_check_hangup).
The time calculation functions ast_tvdiff_sec and ast_tvdiff_ms have been
changed to return an int64_t to prevent overflow. Also the reporter suggested
adding a message indicating the reason for the call hanging up. Given that the
new limit is so much higher, the message (which would only really be useful in
the overflow scenario) has been made a debug message only.
Plug a memory leak when reading configs with their comments.
While reading through configuration files with the intent of returning their
full contents (comments specifically) we allocated some memory and then forgot
to free it. This doesn't fix 16554 but clears up a leak I had in the lab.
David Vossel [Mon, 18 Jan 2010 17:45:18 +0000 (17:45 +0000)]
transmit_silence_during_record replaced by transmit_silence
In asterisk.conf, transmit_silence_during_record has been removed
in favor of using only the transmit_silence option. The
transmit_silence_during_record option remains a valid option in
asterisk.conf, but has been removed from the sample config and
noted in CHANGES.
David Ruggles [Mon, 18 Jan 2010 17:41:44 +0000 (17:41 +0000)]
Add notification of interrupted file
Add file information to data element of T event so
the file information is sent to the client when it is
interrupted. Previously only notification of pending
files that were dropped was sent
updated transmit_silence option documentation in asterisk.conf
This patch updates the transmit_silence option to better document
why the option exists, and what it affects. Thanks to russell
for providing the verbage for this update.
........
David Vossel [Mon, 18 Jan 2010 16:45:28 +0000 (16:45 +0000)]
updated transmit_silence option documentation in asterisk.conf
This patch updates the transmit_silence option to better document
why the option exists, and what it affects. Thanks to russell
for providing the verbage for this update.
Tilghman Lesher [Fri, 15 Jan 2010 21:40:14 +0000 (21:40 +0000)]
The previous attempt at using a pipe to guarantee astcanary shutdown did not work.
We're revisiting the previous patch, albeit with a method that overcomes the
prior criticism that it was not POSIX-compliant.
(closes issue #16602)
Reported by: frawd
Patches:
20100114__issue16602.diff.txt uploaded by tilghman (license 14)
Tested by: frawd
Mark Michelson [Fri, 15 Jan 2010 20:58:24 +0000 (20:58 +0000)]
Make sure to set owner_line, ownder_func, and owner_file in ast_calloc_with_stringfields.
Asterisk would crash on startup if MALLOC_DEBUG were set in menuselect. This is because
the manager action UpdateConfig had to resize its string field allocation to set the
description. When the resize occurred, ast_copy_string would crash because we were
attempting to copy a string from a NULL pointer. Setting the strings initially makes
the code much less crashy.
Disallow leaving more than maxmsg voicemails.
This is a possibility because our previous method assumed that no messages are
left in parallel, which is not a safe assumption. Due to the vmu structure
duplication, it was necessary to track in-process messages via a separate
structure. If at some point, we switch vmu to an ao2-reference-counted
structure, which would eliminate the prior noted duplication of structures,
then we could incorporate this new in-process structure directly into vmu.
(closes issue #16271)
Reported by: sohosys
Patches:
20100108__issue16271.diff.txt uploaded by tilghman (license 14)
20100108__issue16271__trunk.diff.txt uploaded by tilghman (license 14)
20100108__issue16271__1.6.0.diff.txt uploaded by tilghman (license 14)
Tested by: jsutton
........
Jeff Peeler [Thu, 14 Jan 2010 18:03:31 +0000 (18:03 +0000)]
Fix broken call pickup
The problem was the OUTGOING flag was not getting set properly on the channel,
resulting in pickup failing as ast_read thought the call was inbound. Refer to
170393 for a more verbose description as this is the same exact change.
Tilghman Lesher [Thu, 14 Jan 2010 16:52:22 +0000 (16:52 +0000)]
Ensure that the callerid is NULL when the parent is effectively NULL.
This applies only to pattern-match hints, which create exact-match
hints on the fly.
Leif Madsen [Thu, 14 Jan 2010 14:38:01 +0000 (14:38 +0000)]
Add documentation about how to build queues.
Add a how-to set of documentation about building queues with Asterisk.
This documentation is based on Asterisk 1.6.2 but should work on most
versions with minor modifications.
(closes issue #16237)
Reported by: lmadsen
Patches:
Building Queues (FINAL).txt uploaded by lmadsen (license 10)
Tested by: pdhales, lmadsen, cmdrwalrus
Tilghman Lesher [Wed, 13 Jan 2010 21:27:34 +0000 (21:27 +0000)]
Add the TESTTIME() dialplan function, which permits testing GotoIfTime.
Specifically, by setting TESTTIME() to a particular date and time, you
can test whether a dialplan correctly branches as was intended. This was
developed after recent questions on the -users list on how to test their
holiday dialplan logic.
(closes issue #16464)
Reported by: tilghman
Patches:
20100112__issue16464.diff.txt uploaded by tilghman (license 14)
Fix regression for timed out parked call returning to caller
This issue seems to have been exposed by the fix in 160390 whereby using a
masquerade prevented a crash. The new channel used in the masquerade was
not copying the macro information from the old channel.
Tilghman Lesher [Wed, 13 Jan 2010 18:16:13 +0000 (18:16 +0000)]
Code previously added to ast_expr2f.c warranted a change in the source file ast_expr2.fl.
Also, made a Makefile change to ensure that the expression parser C source files get
regenerated correctly, when we need that to happen.
asterisk.conf's 'transmit_silence' option existed before
this patch, but was limited to only generating silence
while recording and sending DTMF. Now enabling the
transmit_silence option generates silence during wait
times as well.
To achieve this, ast_safe_sleep has been modified to
generate silence anytime no other generators are present
and transmit_silence is enabled. Wait apps not using
ast_safe_sleep now generate silence when transmit_silence
is enabled as well.
David Vossel [Wed, 13 Jan 2010 16:31:14 +0000 (16:31 +0000)]
add silence gen to wait apps
asterisk.conf's 'transmit_silence' option existed before
this patch, but was limited to only generating silence
while recording and sending DTMF. Now enabling the
transmit_silence option generates silence during wait
times as well.
To achieve this, ast_safe_sleep has been modified to
generate silence anytime no other generators are present
and transmit_silence is enabled. Wait apps not using
ast_safe_sleep now generate silence when transmit_silence
is enabled as well.
Tilghman Lesher [Tue, 12 Jan 2010 19:58:00 +0000 (19:58 +0000)]
Blank callerid and NULL callerid should not compare equal.
The second is the default state for matching CID in the dialplan (no matching)
while the first matches one particular CallerID. This is a regression.
(fixes AST-314, SWP-611)
David Vossel [Tue, 12 Jan 2010 16:14:41 +0000 (16:14 +0000)]
fixes text support in sdp answer
The code that handled setting 'm=text' in the sdp was not executing
in the correct order. The check to see if text was needed came after
the check to add 'm=text' to the sdp, this resulted in 'm=text' always
being set to 0 because it looked like text was never required.
Tilghman Lesher [Mon, 11 Jan 2010 23:00:55 +0000 (23:00 +0000)]
Permit more options in the Makefile as to startup options
(closes issue #16454)
Reported by: syspert
Patches:
20091228__issue16454__3.diff.txt uploaded by tilghman (license 14)
Tested by: syspert
Sean Bright [Mon, 11 Jan 2010 16:40:23 +0000 (16:40 +0000)]
Fix ao2_callback when both OBJ_MULTIPLE and OBJ_NODATA are passed.
There is an issue which only affects trunk and the new ao2_callback OBJ_MULTIPLE
implementation. When both OBJ_MULTIPLE and OBJ_NODATA are passed, only the first
object is visited, regardless of what is returned by the specified callback. This
causes a problem when we are clearing a container, i.e.:
Tilghman Lesher [Sun, 10 Jan 2010 19:37:30 +0000 (19:37 +0000)]
According to POSIX, the capital L modifier applies only to floating point types.
Fixes a crash on Solaris.
(closes issue #16572)
Reported by: crjw
Patches:
frame_changes.patch uploaded by crjw (license 963)
Plus several others found and fixed by me
Alexandr Anikin [Sun, 10 Jan 2010 17:53:59 +0000 (17:53 +0000)]
add docallbacks flag in q931decode function because
when we decode received q931 packet we must do callbacks and
when we print sended q931 packet we must not.
-1 is interpreted as an error, intead of the maximum mask.
(closes issue #16241)
Reported by: vnovy
Patches:
manager.c.patch uploaded by vnovy (license 922)
........
Tilghman Lesher [Fri, 8 Jan 2010 22:54:59 +0000 (22:54 +0000)]
Add the class actually used in the MusicOnHold start event.
(closes issue #16499)
Reported by: syspert
Patches:
mohclass.patch uploaded by syspert (license 938)
David Vossel [Fri, 8 Jan 2010 19:39:30 +0000 (19:39 +0000)]
fixes AUDIOHOOK_INHERIT regression
During the process of removing an audiohook from one channel
and attaching it to another the audiohook's status is updated
to DONE and then back to whatever it was previously. Typically
updating the status after setting it to DONE is not a good idea
because DONE can trigger unrecoverable audiohook destruction
events... because of this a conditional check was added to
audiohook_update_status to explicitly prevent the audiohook
from ever changing after being set to DONE. It was this check
that prevented audiohook inherit from work properly though.
Now ast_audiohook_move_by_source is treated as a special exception,
as the audiohook must be returned to its previous status after
attaching it to the new channel. This is only a safe operation
because the audiohook's lock is held the entire time, otherwise
this could cause trouble.
David Vossel [Thu, 7 Jan 2010 20:42:27 +0000 (20:42 +0000)]
fixes ast_transfer stall until hangup if called with a channel that doesn't support transfers
ast_transfer sets res to 0 if there is no technology transfer function,
but then tests for it to be negative before deciding to do an early exit.
As a result, it will will wait for an AST_CONTROL_TRANSFER message that
will never come.