Joshua Colp [Wed, 10 Dec 2008 01:09:06 +0000 (01:09 +0000)]
Finish conversion to using ARRAY_LEN and remove it as a janitor project.
(closes issue #14032)
Reported by: bkruse
Patches:
14032.patch uploaded by bkruse (license 132)
Russell Bryant [Tue, 9 Dec 2008 22:38:41 +0000 (22:38 +0000)]
Add some additional Asterisk project developer documentation.
After the nightly update of the documentation on asterisk.org, I'll post
an update to asterisk-dev with a pointer to the changes. This covers some
release branch and commit policy information. None of this should be a
surprise, since it's just documenting what we have already been doing.
Russell Bryant [Tue, 9 Dec 2008 22:25:06 +0000 (22:25 +0000)]
Merged revisions 162413 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r162413 | russell | 2008-12-09 16:17:39 -0600 (Tue, 09 Dec 2008) | 8 lines
Remove the test_for_thread_safety() function completely.
The test is not valid. Besides, if we actually suspected that recursive
mutexes were not working, we would get a ton of LOG_ERROR messages when
DEBUG_THREADS is turned on.
(inspired by a discussion on the asterisk-dev list)
We appear to have documented tz= in the [general] section of voicemail.conf,
without actually having implemented it. Oops.
(Reported by Olivier on the -users list)
........
Add 'down' as a valid state for directed call pickup. This creeps up when we receive session progress when dialing a device and not ringing.
(closes issue #14005)
Reported by: ddl
........
Russell Bryant [Tue, 9 Dec 2008 20:59:54 +0000 (20:59 +0000)]
Merged revisions 162286 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r162286 | russell | 2008-12-09 14:57:35 -0600 (Tue, 09 Dec 2008) | 9 lines
Fix an issue where callers on an incoming call on an SLA trunk would not hear ringback.
We need to make sure that we don't start writing audio to the trunk channel until we're
actually ready to answer it. Otherwise, the channel driver will treat it as inband
progress, even though all they are getting is silence.
Steve Murphy [Tue, 9 Dec 2008 20:40:31 +0000 (20:40 +0000)]
Merged revisions 162264 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r162264 | murf | 2008-12-09 13:20:54 -0700 (Tue, 09 Dec 2008) | 1 line
In discussion with seanbright on #asterisk-dev, I have added a default rule, and an option to suppress the default rule from being generated in the flex output, for the sake of those OS's where they didn't tweak flex's ECHO macro, and the compiler doesn't like it. The regressions are OK with this.
........
Make sure that the timestamp for DTMF is not the same as the previous voice frame and do not send audio when transmitting DTMF as this confuses some equipment.
(closes issue #13209)
Reported by: ip-rob
Patches:
13209.diff uploaded by file (license 11)
Tested by: ip-rob, bujones
........
This crash was the result of a few small errors that
would combine in 64-bit land to result in a crash.
32-bit land might have seen these combine to mysteriously
drop the args to an application call, in certain
circumstances.
Also, in trying to find this bug, I spotted
a situation in the flex input, where, in passing
back a 'word' to the parser, it would allocate
a buffer larger than necessary. I changed the
usage in such situations, so that strdup was
not used, but rather, an ast_malloc, followed
by ast_copy_string.
I removed a field from the pval struct, in
u2, that was never getting used, and set in
one spot in the code. I believe it was an
artifact of a previous fix to make switch
cases work invisibly with extens.
And, for goto's I removed a '!' from
before a strcmp, that has been there
since the initial merging of AEL2, that
might prevent the proper target of a
goto from being found. This was pretty
harmless on its own, as it would just
louse up a consistency check for users.
Many thanks to ckjohnsonme for providing
a simplified and complete set of information
about the bug, that helped considerably in
finding and fixing the problem.
Now, to get aelparse up and running again
in trunk, and out of its "horribly broken" state,
so I can run the regression suite!
Russell Bryant [Tue, 9 Dec 2008 14:57:39 +0000 (14:57 +0000)]
Merged revisions 161948 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r161948 | russell | 2008-12-09 08:52:25 -0600 (Tue, 09 Dec 2008) | 15 lines
Fix a problem with GROUP() settings on a masquerade.
The previous code carried over group settings from the old channel to the new
one. However, it did nothing with the group settings that were already on the
new channel. This patch removes all group settings that already existed on the
new channel.
I have a more complicated version of this patch which addresses only the most
blatant problem with this, which is that a channel can end up with multiple
group settings in the same category. However, I could not think of a use case
for keeping any of the group settings from the old channel, so I went this route
for now.
Joshua Colp [Mon, 8 Dec 2008 21:41:50 +0000 (21:41 +0000)]
Add alw as a valid file extension for alaw and ulw as a valid file extension for ulaw.
(closes issue #14001)
Reported by: henrikw
Patches:
alw.diff uploaded by henrikw (license 627)
Joshua Colp [Mon, 8 Dec 2008 18:47:32 +0000 (18:47 +0000)]
Fix a regression introduced when the PBX timeouts were converted to milliseconds. collect_digits now gets milliseconds fed to it, not seconds.
(closes issue #14012)
Reported by: dveiga
Patches:
14012.patch uploaded by bkruse (license 132)
Make the usereqphone option work again.
(closes issue #13474)
Reported by: mmaguire
Patches:
20080912_bug13474.diff uploaded by mmaguire (license 571)
........
Terry Wilson [Mon, 8 Dec 2008 16:02:42 +0000 (16:02 +0000)]
Add the ability to play a courtesy tone to the transfer target in a native SIP attended transfer by setting the variable ATTENEDED_TRANSFER_COMPLETE_SOUND.
- Fix a leak while printing an argument description.
- Avoid printing the name of an argument in the [Arguments] tag if there is no description
for that argument.
Sean Bright [Fri, 5 Dec 2008 15:56:15 +0000 (15:56 +0000)]
When using IMAP_STORAGE, it's important to convert bare newlines (\n) in
emailbody and pagerbody to CR-LF so that the IMAP server doesn't spit out an
error. This was informally reported on #asterisk-dev a few weeks ago. Reviewed
by Mark M. on IRC.
Tilghman Lesher [Fri, 5 Dec 2008 05:41:41 +0000 (05:41 +0000)]
The first file should have a blank config filename in the structure, so that
when a save occurs to a different filename, everything goes to the alternate
filename, instead of appending to the original. This is important for the
AMI command UpdateConfig.
(closes issue #13301)
Reported by: trevo
Patches:
20081113__bug13301.diff.txt uploaded by Corydon76 (license 14)
20081113__bug13301__1.6.0.diff.txt uploaded by Corydon76 (license 14)
Tested by: Corydon76, blitzrage
If 'faxdetect=yes' in sip.conf, switch to a 'fax' extension (if it exists) after T38 is negotiated.
Terry Wilson created the original patch for this functionality, which I slightly modified and added
the faxdetect=yes|no configuration option. This patch is only for T38 fax detection and does not
do anything for G711 over SIP fax detection. By default, this option is disabled.
This mirrors a check that was present in ast_rtp_read to also be in ast_rtp_raw_write to not schedule sending the receiver report if the remote RTCP endpoint address isn't present in the RTCP structure.
Fix a callerid parsing issue. If someone formatted callerid like the
following: "name <number>" (including the quotation marks), then the parts
would be parsed as
name: "name
number: number
This is because the closing quotation mark was not discovered since the number
and everything after was parsed out of the string earlier. Now, there is a check
to see if the closing quote occurs after the number, so that we can know if we
should strip off the opening quote on the name.
This patch causes the setcid func to update the CDR
clid after setting the channel field.
I also notice that in trunk, the num/number of 1.4 is
left out; I decided to include the option to use
either in trunk, so as not to have 1.4 upgraders
not to have problems.
Mark Michelson [Wed, 3 Dec 2008 18:37:46 +0000 (18:37 +0000)]
Add some safety measures when using gosub, especially when using the options
for app_dial and app_queue to run a gosub when the call is answered.
* Check for the existence of the gosub target in gosub_exec. If it is nonexistent,
then this will cause errors when we attempt to actually run the gosub, including
a definite memory leak and potential crashes. Return an error in this situation
* Check the return value of pbx_exec in app_dial and app_queue before attempting
to actually run the gosub routine. If there was an error, we should not attempt
to run the gosub.
* Change a '|' to a ',' in app_queue.
* Add some extra curly braces where they had been missing previously.
During bridge code, the channel bridge may return a retry code, if a transfer
was initiated but not yet completed. If the bridge is immediately retried,
then we may send a storm of TXREQ packets, even though the first set is sent
reliably (retransmitted). Fixes AST-137.
........
- Add <variable /> tags when naming a channel variable.
- Add <filename /> tags when naming a filename.
- Simplify the xml formatting putting some enters.
If an entry is added to the directory during a scan when another entry expires,
then that new entry will not be processed promptly, but must wait for either a
future entry to start or a current entry's retry to occur. If no other entries
exist in the directory (other than the new entries) when a bunch expire, then
the new entries must wait until another new entry is added to be processed.
This was a rather weird race condition, really. Fixes AST-147.
........
Mark Michelson [Wed, 3 Dec 2008 17:07:09 +0000 (17:07 +0000)]
When investigating issue #13548, I found that gosub
handling in app_queue was just completely wrong, mostly
because the channel operations being performed were being
done on the incorrect channel.
With this set of changes, a gosub will correctly run on
the answering queue member's channel. There are still crash
issues which occur if there are dialplan syntax errors, so
I cannot yet close the referenced issue.
Don't start scanning the directory until all modules are loaded, because some
required modules (channels, apps, functions) may not yet be in memory yet.
Fixes AST-149.
........
Jon Bonilla (Manwe) pointed out on the -dev list:
"I guess that having only ip-phones in mind is not a good approach. Since it is
possible to have a sip proxy connected to asterisk we could receive a 407
(unauthorized) or 483 (too many hops) as response and dialog ending would not be
a good behavior."
So modified.
........
- Avoid setting .synopsis and .syntax if we are using XML documentation (or the
xml documentation wont be loaded).
- Use <variable></variable> to refer to a dialplan variable.
Jeff Peeler [Tue, 2 Dec 2008 18:00:24 +0000 (18:00 +0000)]
(closes issue #13786)
Reported by: tzafrir
Readding DAHDI_CHECK_HOOKSTATE define that was removed in r134260 which fixes not being able to make outgoing calls on some FXO adapters:
http://lists.digium.com/pipermail/asterisk-users/2008-November/thread.html#221553
When the text does not match exactly (e.g. RTP/SAVP), then the %n conversion
fails, and the resulting integer is garbage. Thus, we must initialize the
integer and check it afterwards for success.
(closes issue #14000)
Reported by: folke
Patches:
asterisk-sipbg-sscanf-1.4.22.diff uploaded by folke (license 626)
asterisk-sipbg-sscanf-1.6.0.1.diff uploaded by folke (license 626)
asterisk-sipbg-sscanf-trunk-r159896.diff uploaded by folke (license 626)
........
Get rid of the useless format string and argument in the Bogus/ manager channelname.
Noted by kpfleming and name Bogus/manager suggested by eliel
........
Introduce CLI permissions.
Based on cli_permissions.conf configuration file, we are able to permit or deny
cli commands based on some patterns and the local user and group running rasterisk.
Russell Bryant [Mon, 1 Dec 2008 17:34:31 +0000 (17:34 +0000)]
Merged revisions 160003 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r160003 | russell | 2008-12-01 11:27:30 -0600 (Mon, 01 Dec 2008) | 6 lines
Apply some logic used in iax2_indicate() to iax2_setoption(), as well, since they
both have the potential to send control frames in the middle of call setup. We
have to wait until we have received a message back from the remote end before
we try to send any more frames. Otherwise, the remote end will consider it
invalid, and we'll get stuck in an INVAL/VNAK storm.
move some format attributes from main/utils.c to the header files they belong in, and fix up references to the relevant functions based on new compiler warnings
Kevin P. Fleming [Sat, 29 Nov 2008 15:29:33 +0000 (15:29 +0000)]
we can now build with -Wformat=2, which found a couple of real bugs
because SPRINTF() use non-literal format strings (which cannot be checked), move it into its own module so the rest of func_strings can benefit from format string checking
Michiel van Baak [Fri, 28 Nov 2008 14:20:11 +0000 (14:20 +0000)]
Make res_config_ldap compile with the official OpenLDAP 2.3.X versions.
They removed the LDAP_DEPRECATED define from their source and since we are using a couple
of deprecated function calls we should define it with a CFLAG.
Tested by me on OpenBSD 4.4 and snuff-home on Linux to make sure everything keeps compiling.
It shouldn't break, we only define the LDAP_DEPRECATED with this which is what
all 2.2.X and older versions of OpenLDAP did in their own tree.
Kevin P. Fleming [Wed, 26 Nov 2008 21:20:50 +0000 (21:20 +0000)]
improve handling of API calls provided by loaded modules through use of some GCC features; this makes app_stack's usage of AGI APIs even cleaner, and will allow it to work 'as expected' either with or without res_agi being loaded
Mark Michelson [Wed, 26 Nov 2008 19:57:11 +0000 (19:57 +0000)]
Add some necessary hangup commands in the case that forwarding
a call fails
1) Hang up the original destination if the local channel cannot
be requested.
2) Hang up the local channel (in addition to the original destination)
if ast_call fails when calling the newly created local channel.
This prevents channels from sticking around forever in the
case of a botched call forward (e.g. to an extension which does not
exist).
Tilghman Lesher [Wed, 26 Nov 2008 18:33:04 +0000 (18:33 +0000)]
If the config file does not exist, then the first use crashes Asterisk.
(closes issue #13848)
Reported by: klaus3000
Patches:
udptl.c.patch uploaded by eliel (license 64)
Tested by: blitzrage
the change to cdr.c allows no-answer to percolate
up into CDR's, and feels like the right place to
locate this fix; if BUSY is done here, no-answer
should be, too.
Tilghman Lesher [Tue, 25 Nov 2008 22:45:59 +0000 (22:45 +0000)]
Add an option, waitfordialtone, for UK analog lines which do not end a call
until the originating line hangs up.
(closes issue #12382)
Reported by: one47
Patches:
zap-waitfordialtone-trunk.080901.patch uploaded by one47 (license 23)
zap-waitfordialtone-bra-1.4.21.2.patch uploaded by fleed (license 463)
Tested by: fleed
Mark Michelson [Tue, 25 Nov 2008 21:49:42 +0000 (21:49 +0000)]
Make the options for the general and profiles more consistent
for the "pls_hold_prompt" option. This does not affect any released
version of Asterisk, so there is no need to update the CHANGES
file for this.
Tilghman Lesher [Tue, 25 Nov 2008 17:44:30 +0000 (17:44 +0000)]
Don't limit the length of the hint at the final step (from ~8100 chars max
(or ~500 chars max on LOW_MEMORY) to 80 chars max). This will allow more
channels to be used in a single hint.