Olle Johansson [Mon, 25 Jan 2010 21:13:20 +0000 (21:13 +0000)]
Change api for pbx_builtin_setvar to actually return error code if a function can't be written to.
This patch removes code that was duplicated from pbx.c to manager.c
in order to prevent API change in released versions of Asterisk.
There are propably also other places that would benefit from reading the
return code and react if a function returns error codes on writing a value into it.
Terry Wilson [Mon, 25 Jan 2010 18:01:08 +0000 (18:01 +0000)]
Fix INTERNAL_OBJ error on stop when calendars.conf missing
Initialize the calendars container before calling load_config and return FAILURE
on allocation failure. Also, use the AST_MODULE_LOAD_* values for return values.
Thanks to rmudgett for pointing out the error and the need to use the defined
values for return
Alexandr Anikin [Sun, 24 Jan 2010 22:42:11 +0000 (22:42 +0000)]
AST_CONTROL_CONNECTED_LINE frame type processing added to setup DisplayIE field
incorrect q.931 message order filtered on incoming calls (first msg must be setup,
next must be not setup)
Only rebuild bison and flex source files on demand, if bison and flex are detected by the configure script.
Changed after discussion on the -dev list about possible unnecessary build
failures, due to checkouts/untars causing these special source files to
possibly be newer than their resulting C files. This should additionally
ensure that nobody need learn about extra Makefile arguments to ensure the
proper files get rebuilt when changes are made to these special source files.
........
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.