Commit Graph

23 Commits

Author SHA1 Message Date
Automerge script 675914bb17 Merged revisions 378322 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378322 | mjordan | 2013-01-02 12:11:59 -0600 (Wed, 02 Jan 2013) | 33 lines
  
  Prevent exhaustion of system resources through exploitation of event cache
  
  Asterisk maintains an internal cache for devices in the event subsystem. The
  device state cache holds the state of each device known to Asterisk, such that
  consumers of device state information can query for the last known state for
  a particular device, even if it is not part of an active call. The concept of
  a device in Asterisk can include entities that do not have a physical
  representation. One way that this occurred was when anonymous calls are allowed
  in Asterisk. A device was automatically created and stored in the cache for
  each anonymous call that occurred; this was possible in the SIP and IAX2
  channel drivers and through channel drivers that utilized the
  res_jabber/res_xmpp resource modules (Gtalk, Jingle, and Motif). These devices
  are never removed from the system, allowing anonymous calls to potentially
  exhaust a system's resources.
  
  This patch changes the event cache subsystem and device state management to
  no longer cache devices that are not associated with a physical entity.
  
  (issue ASTERISK-20175)
  Reported by: Russell Bryant, Leif Madsen, Joshua Colp
  Tested by: kmoore
  patches:
    event-cachability-3.diff uploaded by jcolp (license 5000)
  ........
  
  Merged revisions 378303 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 378320 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 378321 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-02 18:20:03 +00:00
Automerge script 5af578c022 Merged revisions 378000-378002 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378000 | seanbright | 2012-12-13 15:20:32 -0600 (Thu, 13 Dec 2012) | 8 lines
  
  Make generate_exchange_uuid() always return the passed ast_str pointer.
  
  I changed this code earlier to return NULL if it wasn't able to generate a UUID,
  whereas the earlier code would always return the ast_str that was passed in.
  Switch back to returning the ast_str, only set it to the empty string instead if
  UUID generation fails.  We still do a validity check later which will catch this
  and blow up if necessary.
................
  r378001 | wedhorn | 2012-12-13 15:25:31 -0600 (Thu, 13 Dec 2012) | 9 lines
  
  Minor fixes for chan_skinny
  
  Whitespace, change SUBSTATE_ONHOOK to correct SKINNY_ONHOOK and 
  correct len of 2 strcmp in skinny_setdebug(). (see opticron's review
  on https://reviewboard.asterisk.org/r/2240/)
  ........
  
  Merged revisions 377991 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r378002 | rmudgett | 2012-12-13 15:28:15 -0600 (Thu, 13 Dec 2012) | 35 lines
  
  confbridge: Fix MOH on simultaneous user entry to a new conference.
  
  When two users entered a new conference simultaneously, one of the callers
  hears MOH.  This happened if two unmarked users entered simultaneously and
  also if a waitmarked and a marked user entered simultaneously.
  
  * Created a confbridge internal MOH API to eliminate the inlined MOH
  handling code.  Note that the conference mixing bridge needs to be locked
  when actually starting/stopping MOH because there is a small window
  between the conference join unsuspend MOH and actually joining the mixing
  bridge.
  
  * Created the concept of suspended MOH so it can be interrupted while
  conference join announcements to the user and DTMF features can operate.
  
  * Suspend any MOH until the user is about to actually join the mixing
  bridge of the conference.  This way any pre-join file playback does not
  need to worry about MOH.
  
  * Made post-join actions only play deferred entry announcement files.
  Changing the user/conference state during that time is not protected or
  controlled by the state machine.
  
  (closes issue ASTERISK-20606)
  Reported by: Eugenia Belova
  Tested by: rmudgett
  
  Review: https://reviewboard.asterisk.org/r/2232/
  ........
  
  Merged revisions 377992 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377993 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-13 22:17:36 +00:00
Automerge script 62981d2032 Merged revisions 377356 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377356 | rmudgett | 2012-12-06 18:00:39 -0600 (Thu, 06 Dec 2012) | 30 lines
  
  confbridge: Fix some resource leaks on conference teardown.
  
  * Made destroy_conference_bridge() destroy a missed ast_mutex_t and ast_cond_t.
  
  * Made join_conference_bridge() init the ast_mutex_t's and ast_cond_t so
  destroy_conference_bridge() can destroy them unconditionally.
  
  * Made join_conference_bridge() abort if the new conference could not be
  added to the conferences container.
  
  * Made leave_conference() discard any post-join actions if
  join_conference_bridge() had to abort early.
  
  * Made the join_conference_bridge() diagnostic messages better describe
  what happened.
  
  * Renamed leave_conference_bridge() to leave_conference() and made it only
  take a conference user pointer.  The conference pointer was redundant.
  
  * Made conf_bridge_profile_copy() use struct copy instead of memcpy().
  
  * No need to lock the conference in start_conf_record_thread() since all
  of the callers already have it locked.
  ........
  
  Merged revisions 377354 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377355 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-07 00:19:29 +00:00
Automerge script 02e9f9fdd7 Merged revisions 377229 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377229 | rmudgett | 2012-12-04 19:11:26 -0600 (Tue, 04 Dec 2012) | 31 lines
  
  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().
  
  (closes issue ASTERISK-20655)
  Reported by: Birger "WIMPy" Harzenetter
  ........
  
  Merged revisions 377227 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377228 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-05 01:19:26 +00:00
Automerge script dd85c232f0 Merged revisions 376416 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r376416 | mjordan | 2012-11-18 08:31:32 -0600 (Sun, 18 Nov 2012) | 13 lines
  
  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.
  ........
  
  Merged revisions 376414 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 376415 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-11-18 15:20:26 +00:00
Matthew Jordan be906d6318 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)
........

Merged revisions 374652 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 374657 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-10-08 18:48:34 +00:00
Mark Michelson d819508bae Don't destroy confbridge config when error is encountered during a reload.
Not panicking means that the old config is kept.

(closes issue ASTERISK-20458)
Reported by: Leif Madsen
Patches:
	ASTERISK-20458.patch uploaded by Mark Michelson(license #5049)
Tested by Leif Madsen
........

Merged revisions 374106 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-10-01 16:26:23 +00:00
Matthew Jordan 8018b879a2 Clean up doxygen warnings
This patch fixes numerous doxygen warnings across Asterisk.  It also updates
the makefile to regenerate the doxygen configuration on the local system
before running doxygen to help prevent warnings/errors on the local system.

Much thanks to Andrew for tackling one of the Asterisk janitor projects!

(issue ASTERISK-20259)
Reported by: Andrew Latham
Patches:
  doxygen_partial.diff uploaded by Andrew Latham (license 5985)
  make_progdocs.diff uploaded by Andrew Latham (license 5985)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-08-30 14:23:28 +00:00
Terry Wilson 13427db64c Fix segfault introduced by conversion to ACO API
The value "none" is specified in the config file as a valid value for
the "video_mode" option. The code prior to the ACO conversion did not
check for "none", but just ignored it and relied on the default zero
value. The parsing with ACO is more strict, so without handling
"none" specifically, parsing would fail.

When parsing failed, but the module loaded anyway, the config info
would never be stored, and one place in the code did not check for
this case and would segfault. It was also possible that the
aco_info struct's internals would be destroyed and used as well.

This patch keeps the module from loading after parse failures, adds
the "none" option to "video_mode", registers CLI functions only
after parsing has completed, checks the config data for NULL before
accessing it, and returns -1 on some allocation failures when
initializing.


(closes issue ASTERISK-20159)
Reported by: Birger "WIMPy" Harzenetter
Tested by: Birger "WIMPy" Harzenetter
Patches:
    confbridge_fix3.txt uploaded by Terry Wilson


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-07-21 13:25:26 +00:00
Terry Wilson 2f674bcdd1 Convert app_confbridge to use the config options framework
Review: https://reviewboard.asterisk.org/r/2024/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-07-19 23:21:40 +00:00
Kevin P. Fleming 166b4e2b30 Multiple revisions 369001-369002
........
  r369001 | kpfleming | 2012-06-15 10:56:08 -0500 (Fri, 15 Jun 2012) | 11 lines
  
  Add support-level indications to many more source files.
  
  Since we now have tools that scan through the source tree looking for files
  with specific support levels, we need to ensure that every file that is
  a component of a 'core' or 'extended' module (or the main Asterisk binary)
  is explicitly marked with its support level. This patch adds support-level
  indications to many more source files in tree, but avoids adding them to
  third-party libraries that are included in the tree and to source files
  that don't end up involved in Asterisk itself.
........
  r369002 | kpfleming | 2012-06-15 10:57:14 -0500 (Fri, 15 Jun 2012) | 3 lines
  
  Add a script to enable finding source files without support-levels defined.
........

Merged revisions 369001-369002 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 369005 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-06-15 16:20:16 +00:00
Michael L. Young 2cbcbc7f6b Fix configuring custom sound_leader_has_left in confbridge.conf
The configuration option to specify a custom sound_leader_has_left file for a
conference bridge was not being parsed.  This patch fixes it so that a custom
sound file will now be used.

(closes issue ASTERISK-19771)
Reported by: Pawel Kuzak
Tested by: Pawel Kuzak, Michael L. Young
Patches: leaderhasleft_sound.dpatch uploaded by Pawel Kuzak (license 6380)

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

Merged revisions 364536 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@364537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-29 02:23:22 +00:00
Terry Wilson dd9405db05 Fix setting CDR variables in the hangup extension
A previous CDR fix for setting CDR variables during a bridge via
custom dialplan features broke setting CDR variables in the
hangup extension. This patch fixes the issue.

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

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

Merged revisions 358989 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@360724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-28 19:39:24 +00:00
Joshua Colp f5fda0eb74 Transition app_page to using app_confbridge internally for the conference bridge portion of paging. This also adds a new 'announcement' option to ConfBridge user profiles.
Review: https://reviewboard.asterisk.org/r/1754/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@358730 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-10 20:06:46 +00:00
Sean Bright 99bd5b1e2e Eliminate a bunch of shadow warnings.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@358647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-08 17:02:52 +00:00
Matthew Jordan baa7f14aab Fix for ConfBridge config parser unlocking channel mutex too many times
When looking up a ConfBridge profile, the config parser would, if it
found a channel datastore on the channel requesting the bridge profile,
unlock the channel mutex twice.  Since that's a little aggressive,
it now only unlocks it once.

(closes issue ASTERISK-19042)
Reported by: Matt Jordan
Tested by: Matt Jordan
Patches: 
  19042 uploaded by David Vossel (license 5628)
........

Merged revisions 349619 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-04 22:23:28 +00:00
Paul Belanger 51ce2669af Add missing sound_only_one config variable
(closes issue ASTERISK-18895)
Reported by: zvision
Patches:
        conf_config_parser.diff (license #5755) patch uploaded by zvision
........

Merged revisions 345882 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@345883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-22 16:41:58 +00:00
Matthew Jordan 279873e8eb Add admin toggle mute all and participant count menu options to app_confbridge
This patch adds two new menu features to app_confbridge, admin_toggle_menu_
participants and participant_count.  The admin action will globally mute /
unmute all non-admin participants on a converence, while the participant
count simply exposes the existing participant count function to the
conference bridge menu.

This also adds configuration options to change the sound played when the
conference is globally muted / unmuted, as well as the necessary config
hooks to place these functions in the DTMF menus.

(closes issue ASTERISK-18204)
Reported by: Kevin Reeves
Tested by: Matt Jordan
Patches:
  app_confbridge.c.patch.txt, conf_config_parser.c.patch.txt, 
  confbridge.h.patch.txt uploaded by Kevin Reeves (license 6281)

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@345560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-17 18:09:13 +00:00
David Vossel 17860b70e4 Updates confbridge.conf video documentation and adds dtmf action for releasing video src.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-07 17:24:57 +00:00
David Vossel 1339a0a535 Video support for ConfBridge.
Review: https://reviewboard.asterisk.org/r/1288/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-30 20:33:15 +00:00
Kinsey Moore 40ea500078 Config inheritance doesn't work with ConfBridge() menu definitions
Current behavior in ConfBridge menu definitions is that first definition takes
precedence, even in templated situations.  This change allows inheritance and
overriding to work as expected so that the last definition takes precedence.

(closes ASTERISK-17986)
Review: https://reviewboard.asterisk.org/r/1267/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-13 20:44:59 +00:00
Kinsey Moore 42cb4cf514 MOH for only user not working with ConfBridge
This adds the playing_moh flag to the conference_bridge_user struct that
signifies when MOH should be playing so code doesn't have to guess whether
MOH is playing.

This change also adds the necessary checking to ensure that MOH continues
playing for a single user in a conference after the join sound is played when
configured to do so.

(closes ASTERISK-17988)
Review: https://reviewboard.asterisk.org/r/1263/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-13 14:38:57 +00:00
David Vossel 7f23115ad2 New HD ConfBridge conferencing application.
Includes a new highly optimized and customizable
ConfBridge application capable of mixing audio at
sample rates ranging from 8khz-192khz.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@314598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-21 18:11:40 +00:00