]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
12 years agoconfbridge: Fix several small issues.
Richard Mudgett [Wed, 5 Dec 2012 00:49:53 +0000 (00:49 +0000)] 
confbridge: Fix several small issues.

* Made func_confbridge_helper() allow an empty value when setting options.
You previously could not Set(CONFBRIDGE(user,pin)=) and clear the
configured pin from the dialplan.

* Made func_confbridge_helper() handle its datastore better if multiple
threads attempt to set the first CONFBRIDGE option value on the channel.

* Made the func_confbridge_helper() only output one diagnostic message
concerning the option.

* Made the bridge video_mode able to repeatedly change in the config file
and CONFBRIDGE dialplan function.  The video_mode option values are an
enum and not independent of each other.

* Made handle_cli_confbridge_show_bridge_profile() better handle the
video_mode option.

* Simplified datastore handling code in conf_find_user_profile() and
conf_find_bridge_profile().

* Made parse_bridge(), parse_user(), and parse_menu() use var->file
instead of CONFBRIDGE_CONFIG because the var could have been from an
include file.

(closes issue ASTERISK-20655)
Reported by: Birger "WIMPy" Harzenetter

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@377227 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoconfbridge: Update online XML documentation.
Richard Mudgett [Tue, 4 Dec 2012 22:31:02 +0000 (22:31 +0000)] 
confbridge: Update online XML documentation.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@377212 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoCleanup ast_run_atexits() atexits list.
Richard Mudgett [Mon, 3 Dec 2012 22:53:58 +0000 (22:53 +0000)] 
Cleanup ast_run_atexits() atexits list.

* Convert atexits list to a mutex instead of a rd/wr lock.  The lock is
only write locked.

* Move CLI verbose Asterisk ending message to where AMI message is output
in really_quit() to avoid further surprises about using stuff already
shutdown.

(issue ASTERISK-20649)
Reported by: Corey Farrell
........

Merged revisions 377165 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@377166 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoCleanup core main on exit.
Richard Mudgett [Mon, 3 Dec 2012 20:33:08 +0000 (20:33 +0000)] 
Cleanup core main on exit.

* Cleanup time zones on exit.

* Make exit clean/unclean report consistent for AMI and CLI in
really_quit().

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      core-cleanup-1_8-10.patch (license #5909) patch uploaded by Corey Farrell
      core-cleanup-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

Merged revisions 377135 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@377136 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoCleanup config cache on exit.
Richard Mudgett [Mon, 3 Dec 2012 19:31:01 +0000 (19:31 +0000)] 
Cleanup config cache on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      config-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell
........

Merged revisions 377104 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@377105 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoCleanup CLI resources on exit and CLI command registration errors.
Richard Mudgett [Mon, 3 Dec 2012 19:14:14 +0000 (19:14 +0000)] 
Cleanup CLI resources on exit and CLI command registration errors.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      cli-leaks-1_8-10.patch (license #5909) patch uploaded by Corey Farrell
      cli-leaks-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

Merged revisions 377073 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@377074 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoCleanup CDR resources on exit.
Richard Mudgett [Mon, 3 Dec 2012 18:41:28 +0000 (18:41 +0000)] 
Cleanup CDR resources on exit.

* Simplify do_reload() return handling since it never returned anything
other than 0.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      cdr-cleanup-1_8.patch (license #5909) patch uploaded by Corey Farrell
      cdr-cleanup-10-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

Merged revisions 377069 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@377070 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix CCSS CLI commands and logger level not unregistered.
Richard Mudgett [Mon, 3 Dec 2012 17:06:44 +0000 (17:06 +0000)] 
Fix CCSS CLI commands and logger level not unregistered.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      ccss-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell
........

Merged revisions 377037 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@377038 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agochan_misdn: Fix sending RELEASE_COMPLETE in response to SETUP.
Richard Mudgett [Fri, 30 Nov 2012 21:33:38 +0000 (21:33 +0000)] 
chan_misdn: Fix sending RELEASE_COMPLETE in response to SETUP.

Fix sending a RELEASE_COMPLETE in response to a SETUP if chan_misdn does
not have a B channel available to assign to the call.

(closes issue ABE-2869)
Reported by: Guenther Kelleter
Patches:
      setup-reject_2.diff (license #6372) patch uploaded by Guenther Kelleter
      Modified

........

Merged revision 376949 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
........

Merged revisions 376950 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376951 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoMinor spelling fix to the VOLUME documentation.
Sean Bright [Fri, 30 Nov 2012 17:06:21 +0000 (17:06 +0000)] 
Minor spelling fix to the VOLUME documentation.
........

Merged revisions 376919 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376920 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix potential crashes during SIP attended transfers.
Mark Michelson [Fri, 30 Nov 2012 16:23:46 +0000 (16:23 +0000)] 
Fix potential crashes during SIP attended transfers.

The principal behind this patch is simple. During a transfer,
we manipulate channels that are owned by a separate thread than
the one we currently are running in, so it makes sense that we
need to grab a reference to the channels so that they cannot
disappear out from under us.

In the wild, crashes were sometimes seen when the transferring
party would hang up the call before the transfer target answered
the call. The most common place to see the crash occur was when
attempting to send a connected line update to the transferer
channel.

(closes issue ASTERISK-20226)
Reported by Jared Smith
Patches:
ASTERISK-20226.patch uploaded by Mark Michelson (License #5049)
Tested by: Jared Smith
........

Merged revisions 376901 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376916 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agochan_local: Fix local_pvt ref leak in local_devicestate().
Richard Mudgett [Thu, 29 Nov 2012 22:58:28 +0000 (22:58 +0000)] 
chan_local: Fix local_pvt ref leak in local_devicestate().

Regression introduced by ASTERISK-20390 fix.

(closes issue ASTERISK-20769)
Reported by: rmudgett
Tested by: rmudgett
........

Merged revisions 376868 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376869 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix compile error.
Richard Mudgett [Thu, 29 Nov 2012 22:30:26 +0000 (22:30 +0000)] 
Fix compile error.

(issue ASTERISK-20724)
........

Merged revisions 376864 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376865 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoImprove Code Readability And Fix Setting natdetected Flag
Michael L. Young [Thu, 29 Nov 2012 21:51:50 +0000 (21:51 +0000)] 
Improve Code Readability And Fix Setting natdetected Flag

For 1.8, 10, 11 and trunk we are are improving the code readability.

For 11 and trunk, auto nat detection was added.  The natdetected flag was being
set to 1 when the host address in the VIA header did not specifiy a port.  This
patch fixes this by setting the port on the temporary sock address used to
SIP_STANDARD_PORT in order for the sock address comparison to work properly.

(closes issue ASTERISK-20724)
Reported by: Michael L. Young
Patches:
    asterisk-20724-set-port-v2.diff uploaded by Michael L. Young (license 5026)

Review: https://reviewboard.asterisk.org/r/2206/
........

Merged revisions 376834 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376835 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoAdd MALLOC_DEBUG atexit unreleased malloc memory summary.
Richard Mudgett [Thu, 29 Nov 2012 00:45:11 +0000 (00:45 +0000)] 
Add MALLOC_DEBUG atexit unreleased malloc memory summary.

* Adds the following CLI commands to control MALLOC_DEBUG reporting of
unreleased malloc memory when Asterisk is shut down.
memory atexit list on
memory atexit list off
memory atexit summary byline
memory atexit summary byfunc
memory atexit summary byfile
memory atexit summary off

* Made check all remaining allocated region blocks atexit for fence
violations.

* Increased the allocated region hash table size by about three times.  It
still isn't large enough considering the number of malloced blocks
Asterisk uses.

* Made CLI "memory show allocations anomalies" use
regions_check_all_fences().

Review: https://reviewboard.asterisk.org/r/2196/
........

Merged revisions 376788 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376789 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoEnhance MALLOC_DEBUG CLI commands.
Richard Mudgett [Thu, 29 Nov 2012 00:05:25 +0000 (00:05 +0000)] 
Enhance MALLOC_DEBUG CLI commands.

* Fixed CLI "memory show allocations" misspelling of anomalies option.
The command will still accept the original misspelling.

* Miscellaneous tweaks to CLI "memory show allocations" command output
format.

* Made CLI "memory show summary" summarize by line number instead of by
function if a filename is given.

* Made CLI "memory show summary" sort its output by filename or
function-name/line-number depending upon request.

* Miscellaneous tweaks to CLI "memory show summary" command output format.
........

Merged revisions 376758 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376759 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agomanager: Make challenge work with allowmultiplelogin=no
Jonathan Rose [Wed, 28 Nov 2012 16:30:27 +0000 (16:30 +0000)] 
manager: Make challenge work with allowmultiplelogin=no

Prior to this patch, challenge would yield a multiple logins error if used
without providing the username (which isn't really supposed to be an argument
to challenge) if allowmultiplelogin was set to no because allowmultiplelogin
finds a user with a zero length login name. This check is simply disabled for
the challenge action when the username is empty by this patch.

(closes issue ASTERISK-20677)
Reported by: Vladimir
Patches:
    challenge_action_nomultiplelogin.diff uploaded by Jonathan Rose (license 6182)
........

Merged revisions 376725 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376726 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix extension matching with the '-' char.
Richard Mudgett [Tue, 27 Nov 2012 23:58:23 +0000 (23:58 +0000)] 
Fix extension matching with the '-' char.

The '-' char is supposed to be ignored by the dialplan extension matching.
Unfortunately, it's treatment is not handled consistently throughout the
extension matching code.

* Made the old exten matching code consistently ignore '-' chars.

* Made the old exten matching code consistently handle case in the
matching.

* Made ignore empty character sets.

* Fixed ast_extension_cmp() to return -1, 0, or 1 as documented.  The only
user of it in pbx_lua.c was testing for -1.  It was originally returning
the strcmp() value for less than which is not usually going to be -1.

* Fix character set sorting if the sets have the same number of characters
and start with the same character.  Character set [0-9] now sorts before
[02-9a] as originally intended.

* Updated some extension label and priority already in use warnings to
also indicate if the extension is aliased.

(closes issue ASTERISK-19205)
Reported by: Philippe Lindheimer, Birger "WIMPy" Harzenetter
Tested by: rmudgett

Review: https://reviewboard.asterisk.org/r/2201/
........

Merged revisions 376688 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376689 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoRemove unnecessary channel module references.
Richard Mudgett [Tue, 27 Nov 2012 20:36:45 +0000 (20:36 +0000)] 
Remove unnecessary channel module references.

* Removed call to ast_module_user_hangup_all() in res_config_mysql.c since
it is effectively a noop.  No channels can attach a reference to that
module.

* Removed call to ast_module_user_hangup_all() in app_celgenuserevent.c.
The caller of unload_module() has already called it.

* Removed redundant channel module references in pbx_dundi.c.  The
registered dialplan function callback dispatchers for the read/read2/write
callbacks already reference the module before calling.

* pbx_dundi: Moved unregistering CLI commands, DUNDi switch, and dialplan
functions to the first thing the unload_module() does.  This will reduce
the chance of new channels using DUNDi services while the module is being
torn down.
........

Merged revisions 376657 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376658 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoMade AST_LIST_REMOVE() simpler and use better names.
Richard Mudgett [Tue, 27 Nov 2012 17:35:54 +0000 (17:35 +0000)] 
Made AST_LIST_REMOVE() simpler and use better names.

* Update doxygen of AST_LIST_REMOVE().
........

Merged revisions 376627 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376628 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoRe-initialize logmsgs mutex upon logger initialization to prevent lock errors
Matthew Jordan [Thu, 22 Nov 2012 23:56:00 +0000 (23:56 +0000)] 
Re-initialize logmsgs mutex upon logger initialization to prevent lock errors

Similar to the patch that moved the fork earlier in the startup sequence to
prevent mutex errors in the recursive mutex surrounding the read/write thread
registration lock, this patch re-initializes the logmsgs mutex.  Part of the
start up sequence before forking the process into the background includes
reading asterisk.conf; this has to occur prior to the call to daemon in order
to read startup parameters.  When reading in a conf file, log statements can
be generated.  Since this can't be avoided, the mutex instead is
re-initialized to ensure a reset of any thread tracking information.

This patch also includes some additional debugging to catch errors when
locking or unlocking the recursive mutex that surrounds locks when the
DEBUG_THREADS build option is enabled.  DO_CRASH or THREAD_CRASH will
cause an abort() if a mutex error is detected.

(issue ASTERISK-19463)
Reported by: mjordan
Tesetd by: mjordan
........

Merged revisions 376586 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376587 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoAdd "Require: timer" to 200 OK responses when appropriate.
Mark Michelson [Tue, 20 Nov 2012 17:01:04 +0000 (17:01 +0000)] 
Add "Require: timer" to 200 OK responses when appropriate.

The method by which the Require header is added to 200 responses is
inspired by the method that Olle Johansson uses in his darjeeling-prack
branch.

(closes issue ASTERISK-20570)
Reported by Matt Jordan, at the behest of Olle Johansson

Review: https://reviewboard.asterisk.org/r/2172
........

Merged revisions 376521 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376522 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix most leftover non-opaque ast_str uses.
Walter Doekes [Mon, 19 Nov 2012 19:44:58 +0000 (19:44 +0000)] 
Fix most leftover non-opaque ast_str uses.

Instead of calling str->str, one should use ast_str_buffer(str). Same
goes for str->used as ast_str_strlen(str) and str->len as
ast_str_size(str).

Review: https://reviewboard.asterisk.org/r/2198
........

Merged revisions 376469 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376470 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoReorder startup sequence to prevent lockups when process is sent to background
Matthew Jordan [Sun, 18 Nov 2012 20:18:24 +0000 (20:18 +0000)] 
Reorder startup sequence to prevent lockups when process is sent to background

Although it is very rare and timing dependent, the potential exists for the
call to 'daemon' to cause what appears to be a deadlock in Asterisk during
startup.  This can occur when a recursive mutex is obtained prior to the
daemon call executing.  Since daemon uses fork to send the process into the
background, any threading primitives are unsafe to re-use after the call.
Implementations of pthread recursive mutexes are highly likely to store the
thread identifier of the thread that previously obtained the mutex.  If
the mutex was locked prior to the fork, a subsequent unlock operation will
potentially fail as the thread identifier is no longer valid.  Since the
mutex is still locked, all subsequent attempts to grab the mutex by other
threads will block.

This behavior exhibited itself most often when DEBUG_THREADS was enabled, as
this compile time option surrounds the mutexes in Asterisk with another
recursive mutex that protects the storage of thread related information.  This
made it much more likely that a recursive mutex would be obtained prior to
daemon and unlocked after the call.

This patch does the following:
a) It backports a patch from Asterisk 11 that prevents the spawning of the
   localtime monitoring thread.  This thread is now spawned after Asterisk has
   fully booted.
b) It re-orders the startup sequence to call daemon earlier during Asterisk
   startup.  This limits the potential of threading primitives being accessed
   by initialization calls before daemon is called.
c) It removes calls to ast_verbose/ast_log/etc. prior to daemon being called.
   Developers should send error messages directly to stderr prior to daemon,
   as calls to ast_log may access recursive mutexes that store thread related
   information.
d) It reorganizes when thread local storage is created for storing lock
   information during the creation of threads.  Prior to this patch, the
   read/write lock protecting the list of threads in ast_register_thread would
   utilize the lock in the thread local storage prior to it being initialized;
   this patch prevents that.

On a very related note, this patch will *greatly* improve the stability of the
Asterisk Test Suite.

Review: https://reviewboard.asterisk.org/r/2197

(closes issue ASTERISK-19463)
Reported by: mjordan
Tested by: mjordan
........

Merged revisions 376428 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376431 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoAdd a test event that reports changes in ConfBridge state
Matthew Jordan [Sun, 18 Nov 2012 14:22:39 +0000 (14:22 +0000)] 
Add a test event that reports changes in ConfBridge state

This patch adds a test event to ConfBridge that reports transitions between
states in ConfBridge.  This is used by tests in the Asterisk Test Suite
that verify state changes based on the entering/leaving of conference
participants.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376414 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agomonitor: prevent attempts to move/remove recordings skipped with 'i' and 'o'.
Jonathan Rose [Fri, 16 Nov 2012 19:41:55 +0000 (19:41 +0000)] 
monitor: prevent attempts to move/remove recordings skipped with 'i' and 'o'.

The i and o options for monitor skip the input and output sides of a recording
respectively. This patch addresses a problem in those options when monitor is
called without specifying a specific filename where monitor will try to move
the recording that was skipped. Since this usually doesn't exist when these
options are used, it would produce a warning when it does this in most cases,
but it is conceivable that there are use cases where this could result in
moving/removing a file unintentionally.

(closes issue ASTERISK-20641)
Reported by: Jonathan Rose
Review: https://reviewboard.asterisk.org/r/2190/
........

Merged revisions 376389 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376390 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFixed extconf.c breakage introduced in r376306.
David M. Lee [Fri, 16 Nov 2012 00:08:56 +0000 (00:08 +0000)] 
Fixed extconf.c breakage introduced in r376306.

To quote wdoekes:
> Note that I'm not confirming legitimacy of having that file in tree at
> all. Is anyone using aelparse/conf2ael?
........

Merged revisions 376340 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376342 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoMigrate hashtest/hashtest2 to be unit tests.
David M. Lee [Thu, 15 Nov 2012 23:17:54 +0000 (23:17 +0000)] 
Migrate hashtest/hashtest2 to be unit tests.

Both hashtest and hashtest2 are manual testing apps that thrash hash
tables (hashtab and ao2 containers, respectively), by spinning up
several threads that randomly insert, delete, lookup and iterate over
the hash table. If the app doesn't crash, the hash table probably passes
the test. Those utils are not a part of the typical Asterisk build, so
they do not usually get compiled. This all makes them less that useful.

This patch removes those manual test programs and replaces them with
Asterisk unit test modules (test_{hashtab,astobj2}_thrash.so). It also
attempts to make the tests more deterministic.

* Rather than spinning up some number of threads that operate on the
  hash table randomly, spin up four threads that concurrenly add,
  remove, lookup and iterate over the hash table.
* Each thread checks the state of the hash table both during and after
  execution, and indicates a test failure if things are not as expected.
* Each thread times out after 60 seconds to prevent deadlocking the unit
  test run.

(closes issue ASTERISK-20505)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2189/
........

Merged revisions 376306 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376315 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoapp_meetme: Fix channels lingering when hung up under certain conditions
Jonathan Rose [Thu, 15 Nov 2012 22:55:04 +0000 (22:55 +0000)] 
app_meetme: Fix channels lingering when hung up under certain conditions

Channels would get stuck and MeetMe would repeatedly display an Unable
to write frame to channel error in the conf_run function if hung up
during certain sound prompts such as during user count announcements.
This patch fixes that by reintroducing a hangup check in the meetme's
main loop (also in conf_run).

(closes issue ASTERISK-20486)
Reported by: Michael Cargile
Review: https://reviewboard.asterisk.org/r/2187/
Patches:
    meetme_hangup_patch_ASTERISK-20486_v3.diff uploaded by Jonathan Rose (license 6182)
........

Merged revisions 376307 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376308 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoPatch to play correct sound file when a voicemail's urgent status is removed
Rusty Newton [Thu, 15 Nov 2012 01:50:54 +0000 (01:50 +0000)] 
Patch to play correct sound file when a voicemail's urgent status is removed

We were attempting to play "vm-urgent-removed", which didn't exist. Now we play "vm-marked-nonurgent" which exists
and is the correct sound file. Previous behavior was silence and a warning on the CLI.

(issue ASTERISK-20280)
(closes issue ASTERISK-20280)
Reported by: Tomo Takebe
Tested by: Rusty Newton
Patches:
    asterisk20280.patch uploaded by Rusty Newton (license 5829)
........

Merged revisions 376262 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376263 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix call files when astspooldir is relative.
Richard Mudgett [Wed, 14 Nov 2012 19:50:52 +0000 (19:50 +0000)] 
Fix call files when astspooldir is relative.

Future dated call files are ignored when astspooldir is relative to the
current directory.  The queue_file() assumed that the qdir needed to be
prepended if the given filename did not start with a '/'.  If astspooldir
is relative it is not going to start from the root directory obviously so
it will not start with a '/'.  The filename used in queue_file()
ultimately results in qdir prepended multiple times.

* Made queue_file() not prepend qdir if the filename contains a '/'.

(closes issue ASTERISK-20593)
Reported by: James Le Cuirot
Patches:
      0004-Fix-future-call-files-from-relative-directories.patch (license #6439) patch uploaded by James Le Cuirot
........

Merged revisions 376232 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376233 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoPatch to prevent stopping the active generator when it is not the silence
Brent Eagles [Tue, 13 Nov 2012 18:20:13 +0000 (18:20 +0000)] 
Patch to prevent stopping the active generator when it is not the silence
generator.

This patch introduces an internal helper function to safely check whether the
current generator is the one that is expected before deactivating it. The
current externally accessible ast_channel_stop_generator() function has been
modified to be implemented in terms of the new function.

(closes issue ASTERISK-19918)
Reported by: Eduardo Abad
........

Merged revisions 376199 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376208 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoProperly check if the "Context" and "Extension" headers are empty in a ShowDialPlan...
Joshua Colp [Mon, 12 Nov 2012 20:44:56 +0000 (20:44 +0000)] 
Properly check if the "Context" and "Extension" headers are empty in a ShowDialPlan action.

The code which handles the ShowDialPlan action wrongly assumed that a non-NULL return value
from the function which retrieves headers from an action indicates that the header has a
value. This is incorrect and the contents must be checked to see if they are blank.

(closes issue ASTERISK-20628)
Reported by: jkroon
Patches:
     asterisk-showdialplan-incorrect-error.patch uploaded by jkroon
........

Merged revisions 376166 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376167 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix Dynamic Hints Variable Substition - Underscore Problem
Michael L. Young [Mon, 12 Nov 2012 20:15:27 +0000 (20:15 +0000)] 
Fix Dynamic Hints Variable Substition - Underscore Problem

When adding a dynamic hint, if an extension contains an underscore no variable
subsitution is being performed.

This patch changes from checking if the extension contains an underscore to
checking if the extension begins with an underscore.

(closes issue ASTERISK-20639)
Reported by: Steven T. Wheeler
Tested by: Steven T. Wheeler, Michael L. Young
Patches:
  asterisk-20639-dynamic-hint-underscore.diff
                                     uploaded by Michael L. Young (license 5026)

Review: https://reviewboard.asterisk.org/r/2188/
........

Merged revisions 376142 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376143 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix a "set but not used" warning on newer gccs.
Mark Michelson [Thu, 8 Nov 2012 21:59:13 +0000 (21:59 +0000)] 
Fix a "set but not used" warning on newer gccs.

Turns out the "helpful" setting of ms and res in this
macro is completely useless after the timeout antipattern
fix.

If you're a new guy looking to write code, don't write
a macro like this one.
........

Merged revisions 376087 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376088 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agochan_dahdi/SS7: Made reject incoming call for an in-alarm or blocked channel.
Richard Mudgett [Thu, 8 Nov 2012 21:07:09 +0000 (21:07 +0000)] 
chan_dahdi/SS7: Made reject incoming call for an in-alarm or blocked channel.

If a SS7 call comes in requesting a CIC that is in-alarm, the call is
accepted and connects if the extension exists in the dialplan.  The call
does not have any audio.

* Made release the call immediately with circuit congestion cause.

(closes issue ASTERISK-20204)
Reported by: Tuan Le
Patches:
      jira_asterisk_20204_v1.8.patch (license #5621) patch uploaded by rmudgett
........

Merged revisions 376058 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376059 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoAdd MALLOC_DEBUG enhancements.
Richard Mudgett [Thu, 8 Nov 2012 17:08:39 +0000 (17:08 +0000)] 
Add MALLOC_DEBUG enhancements.

* Makes malloc() behave like calloc().  It will return a memory block
filled with 0x55.  A nonzero value.

* Makes free() fill the released memory block and boundary fence's with
0xdeaddead.  Any pointer use after free is going to have a pointer
pointing to 0xdeaddead.  The 0xdeaddead pointer is usually an invalid
memory address so a crash is expected.

* Puts the freed memory block into a circular array so it is not reused
immediately.

* When the circular array rotates out a memory block to the heap it checks
that the memory has not been altered from 0xdeaddead.

* Made the astmm_log message wording better.

* Made crash if the DO_CRASH menuselect option is enabled and something is
found.

* Fixed a potential alignment issue on 64 bit systems.
struct ast_region.data[] should now be aligned correctly for all
platforms.

* Extracted region_check_fences() from __ast_free_region() and
handle_memory_show().

* Updated handle_memory_show() CLI usage help.

Review: https://reviewboard.asterisk.org/r/2182/
........

Merged revisions 376029 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376030 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoMultiple revisions 375993-375994
Mark Michelson [Wed, 7 Nov 2012 17:16:24 +0000 (17:16 +0000)] 
Multiple revisions 375993-375994

........
  r375993 | mmichelson | 2012-11-07 11:01:13 -0600 (Wed, 07 Nov 2012) | 30 lines

  Fix misuses of timeouts throughout the code.

  Prior to this change, a common method for determining if a timeout
  was reached was to call a function such as ast_waitfor_n() and inspect
  the out parameter that told how many milliseconds were left, then use
  that as the input to ast_waitfor_n() on the next go-around.

  The problem with this is that in some cases, submillisecond timeouts
  can occur, resulting in the out parameter not decreasing any. When this
  happens thousands of times, the result is that the timeout takes much
  longer than intended to be reached. As an example, I had a situation where
  a 3 second timeout took multiple days to finally end since most wakeups
  from ast_waitfor_n() were under a millisecond.

  This patch seeks to fix this pattern throughout the code. Now we log the
  time when an operation began and find the difference in wall clock time
  between now and when the event started. This means that sub-millisecond timeouts
  now cannot play havoc when trying to determine if something has timed out.

  Part of this fix also includes changing the function ast_waitfor() so that it
  is possible for it to return less than zero when a negative timeout is given
  to it. This makes it actually possible to detect errors in ast_waitfor() when
  there is no timeout.

  (closes issue ASTERISK-20414)
  reported by David M. Lee

  Review: https://reviewboard.asterisk.org/r/2135/
........
  r375994 | mmichelson | 2012-11-07 11:08:44 -0600 (Wed, 07 Nov 2012) | 3 lines

  Remove some debugging that accidentally made it in the last commit.
........

Merged revisions 375993-375994 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375995 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix stuck DTMF when bridge is broken.
Richard Mudgett [Tue, 6 Nov 2012 18:27:19 +0000 (18:27 +0000)] 
Fix stuck DTMF when bridge is broken.

When a bridge is broken by an AMI Redirect action or the ChannelRedirect
application, an in progress DTMF digit could be stuck sending forever.

* Made simulate a DTMF end event when a bridge is broken and a DTMF digit
was in progress.

(closes issue ASTERISK-20492)
Reported by: Jeremiah Gowdy
Patches:
      bridge_end_dtmf-v3.patch.txt (license #6358) patch uploaded by Jeremiah Gowdy
      Modified to jira_asterisk_20492_v1.8.patch
      jira_asterisk_20492_v1.8.patch (license #5621) patch uploaded by rmudgett
Tested by: rmudgett

Review: https://reviewboard.asterisk.org/r/2169/
........

Merged revisions 375964 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375965 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoRefactor ast_timer_ack to return an error and handle the error in timer users
Matthew Jordan [Mon, 5 Nov 2012 23:00:32 +0000 (23:00 +0000)] 
Refactor ast_timer_ack to return an error and handle the error in timer users

Currently, if an acknowledgement of a timer fails Asterisk will not realize
that a serious error occurred and will continue attempting to use the timer's
file descriptor.  This can lead to situations where errors stream to the
CLI/log file.  This consumes significant resources, masks the actual problem
that occurred (whatever caused the timer to fail in the first place), and
can leave channels in odd states.

This patch propagates the errors in the timing resource modules up through
the timer core, and makes users of these timers handle acknowledgement
failures.  It also adds some defensive coding around the use of timers
to prevent using bad file descriptors in off nominal code paths.

Note that the patch created by the issue reporter was modified slightly for
this commit and backported to 1.8, as it was originally written for
Asterisk 10.

Review: https://reviewboard.asterisk.org/r/2178/

(issue ASTERISK-20032)
Reported by: Jeremiah Gowdy
patches:
  jgowdy-timerfd-6-22-2012.diff uploaded by Jeremiah Gowdy (license 6358)
........

Merged revisions 375893 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375894 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoAdd safety NULL pointer check in module user references.
Richard Mudgett [Mon, 5 Nov 2012 21:39:00 +0000 (21:39 +0000)] 
Add safety NULL pointer check in module user references.

Made __ast_module_user_remove() check for NULL pointers.
........

Merged revision 375860 from C.3
........

Merged revisions 375862 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375863 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agochan_sip: Document a change to user-field encoding introduced with r303509
Jonathan Rose [Mon, 5 Nov 2012 17:55:13 +0000 (17:55 +0000)] 
chan_sip: Document a change to user-field encoding introduced with r303509

The change in question was added to improve compliance with RFC3261, but at
the time of commit, it wasn't adequately documented in the UPGRADE notes.

(closes issue ASTERISK-20561)
Reported by: Deniz
Review: https://reviewboard.asterisk.org/r/2177/

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375846 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoDon't attempt to purge sessions when no sessions exist
Matthew Jordan [Sun, 4 Nov 2012 03:08:12 +0000 (03:08 +0000)] 
Don't attempt to purge sessions when no sessions exist

Manager's tcp/tls objects have a periodic function that purge old manager
sessions periodically.  During shutdown, the underlying container holding
those sessions can be disposed of and set to NULL before the tcp/tls periodic
function is stopped.  If the periodic function fires, it will attempt to
iterate over a NULL container.

This patch checks for whether or not the sessions container exists before
attempting to purge sessions out of it.  If the sessions container is NULL,
we simply return.

Note that this error was also caught by the Asterisk Test Suite.
........

Merged revisions 375800 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375801 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoOnly deref a reserved gateway session if we actually reserved one
Matthew Jordan [Sun, 4 Nov 2012 02:42:43 +0000 (02:42 +0000)] 
Only deref a reserved gateway session if we actually reserved one

Its perfectly acceptable to have a gateway session unreserved when we go to
first allocate one.  Unreffing the reserved gateway session - when its NULL -
will result in an assertion error.

This problem was caught by the Asterisk Test Suite (once we had enough of the
debugging flags enabled)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375797 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoProperly clean up manager resources on exit
Matthew Jordan [Sun, 4 Nov 2012 02:30:30 +0000 (02:30 +0000)] 
Properly clean up manager resources on exit

This patch does two things:
1) It properly unregisters the manager CLI commands
2) It cleans up AMI users on exit.  Prior to this patch, the AMI users
   were not being disposed of properly, resulting in a memory leak.

(closes issue ASTERISK-20646)
Reported by: Corey Farrell
patches:
  manager_shutdown.patch uploaded by Corey Farrell (license 5909)
........

Merged revisions 375793 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375794 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoProperly finalize prepared SQLite3 statements to prevent memory leak
Matthew Jordan [Sun, 4 Nov 2012 01:13:37 +0000 (01:13 +0000)] 
Properly finalize prepared SQLite3 statements to prevent memory leak

The AstDB uses prepared SQLite3 statements to retrieve data from the SQLite3
database.  These statements should be finalized during Asterisk shutdown so
that the SQLite3 database can be properly closed.  Failure to finalize the
statements results in a memory leak and a failure when closing the database.

This patch fixes those issues by ensuring that all prepared statements are
properly finalized at shutdown.

(closes issue ASTERISK-20647)
Reported by: Corey Farrell
patches:
  astdb-sqlite3_close.patch uploaded by Corey Farrell (license 5909)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375761 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix memory leak when unloading XML documentation
Matthew Jordan [Sun, 4 Nov 2012 00:55:19 +0000 (00:55 +0000)] 
Fix memory leak when unloading XML documentation

This patch is a modified version of a patch originally committed for the
Asterisk 11 branch in r375756.  A portion of that patch, that fixed the
memory leak during unloading XML documentation, applies to branches 1.8
and 10 as well.

The patch for this issue was modified for these two branches.

(issue ASTERISK-20648)
Reported by: Corey Farrell
Tested by: mjordan
patches:
  xmldoc-memory_leak.patch uploaded by Corey Farrell (license 5909)
........

Merged revisions 375758 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375759 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoPrevent multiple CDR batches from conflicting when scheduling the CDR write
Matthew Jordan [Sat, 3 Nov 2012 23:51:43 +0000 (23:51 +0000)] 
Prevent multiple CDR batches from conflicting when scheduling the CDR write

The Asterisk Test Suite caught an error condition where a scheduled CDR batch
write can be deleted twice if two channels attempt to post their CDRs at the
same time.  The batch CDR mutex is locked while the CDRs are appended to the
current batch list; however, it is unlocked prior to actually scheduling the
CDR write.  As such, two threads can attempt to remove the currently scheduled
batch write at the same time, resulting in an assertion error.

This patch extends the time that the mutex is locked to encompass actually
scheduling the write.  This prevents two threads from unscheduling the
currently scheduled write at the same time.
........

Merged revisions 375727 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375728 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoDoxygen Updates
Andrew Latham [Sat, 3 Nov 2012 03:15:30 +0000 (03:15 +0000)] 
Doxygen Updates

Replace links to missing text files removed in the 1.6.x series with links to the wiki.  Doxygen can handle URLs fine, don't atempt to quote them.  Also update the wiki link in the Readme to get everyone on the same page.

(issue ASTERISK-20259)
........

Merged revisions 375698 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375699 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoThings don't need to be that const.
Richard Mudgett [Fri, 2 Nov 2012 20:53:53 +0000 (20:53 +0000)] 
Things don't need to be that const.
........

Merged revisions 375658 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375659 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoMultiple revisions 375519-375524
Richard Mudgett [Fri, 2 Nov 2012 18:42:23 +0000 (18:42 +0000)] 
Multiple revisions 375519-375524

........
  r375519 | rmudgett | 2012-10-30 16:06:15 -0500 (Tue, 30 Oct 2012) | 11 lines

  chan_misdn: Timer primitives must be handled first.

  The frm->addr is a different "address space" than the stack/instance
  address of other Lx primitives.  The test for B channel instance address
  could fail.

  Patches:
patch01_timers.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2888

  ........
  r375520 | rmudgett | 2012-10-30 16:14:58 -0500 (Tue, 30 Oct 2012) | 10 lines

  chan_misdn: Free memory in error paths and other memory leaks.

  The one line commented with BUG is not easily fixable because there is no
  de-init function one can call.

  Patches:
patch02_memory.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2888

  ........
  r375521 | rmudgett | 2012-10-30 16:38:41 -0500 (Tue, 30 Oct 2012) | 14 lines

  chan_misdn: ISDN NT L2 de-establish/establish

  * An NT-PTMP cannot de/establish L2 since it doesn't know the TEIs.
  * On NT-PTP L2 is started when L1 is finally active in handle_l1.
  * L2 deactivation logging cleanup.
  * L2 aggregate link status is unknown for NT-PTMP, show as "UNKN".
  * Removed unused functions and code for L2 handling.

  Patches:
patch03_L2estab.diff (license #6372) patch uploaded by Guenther Kelleter
Modified

  JIRA ABE-2888

  ........
  r375522 | rmudgett | 2012-10-30 16:56:14 -0500 (Tue, 30 Oct 2012) | 22 lines

  chan_misdn: Fix broken upper_id/lower_id usage.

  Sending PH prim via lower_id layer (3 or 1) simply does not work.  For TE
  (3) it returns an error (len=-6) which is not evaluated by handle_l1(), so
  the L1 layer status ends up wrong.  Instead PH must be sent via L4, only
  then does it reach L1 without an error message.

  And NT PH prims only reach L1 when they are sent to layer 2 id.
  --> use upper_id to send PH primitives.

  * Check for errors in PH_(DE)ACTIVATE | CONFIRM.
  * Debug messages are improved.

  * The lower_id is now not used for anything, except: Why is lower_id layer
  deleted when it wasn't created?  I removed this code since it looks very
  wrong.

  Patches:
patch04_l1activation.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2888

  ........
  r375523 | rmudgett | 2012-10-30 17:29:15 -0500 (Tue, 30 Oct 2012) | 31 lines

  chan_misdn: Fix loss of B channels if L1 is down.

  If you make 2 calls out an NT PTMP port which is not connected to any
  phone, the B channel associated with that call becomes unusable until
  Asterisk is restarted.

  The problem is the EVENT_SETUP is queued when L1 is not up in
  misdn_lib_send_event().  If L1 cannot be activated the event won't be
  dequeued.  It gets even worse when the call is hung up.  The queued
  EVENT_SETUP will be overwritten by an EVENT_DISCONNECT.  The reserved B
  channel then will never be freed.  If later someone connects a phone to
  the port, L1 will eventually activate and the queued EVENT_DISCONNECT is
  sent down the stack.  However, it is ignored because it is the wrong call
  state.

  The real fix would be that activation and queueing for a new SETUP is done
  by the NT stack.  But since it doesn't, the workaround must be removed
  because it doesn't always work.

  Fix: The event is no longer queued but immediately sent to the stack.  If
  L1 cannot be activated, the L3 state machine that was started by the
  EVENT_SETUP will do its work, i.e.  a timeout will release the B channel
  properly.  The SETUP possibly cannot be sent the first time but is resent
  by T303 in case L1 could be activated.

  Patches:
patch05_bchan-loss.diff (license #6372) patch uploaded by Guenther Kelleter
Modified

  JIRA ABE-2888

........
  r375524 | rmudgett | 2012-10-30 18:26:05 -0500 (Tue, 30 Oct 2012) | 13 lines

  chan_misdn: Remove some calls to exit().

  Try proper cleanup when something goes wrong in misdn_lib_init().
  Especially do not call exit()!

  * Fix memory leak because stack_destroy() does not free the stack struct.

  Patches:
patch06_cleanup-init.diff (license #6372) patch uploaded by Guenther Kelleter
Modified

  JIRA ABE-2888
........

Merged revisions 375519-375524 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
........

Merged revisions 375625 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375626 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix Wrong Result In Debug Message For SDP Origin Processing
Michael L. Young [Fri, 2 Nov 2012 17:19:33 +0000 (17:19 +0000)] 
Fix Wrong Result In Debug Message For SDP Origin Processing

While looking at some debug logs, I noticed that it was being reported that the
SDP origin line was unsupported or failed.  Upon looking into this on my local
machine, I found that I too was getting this debug message yet everything seemed
to be getting processed properly.  What was discovered is, that, the variable to
determine what is displayed in the debug message for the SDP line that was
processed, was not being set for the origin line when the result was successful.

This patch fixes this and was tested on local machine.
........

Merged revisions 375594 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375601 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoProperly extract the Body information of an EWS calendar item
Matthew Jordan [Wed, 31 Oct 2012 14:34:42 +0000 (14:34 +0000)] 
Properly extract the Body information of an EWS calendar item

Unlike all other calendar modules, res_calendar_ews fails to extract the Body
information for a calendar item.  This is due, in part, to a quirk in the
schema in the XML - not only does a CalendarItem contain a Body element, but
the CalendarItem exists as a descendant of a different Body element.  The neon
parser was erroneously skipping all Body elements.

This patch fixes that by bypassing Body elements that are not a child of
CalendarItem, and parsing the Body element out if it is a child.

Note that the original patch by Terry Wilson only needed slight modifications
to make it properly pull the Body information out; as such, while I've linked
to the patch that I uploaded for Dmitry, I've attributed the patch to Terry.

(closes issue ASTERISK-19738)
Reported by: Dmitry Burilov
Tested by: Dmitry Burilov
patches:
  calendar_ews_body_2012_10_29.diff uploaded by Terry Wilson (license 6283)
........

Merged revisions 375528 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375531 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix ConfBridge crash if no timing module loaded.
Richard Mudgett [Tue, 30 Oct 2012 19:20:28 +0000 (19:20 +0000)] 
Fix ConfBridge crash if no timing module loaded.

(closes issue ASTERISK-19448)
Reported by: feyfre
Patches:
      smfix.patch (license #6099) patch uploaded by feyfre
      Modified for coding guidelines.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375496 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agomixmonitor: Add a test event
Jonathan Rose [Tue, 30 Oct 2012 18:55:58 +0000 (18:55 +0000)] 
mixmonitor: Add a test event

This test event is being used to fix the  mixmonitor_audiohook_inherit
test.
........

Merged revisions 375484 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375485 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoconfbridge: Fix a bug which made conferences not record with AMI/CLI commands
Jonathan Rose [Tue, 30 Oct 2012 14:42:29 +0000 (14:42 +0000)] 
confbridge: Fix a bug which made conferences not record with AMI/CLI commands

When confbridge was changed to handle conference status with a state machine in
r374658. The function responsible for starting recording for a conference was
refactored with the function actually responsible for launching the recording
thread being split into a function with another name. The old function name was
still used for manually started recordings through AMI or CLI. This patch fixes
that by switching which function is used to start recording the conference.

(closes issue ASTERISK-20601)
Reported by: Vilius
Patches:
    confbridge_mixmonitor.diff uploaded by Jonathan Rose (license 6182)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375470 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoEnsure that the Queue application tracks busy members in off nominal situations
Matthew Jordan [Tue, 30 Oct 2012 02:14:01 +0000 (02:14 +0000)] 
Ensure that the Queue application tracks busy members in off nominal situations

There are a few code paths where the Queue application fails to count a paused
or in use queue member as being 'busy'.  This can cause callers to get stuck
in the Queue until a paused agent unpauses themselves.

(closes issue ASTERISK-20623)
Reported by: Bryan Walters
patches:
  app_queue.patch uploaded by Bryan Walters (license 5851)
........

Merged revisions 375450 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375451 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoPrevent resetting of NATted realtime peer address on reload.
Mark Michelson [Mon, 29 Oct 2012 21:09:18 +0000 (21:09 +0000)] 
Prevent resetting of NATted realtime peer address on reload.

If a "sip reload" is issued for a SIP peer, then his
IP address will be cleared, thus resulting in forgetting the
public IP address. Asterisk will then attempt to route SIP
traffic to the private IP address.

The fix here is to make "sip reload" ignore realtime peers
when "host = dynamic" is spotted. Realtime peers can now only
have their IP address reset if they have gone from being not
dynamic to being dynamic.

(closes issue ASTERISK-18203)
reported by daren ferreira

(closes issue ASTERISK-20572)
reported by JoshE
Patches:
fix_nat_realtime.diff uploaded by JoshE (license #6075)
........

Merged revisions 375415 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375417 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix the Park 'r' option when a channel parks itself.
Richard Mudgett [Mon, 29 Oct 2012 19:28:38 +0000 (19:28 +0000)] 
Fix the Park 'r' option when a channel parks itself.

When a channel uses the Park appliation to park itself with the 'r'
option, the channel hears music-on-hold instead of the requested ringing.

* Added a missing check for the 'r' option when a channel parks itself.

(closes issue ASTERISK-19382)
Reported by: James Stocks
Patches by: dsessions

Review: https://reviewboard.asterisk.org/r/2148/
........

Merged revisions 375388 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375389 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agochan_dahdi: Fix segfault dereferencing a NULL tech_pvt.
Richard Mudgett [Mon, 29 Oct 2012 15:51:24 +0000 (15:51 +0000)] 
chan_dahdi: Fix segfault dereferencing a NULL tech_pvt.

The tech support customer was using the AMI Redirect action shortly after
a call was placed.  While the channel tried to do an ast_read(), the
masquerade resulting from the channel redirect took place.  The masquerade
in the middle of the ast_read() resulted in the segfault.

(closes issue AST-1025)
Reported by: Trey Blancher
Patches:
      jira_ast_1025_v1.8_v2.patch (license #5621) patch uploaded by rmudgett
........

Merged revisions 375361 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375362 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoast_tls_cert script: Better response for various exit conditions to openssl
Jonathan Rose [Tue, 23 Oct 2012 16:21:22 +0000 (16:21 +0000)] 
ast_tls_cert script: Better response for various exit conditions to openssl

(closes issue ASTERISK-20260)
Reported by: Daniel O'Connor
Patches:
ast_tls_cert-update.diff uploaded by Daniel O'Connor (license 6419)
........

Merged revisions 375325 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375326 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agocore: Fix a memory leak in app.c from an early return
Jonathan Rose [Mon, 22 Oct 2012 19:56:20 +0000 (19:56 +0000)] 
core: Fix a memory leak in app.c from an early return

ast_app_group_match_get_count allocates memory with the regcomp
function and we previously forgot to free it when bailing out
due to a regex compilation failure against category.

(closes issue AST-1018)
Reported by: Guenther Kelleter
Patches:
regcomp_memleak.diff uploaded by Guenther Kelleter (license 6372)
........

Merged revisions 375299 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375300 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoGSM: Fix encoding problems with GSM
Jonathan Rose [Mon, 22 Oct 2012 17:08:49 +0000 (17:08 +0000)] 
GSM: Fix encoding problems with GSM

(closes issue ASTERISK-20457)
Reported by: Richard Miller
Patches:
code.patch uploaded by Richard Miller (license 5685)
........

Merged revisions 375272 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375273 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoapp_queue: add upgrade notes for 375216
Jonathan Rose [Thu, 18 Oct 2012 21:39:14 +0000 (21:39 +0000)] 
app_queue: add upgrade notes for 375216

Adds notes describing behavioral changes to rrmemory strategy caused by
375216

(issue AST-989)
Reported by: Thomas Arimont

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375245 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoBlocked revisions 375242
Jonathan Rose [Thu, 18 Oct 2012 21:35:20 +0000 (21:35 +0000)] 
Blocked revisions 375242

........
app_queue: add upgrade notes for 375216

Adds notes describing behavioral changes to rrmemory strategy caused by
375216

(issue AST-989)
Reported by: Thomas Arimont

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375243 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoapp_queue: Make ordering of rrmemory/rrordered persist over add/remove members
Jonathan Rose [Thu, 18 Oct 2012 21:09:29 +0000 (21:09 +0000)] 
app_queue: Make ordering of rrmemory/rrordered persist over add/remove members

Prior to this patch, adding, removing or reloading  members to rrmemory would
cause the order to become completely jumbled. Now it behaves more or less like
rrordered other than the fact that it stores the members on a hash table rather
than a linked list. This patch also prevents removal of members and member
reloads from jumbling rrordered queues.

(issue AST-989)
Reported by: Thomas Arimont
Review: https://reviewboard.asterisk.org/r/2164/
........

Merged revisions 375216 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375217 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agobuild_tools: Allow Asterisk to report git SHAs in version string.
Richard Mudgett [Thu, 18 Oct 2012 19:53:08 +0000 (19:53 +0000)] 
build_tools: Allow Asterisk to report git SHAs in version string.

Make git more attractive for managing work-in-progress.  Especially
convenient when a potential patch set needs to be tested on multiple
platforms since one can use git to keep all the test environments in sync
independent of a subversion server.

Now the Asterisk version will show the exact git SHA5 that was used when
building (still appended by "M" if there are local modifications) from a
git clone of the Asterisk repository so the developer can more easily know
what is actually under test.

You will now get this:

  $ asterisk -V
  Asterisk GIT-1698298

Instead of this:

  $ asterisk -V
  Asterisk UNKNOWN__and_probably_unsupported

This has zero impact for those not using git with the exception of an
extra test in the configure script to gather git's path.  This is
necessary to prevent "sudo make install" from failing since git may not be
in the path in make's shell environment.

(closes issue ASTERISK-20483)
Reported by: Shaun Ruffell
Patches:
      0001-build_tools-Allow-Asterisk-to-report-git-SHAs-in-ver.patch (license #5417) patch uploaded by Shaun Ruffell
      Modified
........

Merged revisions 375189 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375190 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoEnsure Asterisk fails TCP/TLS SIP calls when certificate checking fails
Kinsey Moore [Wed, 17 Oct 2012 18:58:52 +0000 (18:58 +0000)] 
Ensure Asterisk fails TCP/TLS SIP calls when certificate checking fails

When placing a call to a TCP/TLS SIP endpoint whose certificate is not
signed by a configured CA certificate, Asterisk would issue a warning
and continue to process the call as if there was not an issue with the
certificate.  Asterisk now properly fails the call if the certificate
fails verification or if the certificate does not exist when
certificate checking is enabled (the default behavior).

(closes issue ASTERISK-20559)
Reported by: kmoore

Review: https://reviewboard.asterisk.org/r/2163/
........

Merged revisions 375146 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375147 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFixes to the fd-oriented SIP TCP reads.
Walter Doekes [Tue, 16 Oct 2012 21:43:29 +0000 (21:43 +0000)] 
Fixes to the fd-oriented SIP TCP reads.

Don't crash on large user input. Allow SIP headers without space.
Optimize code a bit.

Review: https://reviewboard.asterisk.org/r/2162
........

Merged revisions 375111 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375112 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoUpdate sip_request_call SIP dial string documentation.
Walter Doekes [Tue, 16 Oct 2012 19:22:44 +0000 (19:22 +0000)] 
Update sip_request_call SIP dial string documentation.

This was missed when merging review r1859.
........

Merged revisions 375074 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375078 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoautosupport: fix bashism
Tzafrir Cohen [Tue, 16 Oct 2012 19:16:43 +0000 (19:16 +0000)] 
autosupport: fix bashism

'==' is bashism (bashspecific, fails when dash is /bin/sh). Anyway, a
'case' works better there.

(closes issue ASTERISK-20567)
Reported by: Tzafrir Cohen
........

Merged revisions 375059 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375060 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix some potential misuses of ast_str in the code.
Mark Michelson [Mon, 15 Oct 2012 21:06:42 +0000 (21:06 +0000)] 
Fix some potential misuses of ast_str in the code.

Passing an ast_str pointer by value that then calls
ast_str_set(), ast_str_set_va(), ast_str_append(), or
ast_str_append_va() can result in the pointer originally
passed by value being invalidated if the ast_str had
to be reallocated.

This fixes places in the code that do this. Only the
example in ccss.c could result in pointer invalidation
though since the other cases use a stack-allocated ast_str
and cannot be reallocated.

I've also updated the doxygen in strings.h to include
notes about potential misuse of the functions mentioned
previously.

Review: https://reviewboard.asterisk.org/r/2161
........

Merged revisions 375025 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375026 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoUpdate config.guess and config.sub: 2012-10-10
Tzafrir Cohen [Sun, 14 Oct 2012 09:40:24 +0000 (09:40 +0000)] 
Update config.guess and config.sub: 2012-10-10

Update config.guess and config.sub to revision
fb456b34ef4aa02b95dc6be69aaa66fa94a844fb from the savannah.gnu.org git
repo. Adds support for e.g. aarch64 (ARM 64bit).

config.guess:timestamp='2012-09-25'
config.sub:timestamp='2012-10-10'
........

Merged revisions 374977 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374991 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoDo not use a FILE handle when doing SIP TCP reads.
Mark Michelson [Fri, 12 Oct 2012 16:11:30 +0000 (16:11 +0000)] 
Do not use a FILE handle when doing SIP TCP reads.

This is used to solve an issue where a poll on a file
descriptor does not necessarily correspond to the readiness
of a FILE handle to be read.

This change makes it so that for TCP connections, we do a
recv() on the file descriptor instead.

Because TCP does not guarantee that an entire message or even
just one single message will arrive during a read, a loop has
been introduced to ensure that we only attempt to handle a
single message at a time. The tcptls_session_instance structure
has also had an overflow buffer added to it so that if more
than one TCP message arrives in one go, there is a place to
throw the excess.

Huge thanks goes out to Walter Doekes for doing extensive review
on this change and finding edge cases where code could fail.

(closes issue ASTERISK-20212)
reported by Phil Ciccone

Review: https://reviewboard.asterisk.org/r/2123
........

Merged revisions 374905 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374906 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix incorrect billing duration reported when batch mode is enabled
Matthew Jordan [Thu, 11 Oct 2012 15:43:19 +0000 (15:43 +0000)] 
Fix incorrect billing duration reported when batch mode is enabled

Similar to r369351, the billing duration can be skewed when batch mode is
enabled.  This happened much more rarely than the duration, as it only
occured when the call was answered (thereby indicating an actual answer
time) and immediately hung up on (indicating a billsec of 0).  Since
a billing time of '0' can either mean that the call immediately ended
or that the CDR was improperly answered, we have to use additional information
to know whether or not we can trust the CDR billsec value.  Prior to this
patch, we looked to see if we had a valid answer time.  If we did, and
billsec was zero, we used the current time to calculate what billsec value
we could from the CDR being written.  If batch mode is enabled, this will
incorrectly report a billsec value being much greater than the actual
duration of the call.

Instead of relying on the presence of an answer time to know whether or not
we can re-calculate the billsec for the CDR, we now also use the presence
of the CDR's end time to know if we need to re-calculate or whether we can
trust the billsec value that we have.  This prevents erroneous jumps in the
billsec value, while still making sure that in the worst case, some billing
time will be calculated.

(closes issue AST-1016)
Reported by: Thomas Arimont
Tested by: Thomas Arimont
........

Merged revisions 374843 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374844 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoapp_queue: Made pass connected line updates from the caller to ringing queue members.
Richard Mudgett [Wed, 10 Oct 2012 20:55:44 +0000 (20:55 +0000)] 
app_queue: Made pass connected line updates from the caller to ringing queue members.

Party A calls Party B
Party B puts Party A on hold.
Party B calls a queue.
Ringing queue member D sees Party B identification.
Party B transfers Party A to the queue.
Queue member D does not get a connected line update for Party A.
Queue member D answers the call and still sees Party B information.

However, if Party A later transfers the call to Party C then queue member
D gets a connected line update for Party C.

* Made pass connected line updates from the caller to queue members while
the queue members are ringing.

(closes issue AST-1017)
Reported by: Thomas Arimont

(closes issue ABE-2886)
Reported by: Thomas Arimont
Tested by: rmudgett

........

Merged revisions 374801 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
........

Merged revisions 374802 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374803 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix execution of 'i' extension due to uninitialized variable.
Richard Mudgett [Tue, 9 Oct 2012 22:19:26 +0000 (22:19 +0000)] 
Fix execution of 'i' extension due to uninitialized variable.

The fix for ASTERISK-18243 added code that could potentially use
dst_exten[] uninitialized.  As a result the 'i' exten may not be executed
when it should.

(closes issue ASTERISK-20455)
Reported by: Richard Miller
Patches:
      pbx-1.8.16.0.diff (license #5685) patch uploaded by Richard Miller
      Made some cosmetic modifications.
........

Merged revisions 374758 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374763 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agodahdi.conf.sample: Add description for "buffers" setting.
Richard Mudgett [Mon, 8 Oct 2012 22:29:47 +0000 (22:29 +0000)] 
dahdi.conf.sample: Add description for "buffers" setting.

This contains an edited version of the patch originally created by John
Bigelow.

(closes issue ASTERISK-14435)
Reported by: John Bigelow
Patches:
      buffers.patch (license #5091) patch uploaded by John Bigelow
      0001-dahdi.conf.sample-Add-description-for-buffers-settin.patch (license #5417) patch uploaded by Shaun Ruffell
      Modified
........

Merged revisions 374727 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374728 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix deletion of unopenable spool files.
Richard Mudgett [Mon, 8 Oct 2012 21:11:41 +0000 (21:11 +0000)] 
Fix deletion of unopenable spool files.

If scan_service() cannot open the spool file, it logs a message saying
that it will delete the file and calls remove_from_queue() to do it.
However, remove_from_queue() fails to delete the spool file because struct
outgoing has not yet been fully initialized.

* Merged allocating a new struct outgoing and init_outgoing() into
new_outgoing().  Allocation is initialization.

* Made apply_outgoing() not initialize the spool filename in struct
outgoing.

* Made apply_outgoing() call ast_trim_blanks() and ast_skip_blanks()
rather than manually inlining them.

* Reduced indentation levels in apply_outgoing().

* Fixed a garbled comment in remove_from_queue().

* Reworked scan_service() to simplify it.

(closes issue ASTERISK-17231)
Reported by: David Chappell
Patches:
      spool_open_failure.diff (license #4997) patch uploaded by David Chappell
      Started with this patch.
........

Merged revisions 374686 from http://svn.asterisk.org/svn/asterisk/branches/1.8

* Fixed some memory leaks on off nominal paths in init_outgoing() when
merging into the new_outgoing() function dealing with o->capabilities.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374695 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoResolve issues in ConfBridge regarding marked, waitmarked, and unmarked users
Matthew Jordan [Mon, 8 Oct 2012 13:46:27 +0000 (13:46 +0000)] 
Resolve issues in ConfBridge regarding marked, waitmarked, and unmarked users

Thank's to Neil Tallim (flan)'s tireless testing, issue reporting, and patches
it became clear that app_confbridge had some complex logic in how it handled
interactions between marked, waitmarked, and unmarked users.  In particular,
there were some areas in which the interactions between the users resulted
in inconsistent behavior, and app_confbridge was missing logic in how to handle
some corner cases.  Some areas included:
 * Poor handling of mixing unmarked and waitmarked users
 * Inconsistencies in how MOH and muting was applied to various users
 * Handling of various announcements for different user profile options
flan's patches seem to fix the various issues, but highlighted how hard the
code could be to maintain.  In an attempt to make things easier to maintain and
to more fully enumerate the various cases that exist, this patch breaks up the
logic into a state machine-like setup.

Please note that the various state transitioned are documented on the Asterisk
wiki:

https://wiki.asterisk.org/wiki/display/AST/Confbridge+state+changes

Review: //https://reviewboard.asterisk.org/r/2072/

Note that for the following issues, mjordan uploaded the patch, although it
was written by twilson.  Any contributor license discrepency is due to that.

(closes issue ASTERISK-19562)
Reported by: flan
Tested by: flan, mjordan, jrose
patches:
  bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by twilson (license 6283)

(closes issue ASTERISK-19726)
Reported by: flan
Tested by: flan
patches:
  bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by twilson (license 6283)

(closes issue ASTERISK-20181)
Reported by: Jonathan White
Tested by: Jonathan White
patches:
  bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by twilson (license 6283)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374652 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoMultiple revisions 374570,374581
David M. Lee [Fri, 5 Oct 2012 20:23:14 +0000 (20:23 +0000)] 
Multiple revisions 374570,374581

........
  r374570 | dlee | 2012-10-05 15:14:41 -0500 (Fri, 05 Oct 2012) | 22 lines

  Improve AMI long line error handling

  In AMI's parser, when it receives a long line (> 1024 characters), it discards
  that line, but continues to process the message normally.

  Typically, this is not a problem because a) who has lines that long and b)
  usually a discarded line results in an invalid message. But if that line is
  specifying an optional field, then the message will be processed, you get a
  'Response: Success', but things don't work the way you expected them to.

  This patch changes the behavior when a line-too-long parse error occurs.

  * Changes the log message to avoid way-too-long (and truncated anyways) log
    messages
  * Adds a 'parsing' status flag to Response: Success
  * Sets parsing = MESSAGE_LINE_TOO_LONG if, well, a line is too long
  * Responds with an appropriate error if parsing != MESSAGE_OKAY

  (closes issue AST-961)
  Reported by: John Bigelow
  Review: https://reviewboard.asterisk.org/r/2142/
........
  r374581 | dlee | 2012-10-05 15:20:28 -0500 (Fri, 05 Oct 2012) | 1 line

  I've committed too much. Reverting part of r374570.
........

Merged revisions 374570,374581 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374586 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoMerged revisions 374515-374535 from
Richard Mudgett [Fri, 5 Oct 2012 18:25:20 +0000 (18:25 +0000)] 
Merged revisions 374515-374535 from
https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier

................
  r374515 | rmudgett | 2012-10-04 17:52:36 -0500 (Thu, 04 Oct 2012) | 10 lines

  chan_misdn: Remove some deadcode

  * Made setup_bc() static.

  Patches:
patch1_unused-code.diff (license #6372) patch uploaded by Guenther Kelleter
Modified

  JIRA ABE-2882

................
  r374516 | rmudgett | 2012-10-04 18:01:01 -0500 (Thu, 04 Oct 2012) | 7 lines

  chan_misdn: Remove unused bchan states

  Patches:
patch2_unused-states.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374517 | rmudgett | 2012-10-04 18:17:51 -0500 (Thu, 04 Oct 2012) | 16 lines

  chan_misdn: Remove unnecessary null pointer checks and checks for stack->nt

  * cleanup_bc() is always called with valid bc (or it would've crashed
  before).

  * Value of stack->nt is known in advance at some places.

  * Rename handle_event() to handle_event_te(), handle_frm() to
  handle_frm_te().

  Patches:
patch3_checks.diff (license #6372) patch uploaded by Guenther Kelleter
Modified

  JIRA ABE-2882

................
  r374518 | rmudgett | 2012-10-04 18:21:59 -0500 (Thu, 04 Oct 2012) | 7 lines

  chan_misdn: Fix spelling in log messages

  Patches:
patch4_spelling.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374519 | rmudgett | 2012-10-04 18:31:59 -0500 (Thu, 04 Oct 2012) | 15 lines

  chan_misdn: Don't cleanup a bc twice.

  In handle_frm_te() after calling misdn_lib_send_event(bc,
  EVENT_RELEASE_COMPLETE) bc is emptied, cleaned and set not in use,
  although misdn_lib_send_event() already did the same.  This is bad.  When
  it's not in use we are not allowed to touch it.

  * Moved log message in front of the resulting actions and fixed it to
  match the case.

  Patches:
patch5_bccleanup.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374520 | rmudgett | 2012-10-04 18:43:56 -0500 (Thu, 04 Oct 2012) | 12 lines

  chan_misdn: Fix memory leaks, bc, chan not cleaned up etc., really bad stuff.

  * Fix return codes of cb_events() for EVENT_SETUP to use caller's cleanup
  mechanisms.

  * Move cl_queue_chan() call after bearer check.

  Patches:
patch6_leaks.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374521 | rmudgett | 2012-10-04 18:48:38 -0500 (Thu, 04 Oct 2012) | 11 lines

  chan_misdn: We must initialize cause on sending a DISCONNECT.

  We must initialize cause on sending a DISCONNECT, so it is later correctly
  indicated to ast_channel in case the answer (RELEASE/RELEASE_COMPLETE)
  does not include one.

  Patches:
patch7_hangupcause.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374522 | rmudgett | 2012-10-04 19:03:56 -0500 (Thu, 04 Oct 2012) | 7 lines

  chan_misdn: Remove unused code for upqueue

  Patches:
patch8_unused-upqueue.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374523 | rmudgett | 2012-10-04 19:11:50 -0500 (Thu, 04 Oct 2012) | 7 lines

  chan_misdn: Improve debugging (port number, messages fixed, dups removed)

  Patches:
patch9_debug.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374533 | rmudgett | 2012-10-05 12:17:18 -0500 (Fri, 05 Oct 2012) | 8 lines

  chan_misdn: Better debug: we can print_bc_info even if there's no ast leg.

  Patches:
patch10_debug-bc-2.diff (license #6372) patch uploaded by Guenther Kelleter
Modified.

  JIRA ABE-2882

................
  r374534 | rmudgett | 2012-10-05 12:34:10 -0500 (Fri, 05 Oct 2012) | 16 lines

  chan_misdn: setup_bc() is called too early for an incoming SETUP on TE.

  This prevents the B channel from being setup for HDLC mode when requested
  by the bearer capability and config option hdlc=yes.  It violates
  ETS300102 Ch.5.2.3.2: "The user, in any case, must not connect to the
  channel until a CONNECT ACKNOWLEDGE message has been received."

  * Call setup_bc() on receipt of CONNECT_ACKNOWLEGDE for PTMP, and on first
  response to SETUP for PTP.

  Patches:
abe-2881-2.diff (license #6372) patch uploaded by Guenther Kelleter
Modified.

  JIRA ABE-2881

................
  r374535 | rmudgett | 2012-10-05 12:41:05 -0500 (Fri, 05 Oct 2012) | 2 lines

  chan_misdn: Remove some more deadcode.

................
........

Merged revisions 374536 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374537 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agodsp.c User Configurable DTMF_HITS_TO_BEGIN and DTMF_MISSES_TO_END
Alec L Davis [Thu, 4 Oct 2012 20:17:16 +0000 (20:17 +0000)] 
dsp.c User Configurable DTMF_HITS_TO_BEGIN and DTMF_MISSES_TO_END

Instead of a recompile, allow values to be adjusted in dsp.conf

For binary distributions allows easy adjustment for wobbly GSM calls, and other reasons.

Defaults to DTMF_HITS_TO_BEGIN=2 and DTMF_MISSES_TO_END=3

(closes issue ASTERISK-17493)
Reported by: alecdavis
Tested by: alecdavis
alecdavis (license 585)

Review https://reviewboard.asterisk.org/r/2144/
........

Merged revisions 374479 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374481 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agodsp.c fix incorrect DTMF Digit_Duration.
Alec L Davis [Thu, 4 Oct 2012 20:05:14 +0000 (20:05 +0000)] 
dsp.c fix incorrect DTMF Digit_Duration.

it's always short by 'hits_to_begin*DTMF_GSIZE', or 25.5ms if hitstobegin=2

(issue ASTERISK-16003)
Tested by: alecdavis
alecdavis (license 585)

Review https://reviewboard.asterisk.org/r/2145/
........

Merged revisions 374475 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374476 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix a regression from direct media ACLs where the directrtpsetup option no longer...
Joshua Colp [Thu, 4 Oct 2012 17:44:38 +0000 (17:44 +0000)] 
Fix a regression from direct media ACLs where the directrtpsetup option no longer works.

A check was added for direct media ACLs that immediately forbid remote bridging if there
was no bridged channel. This caused directrtpsetup to no longer function as it needs this
information before bridging actually occurs.

Logic has now been adjusted so if there is no bridged channel a remote bridge will still
be attempted.

(closes issue ASTERISK-20511)
Reported by: kristoff

Review: https://reviewboard.asterisk.org/r/2146/
........

Merged revisions 374456 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374457 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix DBDelTree error codes for AMI, CLI and AGI
David M. Lee [Thu, 4 Oct 2012 15:37:11 +0000 (15:37 +0000)] 
Fix DBDelTree error codes for AMI, CLI and AGI

The AMI DBDelTree command will return Success/Key tree deleted successfully even
if the given key does not exist. The CLI command 'database deltree' had a
similar problem, but was saved because it actually responded with '0 database
entries removed'. AGI had a slightly different error, where it would return
success if the database was unavailable.

This came from confusion about the ast_db_deltree retval, which is -1 in the
event of a database error, or number of entries deleted (including 0 for
deleting nothing).

* Changed some poorly named res variables to num_deleted
* Specified specific errors when calling ast_db_deltree (database unavailable
  vs. entry not found vs. success)
* Fixed similar bug in AGI database deltree, where 'Database unavailable'
  results in successful result

(closes issue AST-967)
Reported by: John Bigelow
Review: https://reviewboard.asterisk.org/r/2138/
........

Merged revisions 374426 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374427 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agodsp.c User configuration of DTMF_NORMAL_TWIST and DTMF_REVERSE_TWIST values
Alec L Davis [Thu, 4 Oct 2012 04:41:19 +0000 (04:41 +0000)] 
dsp.c User configuration of DTMF_NORMAL_TWIST and DTMF_REVERSE_TWIST values

Asterisk's DTMF Specifications are based on AT&T specs, which may not be compatible in other countries.

Various countries have different specifications for the maximum power level differences
between the DTMF low group and high group of frequencies.

Power level difference between frequencies for different Administrations/RPOAs
 NTT        = Max. 5 dB
 AT&T       = 4dB(reverse) to 8dB(normal)
 Danish     = Max. 6 dB
 Australian = Max. 10 dB
 Brazilian  = Max. 9 dB
 ETSI       = Max. 6 dB from ETSI ES 201 235-3 V1.3.1 (2006-03)

Now allow 4 variables to be individually configured in dsp.conf, with reasonable min/max of 2dB to 20dB.
Default is AT&T specifications

Add's the following variables to dsp.conf
;dtmf_normal_twist=6.31
;dtmf_reverse_twist=2.51
;relax_dtmf_normal_twist=6.31
;relax_dtmf_reverse_twist=3.98

(closes issue ASTERISK-20442)
Reported by: tbsky
Tested by: tbsky,alecdavis

alecdavis (license 585)

Review https://reviewboard.asterisk.org/r/2141/
........

Merged revisions 374384 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374385 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years ago_dsp_init: bring inline with trunk
Alec L Davis [Thu, 4 Oct 2012 04:18:44 +0000 (04:18 +0000)] 
_dsp_init: bring inline with trunk

preparation for clean merge of DTMF TWIST patch

No functional changes, just style.

alecdavis (license 585)
Reported by: Alec Davis
Tested by: alecdavis

related https://reviewboard.asterisk.org/r/2141
........

Merged revisions 374365 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374370 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoCheck for presence of buddy in info/dinfo handlers
Matthew Jordan [Thu, 4 Oct 2012 02:11:05 +0000 (02:11 +0000)] 
Check for presence of buddy in info/dinfo handlers

The res_jabber resource module uses the ASTOBJ library for managing its ref
counted objects.  After calling ASTOBJ_CONTAINER_FIND to locate a buddy object,
the pointer to the object has to be checked to see if the buddy existed.
Prior to this patch, the buddy object was not checked for NULL; with this patch
in both aji_client_info_handler and aji_dinfo_handler the pointer is checked
before used and, if no buddy object was found, the handlers return an error
code.

This patch does not take the approach that our JID can be used to log in from
another resource.  If that approach is desired, an improvement could be made to
this patch to create the buddy on the fly.  This patch seeks only to prevent
Asterisk from crashing.

Note that multiple people have proposed patches for this issue; the patch being
committed here is based on those.

(closes issue ASTERISK-19532)
Reported by: Karsten Wemheuer
Tested by: Byron Clark
patches:
  fix-jabber uploaded by Karsten Wemheuer (license #5930)
  xmpp_no_crash_with_ejabberd.patch uploaded by Byron Clark (license #6157)

(closes issue ASTERISK-19557)
Reported by: ulugutz
........

Merged revisions 374335 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374336 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoBlocked revisions 374316
Matthew Jordan [Wed, 3 Oct 2012 18:59:06 +0000 (18:59 +0000)] 
Blocked revisions 374316

........
Destroy the generic_monitors container after the core_instances in ccss

For each item in core_instances disposed of in the shutdown of ccss, any
generic monitor instances referenced by the objects will be removed from
generic_monitors during their destruction.  Hilarity ensues if
generic_monitors no longer exists.

Thanks to the Asterisk Test Suite's generic_ccss test for complaining loudly
when it ran into this.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374317 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoDestroy the generic_monitors container after the core_instances in ccss
Matthew Jordan [Wed, 3 Oct 2012 17:25:36 +0000 (17:25 +0000)] 
Destroy the generic_monitors container after the core_instances in ccss

For each item in core_instances disposed of in the shutdown of ccss, any
generic monitor instances referenced by the objects will be removed from
generic_monitors during their destruction.  Hilarity ensues if
generic_monitors no longer exists.

Thanks to the Asterisk Test Suite's generic_ccss test for complaining loudly
when it ran into this.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374300 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoEnsure Shutdown AMI event is still fired during Asterisk shutdown
Matthew Jordan [Tue, 2 Oct 2012 21:12:30 +0000 (21:12 +0000)] 
Ensure Shutdown AMI event is still fired during Asterisk shutdown

Richard pointed out that having the manager dispose of itself gracefully
during shutdown meant that the Shutdown event will no longer get fired.
This patch moves the AMI event just prior to running the atexit callbacks.
........

Merged revisions 374230 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374231 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix findings from check-in on r374177
Matthew Jordan [Tue, 2 Oct 2012 17:10:04 +0000 (17:10 +0000)] 
Fix findings from check-in on r374177

Richard pointed out two problems with the check-in from r374177:
* The ast_msg_shutdown function declaration doesn't match the prototype
  in main/message.c.
* The ref/alloc function usage in astobj2 (in 11+) can use the ao2_t_* variants
  of the functions to allow the REF_DEBUG flag to enable/disable their debug
  counterparts.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374210 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix a variety of ref counting issues
Matthew Jordan [Tue, 2 Oct 2012 01:09:39 +0000 (01:09 +0000)] 
Fix a variety of ref counting issues

This patch resolves a number of ref leaks that occur primarily on Asterisk
shutdown.  It adds a variety of shutdown routines to core portions of
Asterisk such that they can reclaim resources allocate duringd initialization.

Review: https://reviewboard.asterisk.org/r/2137
........

Merged revisions 374177 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374178 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoapp_queue: Support persisting and loading of long member lists.
Sean Bright [Mon, 1 Oct 2012 17:52:38 +0000 (17:52 +0000)] 
app_queue: Support persisting and loading of long member lists.

Greenlight in #asterisk brought up that he was receiving an error message "Could
not create persistent member string, out of space" when running app_queue in
Asterisk 10.  dump_queue_members() made an assumption that 8K would be enough to
store the generated string, but with queues that have large member lists this is
not always the case.  This patch removes the limitation and uses ast_str instead
of a fixed sized buffer.

The complicating factor comes from the fact that ast_db_get requires a buffer
and buffer size argument, which doesn't let us pull back more than what we pass
in, so I introduced a new ast_db_get_allocated() which returns an ast_strdup()'d
copy of the value from astdb.

As an aside, I did some testing on the maximum size of data that we can store in
the BDB library we distribute and was able to store a 10MB string and retrieve
it with no problems, so I feel this is a safe patch.

Review: https://reviewboard.asterisk.org/r/2136/
........

Merged revisions 374108 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374135 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoUse ast_copy_string instead of strncpy to guarantee a NUL terminated string.
Sean Bright [Mon, 1 Oct 2012 17:27:22 +0000 (17:27 +0000)] 
Use ast_copy_string instead of strncpy to guarantee a NUL terminated string.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374132 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agores_jabber: Remove CLI command 'jabber test'
Jonathan Rose [Fri, 28 Sep 2012 19:21:10 +0000 (19:21 +0000)] 
res_jabber: Remove CLI command 'jabber test'

The opinion of development was that it is both improper to have Matt's
personal email address used in the source and that the command wouldn't
be useful without it.

(closes issue AST-467)
Reported by: Malcolm Davenport
........

Merged revisions 374032 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374045 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoUpdate documentation to make it explicit that "stream file" will not restart musiconhold.
Joshua Colp [Fri, 28 Sep 2012 12:15:48 +0000 (12:15 +0000)] 
Update documentation to make it explicit that "stream file" will not restart musiconhold.

(issue ASTERISK-17367)
Reported by: oej
........

Merged revisions 373989 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@373990 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoFix SendDTMF crash and channel reference leak using channel name parameter.
Richard Mudgett [Thu, 27 Sep 2012 22:12:47 +0000 (22:12 +0000)] 
Fix SendDTMF crash and channel reference leak using channel name parameter.

The SendDTMF channel name parameter has two issues.
1) Crashes if the channel name does not exist.
2) Leaks a channel reference if the channel is the current channel.
Problem introduced by ASTERISK-15956.

* Updated SendDTMF documentation.

* Renamed app to senddtmf_name and tweaked the type.
........

Merged revisions 373945 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@373946 65c4cc65-6c06-0410-ace0-fbb531ad65f3

12 years agoloader: Ensure dependent modules are properly initialized.
Joshua Colp [Thu, 27 Sep 2012 16:50:46 +0000 (16:50 +0000)] 
loader: Ensure dependent modules are properly initialized.

If an Asterisk module specifies a dependency in ast_module_info.nonoptreq, it
is possible for Asterisk to skip calling the modules's .load function.
Asterisk was loading and linking the module via load_dynamic_module() but was
not adding the module to the resource_heap. Therefore the module was not
initialized based on it's priority along with the other modules in the heap.

Now use load_resource() instead of load_dynamic_module() for non-optional
requirement. This will add the module to the resource_heap so the module can
be properly initialized in the correct order.

This is required if there are any module global data structures initialized in
the .load() callback for the module on platforms which do not support weak
references.

(issue ASTERISK-20439)
Reported by: sruffell
Patches:
     0001-loader-Ensure-dependent-modules-are-properly-initial.patch uploaded by sruffell (license 5417)
........

Merged revisions 373909 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@373910 65c4cc65-6c06-0410-ace0-fbb531ad65f3