summaryrefslogtreecommitdiff
path: root/apps/app_confbridge.c
AgeCommit message (Collapse)Author
2014-03-20app_confbridge: Fix bug - users with startmuted set don't start mutedJonathan Rose
(closes issue ASTERISK-23461) Reported by: Chico Manobela Review: https://reviewboard.asterisk.org/r/3373/ ........ Merged revisions 410965 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 410966 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@410967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-07uniqueid: channel linkedid, ami, ari object creation with id'sScott Griepentrog
Much needed was a way to assign id to objects on creation, and much change was necessary to accomplish it. Channel uniqueids and linkedids are split into separate string and creation time components without breaking linkedid propgation. This allowed the uniqueid to be specified by the user interface - and those values are now carried through to channel creation, adding the assignedids value to every function in the chain including the channel drivers. For local channels, the second channel can be specified or left to default to a ;2 suffix of first. In ARI, bridge, playback, and snoop objects can also be created with a specified uniqueid. Along the way, the args order to allocating channels was fixed in chan_mgcp and chan_gtalk, and linkedid is no longer lost as masquerade occurs. (closes issue ASTERISK-23120) Review: https://reviewboard.asterisk.org/r/3191/ ........ Merged revisions 410157 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@410158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-02-10ConfBridge: Correct prompt playback targetKinsey Moore
Currently, when the first marked user enters the conference that contains waitmarked users, a prompt is played indicating that the user is being placed into the conference. Unfortunately, this prompt is played to the marked user and not the waitmarked users which is not very helpful. This patch changes that behavior to play a prompt stating "The conference will now begin" to the entire conference after adding and unmuting the waitmarked users since the design of confbridge is not conducive to playing a prompt to a subset of users in a conference in an asynchronous manner. (closes issue PQ-1396) Review: https://reviewboard.asterisk.org/r/3155/ Reported by: Steve Pitts ........ Merged revisions 407857 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 407858 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@407859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-01-22ConfBridge: Fix channel parameter documentationKinsey Moore
Confbridge AMI and CLI commands for mute, unmute, and setting the single video source can accept channel prefixes in lieu of a full channel name, but documentation states only that it is required and is a channel name. This corrects the documentation. (closes issue PQ-1397) Reported by: Steve Pitts ........ Merged revisions 406217 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 406223 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@406224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-01-09app_confbridge: Fix crash caused when waitmarked/marked users leave togetherMatthew Jordan
When waitmarked users join a ConfBridge, the conference state is transitioned from EMPTY -> INACTIVE. In this state, the users are maintined in a waiting users list. When a marked user joins, the ConfBridge conference transitions from INACTIVE -> MULTI_MARKED, and all users are put onto the active list of users. This process works correctly. When the marked user leaves, if they are the last marked user, the MULTI_MARKED state does the following: (1) It plays back a message to the bridge stating that the leader has left the conference. This requires an unlocking of the bridge. (2) It moves waitmarked users back to the waiting list (3) It transitions to the appropriate state: in this case, INACTIVE However, because it plays the prompt back to the bridge before moving the users and before finishing the state transition, this creates a race condition: with the bridge unlocked, waitmarked users who leave the conference (or are kicked from it) can cause a state transition of the bridge to another state before the conference is transitioned to the INACTIVE state. This causes the state machine to get a bit wonky, often leading to a crash when the MULTI_MARKED state attempts to conclude its processing. This patch fixes this problem: (1) It prevents kicked users from being kicked again. That's just a nicety. (2) More importantly, it fixes the race condition by only playing the prompt once the state has transitioned correctly to INACTIVE. If waitmarked users sneak out during the prompt being played, no harm no foul. Review: https://reviewboard.asterisk.org/r/3108/ Note that the patch committed here is essentially the same as uploaded by Simon Moxon on ASTERISK-22740, with the addition of the double kick prevention. (closes issue AST-1258) Reported by: Steve Pitts (closes issue ASTERISK-22740) Reported by: Simon Moxon patches: ASTERISK-22740.diff uploaded by Simon Moxon (license 6546) ........ Merged revisions 405215 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 405216 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@405217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-18channel locking: Add locking for channel snapshot creationKevin Harwell
Original commit message by mmichelson (asterisk 12 r403311): "This adds channel locks around calls to create channel snapshots as well as other functions which operate on a channel and then end up creating a channel snapshot. Functions that expect the channel to be locked prior to being called have had their documentation updated to indicate such." The above was initially committed and then reverted at r403398. The problem was found to be in core_local.c in the publish_local_bridge_message function. The ast_unreal_lock_all function locks and adds a reference to the returned channels and while they were being unlocked they were not being unreffed when no longer needed. Fixed by unreffing the channels. Also in bridge.c a lock was obtained on "other->chan", but then an attempt was made to unlock "other" and not the previously locked channel. Fixed by unlocking "other->chan" (closes issue ASTERISK-22709) Reported by: John Bigelow ........ Merged revisions 404237 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-17bridging: Give bridges a name and a known creatorJonathan Rose
Bridges have two new optional properties, a creator and a name. Certain consumers of bridges will automatically provide bridges that they create with these properties. Examples include app_bridgewait, res_parking, app_confbridge, and app_agent_pool. In addition, a name may now be provided as an argument to the POST function for creating new bridges via ARI. (closes issue AFS-47) Review: https://reviewboard.asterisk.org/r/3070/ ........ Merged revisions 404042 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404043 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-09Add a CONFBRIDGE_RESULT channel variable to discern why a channel left a ↵Mark Michelson
ConfBridge. Review: https://reviewboard.asterisk.org/r/3009 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403526 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-05Reverting r403311. It's causing ARI tests to hang.David M. Lee
........ Merged revisions 403398 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-03Add channel locking for channel snapshot creation.Mark Michelson
This adds channel locks around calls to create channel snapshots as well as other functions which operate on a channel and then end up creating a channel snapshot. Functions that expect the channel to be locked prior to being called have had their documentation updated to indicate such. ........ Merged revisions 403311 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-15Confbridge: Add option to review the recording similar to announce_join_leaveJonathan Rose
Review: https://reviewboard.asterisk.org/r/3008/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@402854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-11Confbridge: add test events for dynamic menus testJonathan Rose
Adds a couple of test events for conference menu actions so that it's easy to discern when those menu actions have been triggered. (issue ASTERISK-22760) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2999/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@402698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-11Get rid of some inaccurate comments.Mark Michelson
I'm doing some unrelated work in app_confbridge and finding these "invalid pin" comments to be annoying. Get out! ........ Merged revisions 402686 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 402687 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@402688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-02confbridge: Separate user muting from system muting overrides.Richard Mudgett
The system overrides the user muting requests when MOH is playing or a waitmarked user is waiting for a marked user to join. System muting overrides interfere with what the user may wish the muting to be when the system override ends. * User muting requests are now independent of the system muting overrides. The effective muting is now the logical or of the user request and system override. * Added a Muted flag to the CLI "confbridge list <conference>" command. * Added a Muted header to the AMI ConfbridgeList action ConfbridgeList event. (closes issue AST-1102) Reported by: John Bigelow Review: https://reviewboard.asterisk.org/r/2960/ ........ Merged revisions 402425 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 402427 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@402428 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-01app_confbridge: Make the CONFBRIDGE function be able to create dynamic menusJonathan Rose
Also adds the ability to clear all profile items and makes behavior more consistent with documentation as when choosing whether to use CONFBRIDGE datastore profiles or the application arguments to the confbridge application. (closes issue ASTERISK-22760) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2971/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@402397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-08app_confbridge: Can now set the language used for announcements to the ↵Richard Mudgett
conference. ConfBridge now has the ability to set the language of announcements to the conference. The language can be set on a bridge profile in confbridge.conf or by the dialplan function CONFBRIDGE(bridge,language)=en. (closes issue ASTERISK-19983) Reported by: Jonathan White Patches: M19983_rev2.diff (license #5138) patch uploaded by junky (modified) Tested by: rmudgett ........ Merged revisions 400741 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 400742 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@400744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-03Cache string values of formats on ast_format_cap() to save processing.Mark Michelson
Channel snapshots have string representations of the channel's native formats. Prior to this change, the format strings were re-created on ever channel snapshot creation. Since channel native formats rarely change, this was very wasteful. Now, string representations of formats may optionally be stored on the ast_format_cap for cases where string representations may be requested frequently. When formats are altered, the string cache is marked as invalid. When strings are requested, the cache validity is checked. If the cache is valid, then the cached strings are copied. If the cache is invalid, then the string cache is rebuilt and copied, and the cache is marked as being valid again. Review: https://reviewboard.asterisk.org/r/2879 ........ Merged revisions 400356 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@400363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-22Bridge API: Set a cause code on a channel when it is ejected from a bridge.Richard Mudgett
The cause code needs to be passed from the disconnecting channel to the bridge peers if the disconnecting channel dissolves the bridge. * Made the call to an app_agent_pool agent disconnect with the busy cause code if the agent does not ack the call in time or hangs up before acking the call. (closes issue ASTERISK-22042) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2772/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397472 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-15Fix feature_attended_transfer testKinsey Moore
The feature_attended_transfer test is failing due to Asterisk not passing DTMF in the bridges created for internal attended transfers. This sets the features initialization routine to set this flag by default and adjusts the basic bridge and confbridge's use of the bridging system accordingly as per Richard's suggestion instead of adjusting this individual case. This change allows the necessary DTMF to pass through the attended transfer bridge and complete the test successfully. Review: https://reviewboard.asterisk.org/r/2759/ (closes issue ASTERISK-22222) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-07-26Remove the unsafe bridge parameter from ast_bridge_hook_callback's.Richard Mudgett
Most hook callbacks did not need the bridge parameter. The pointer value could become invalid if the channel is moved to another bridge while it is executing. * Fixed some issues in feature_attended_transfer() as a result. * Reduce the bridge inhibit count in attended_transfer_properties_shutdown() after it has restored the bridge channel hooks. * Removed basic bridge requirement on feature_blind_transfer(). It does not require the basic bridge like feature_attended_transfer(). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-07-25A great big renaming patchMatthew Jordan
This patch renames the bridging* files to bridge*. This may seem pedantic and silly, but it fits better in line with current Asterisk naming conventions: * channel is not "channeling" * monitor is not "monitoring" etc. A bridge is an object. It is a first class citizen in Asterisk. "Bridging" is the act of using a bridge on a set of channels - and the API that fulfills that role is more than just the action. (closes issue ASTERISK-22130) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-07-24Refactor ast_bridge_features struct.Richard Mudgett
* Reduced the number of hook containers to just dtmf_hooks, interval_hooks, and other_hooks. As a result, several functions dealing with the different hook containers could be combined. * Extended the generic hook struct for DTMF and interval hooks instead of using a variant record. * Merged the special talk detector hook into the other_hooks container. * Replaced ast_bridge_features_set_talk_detector() with ast_bridge_talk_detector_hook(). (issue ASTERISK-22107) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-07-16Add 'kick all' capability to ConfBridge CLI commandMatthew Jordan
This patch adds the ability to kick all users out of a conference from the ConfBridge kick CLI command. It is invoked by passing 'all' as the channel parameter to the CLI command, i.e., "confbridge kick <conf> all". Note that this patch was modified slightly to conform to trunk. (closes issue ASTERISK-21827) Reported by: dorianlogan patches: kickall-patch_v2.diff uploaded by dorianlogan (License 6504) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-06-13app_confbridge: Fix memory leak on reload.Richard Mudgett
The config framework options should not be registered multiple times. Instead the configuration just needs to be reprocessed by the config framework. ........ Merged revisions 391700 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@391701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-05-31Remove remnant of snapshot blob JSON typesKinsey Moore
Remove usage of the once-mandatory snapshot blob type field, refactor confbridge stasis messages accordingly, and remove ast_bridge_blob_json_type(). Review: https://reviewboard.asterisk.org/r/2575/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@390250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-05-21Raise the ConfBridgeMute/Unmute events when a CLI or AMI action triggers the ↵Matthew Jordan
change New in 12 are the ConfBridgeMute/Unmute events, which are triggered when a user changes their mute/unmute state. This was typically triggered when a user hit a DTMF key that triggered the mute/unmute menu handler. Forgotten in this is when an AMI action or CLI command triggers the mute/unmute. This patch now raises the events in those situations as well. (closes issue ASTERISK-21802) Reported by: Birger "WIMPy" Harzenetter git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@389402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-05-21Merge in the bridge_construction branch to make the system use the Bridging API.Richard Mudgett
Breaks many things until they can be reworked. A partial list: chan_agent chan_dahdi, chan_misdn, chan_iax2 native bridging app_queue COLP updates DTMF attended transfers Protocol attended transfers git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@389378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-23confbridge: Make search the conference bridges container using OBJ_KEY.Richard Mudgett
* Make confbridge config parsing user profile, bridge profile, and menu container hash/cmp functions correctly check the OBJ_POINTER, OBJ_KEY, and OBJ_PARTIAL_KEY flags. * Made confbridge load_module()/unload_module() free all resources on failure conditions. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-03-09confbridge: Rename items for clarity and consistency.Richard Mudgett
struct conference_bridge_user -> struct confbridge_user struct conference_bridge -> struct confbridge_conference struct conference_state -> struct confbridge_state struct conference_bridge_user *conference_bridge_user -> struct confbridge_user *user struct conference_bridge_user *cbu -> struct confbridge_user *user struct conference_bridge *conference_bridge -> struct confbridge_conference *conference The names are now generally shorter, consistently used, and don't conflict with the struct names. This patch handles the renaming part of the issue. (issue ASTERISK-20776) Reported by: rmudgett git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-03-04Confbridge CLI new record file name check.Kevin Harwell
This fix checks to make sure that if a confbridge record start command is issued from the CLI it will always use the file name given on the CLI even if it changes between start/stop records for a conference. Previously it had been reusing the same file between start/stops even if a new filename was given. (issue AST-1088) Reported by: John Bigelow ........ Merged revisions 382385 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-02-26Clean up ConfBridge commands to account for wait_marked usersMatthew Jordan
When ConfBridge was refactored to better handle the concept of marked, wait_marked, and normal users co-existing in a conference (thereby implementing a state machine for the conference), the wait_marked users were put into their own list of conference participants, separate from the active users. This list is used for wait_marked users when they are waiting in a conference but no marked user has joined; normal users may have joined at this point however. There are several AMI/CLI commands that affect conference users that were not checking the wait_marked users list: * CLI/AMI commands that mute/unmute a participant. In this case, wait_marked users have to remain in their particular state and should not be affected - however, the commands would return "Channel not found" as opposed to the appropriate error condition. * CLI/AMI commands that kick a participant. An admin should always be able to kick a participant out of the conference. This patch fixes both sets of commands, and cleans up the CLI commands slightly by allowing them to complete a participant name (this was supposed to have been added, but the function call was commented out and wasn't implemented). Review: https://reviewboard.asterisk.org/r/2346/ (closes issue AST-1114) Reported by: John Bigelow Tested by: John Bigelow ........ Merged revisions 382068 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-02-19Confbridge channels staying active when all participants leave.Kevin Harwell
If you started/stopped recording of a conference multiple times channels would remain active even when all participants left the conference. This was due to the fact that a reference to the confbridge was being added every time a start record command was issued, but when the recording was stopped there was no matching de-reference thus keeping the conference alive. Made sure only a single reference is added for the record thread no matter how many times recording is started/stopped. A de-reference is issued upon thread ending. Note, this issue is being fixed under AST-1088 since it relates to it and should have been corrected along with those modifications. (issue AST-1088) Reported by: John Bigelow ........ Merged revisions 381737 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-02-19Added Confbridge record_file_append option.Kevin Harwell
Currently, if one starts, stops, and then starts a recording again for a conference the recorded data is appended to the file originally created on the first record start. An option record_file_append has been added that defaults to "yes", but when set to "no" will force creation of a new file between every record start/stop. (issue AST-1088) Reported by: John Bigelow Review: http://reviewboard.digium.internal/r/374/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381729 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-02-18Fixed Confbridge file recording deadlock and appending.Kevin Harwell
A deadlock occurred after starting/stopping and then restarting a confbridge recording. Upon starting a recording a record thread is created that holds a lock until just before exiting. Stopping the recording does not stop/exit the thread or release the lock. The thread waits until recording begins again. Starting a stopped recording signals the thread to continue and start recording again. However restarting the recording also created another record thread resulting in a deadlock. The fix was to make sure the record thread was only created once. Also it was noted that filenames for the recordings were being concatenated for each start/stop. This was fixed by creating a new file for each conference session and appending the actual recorded data within the file (e.g. passing the 'a' option to MixMonitor). (issue AST-1088) Reported by: John Bigelow Review: http://reviewboard.digium.internal/r/374/ ........ Merged revisions 381702 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-02-18confbridge: Add flags column to CLI "confbridge list <conference>"Richard Mudgett
* Added the following flags to the CLI "confbridge list <conference>" output: A - The user is an admin M - The user is a marked user W - The user must wait for a marked user to join E - The user will be kicked after the last marked user leaves the conference w - The user is waiting for a marked user to join * Added the following header to the AMI ConfbridgeList events: WaitMarked, EndMarked, and Waiting. (closes issue AST-1101) Reported by: John Bigelow Patches: confbridge-show-admin3.txt (license #5091) patch uploaded by John Bigelow Modified git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-02-16confbridge: Rename i iterator variables to iter.Richard Mudgett
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-02-12Adding Some More Manager Events To ConfBridgeMichael L. Young
Currently, ConfBridge does not send manager events for ConfbridgeMute, ConfbridgeUnmute, ConfbridgeStartRecord and ConfbridgeStopRecord. This patch adds these events to the manager. The reporter's patch moves some other events up to the beginning of the file. The patch being committed is based on the patch contributed from the reporter of this issue. I have made a lot of modifications to the patch in order for it to fit in better with what we currently are doing in the code when it comes to manager events. I also made a few changes to the <see-also> elements on some of the events. (closes issue ASTERISK-20827) Reported by: Clint Davis Tested by: Clint Davis, Michael L. Young Patches: 20827.diff uploaded by Clint Davis (license 6453) asterisk-20827-confbridge-events.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2309/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-02-08app_confbridge: Fix crash from receiving an AMI action after ConfBridge ↵Richard Mudgett
unloaded. Unloading ConfBridge caused the next AMI action received to crash Asterisk. * Add the missing unregister of AMI action ConfbridgeSetSingleVideoSrc when ConfBridge is unloaded. (closes issue ASTERISK-20994) Reported by: Jeremy Kister Patches: jira_asterisk_20994_v11.patch (license #5621) patch uploaded by rmudgett Tested by: Rusty Newton, Jeremy Kister ........ Merged revisions 381067 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-02-05app_page and app_confbridge: Fix custom announcement on entering conference.Richard Mudgett
The Page and ConfBridge custom announcement did not play when users entered the conference. * Fix the CONFBRIDGE(user,announcement) file not getting played. The code to do this got removed accidentally when the ConfBridge code was restructured to be more state machine like. * Fixed play_prompt_to_user() doxygen comments. * Fixed the Page A(x) and n options for the caller. The caller never played the announcement file and totally ignored the n option. The code to do this was lost when the application was converted to use ConfBridge. * Factored out setup_profile_bridge(), setup_profile_paged(), and setup_profile_caller() routines to setup ConfBridge profiles. Made each profile setup routine use the default template if one has not already been setup by dialplan. (closes issue ASTERISK-20990) Reported by: Jeremy Kister Tested by: rmudgett ........ Merged revisions 380894 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-24Correct documentation for ConfbridgeList AMI actionMatthew Jordan
The documentation for ConfbridgeList states that the Conference field is optional. That's not really the case: if you fail to provide a Conference number, the command will kick back an error. (closes issue AST-1090) Reported by: John Bigelow ........ Merged revisions 380028 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-22confbridge: Minor fixes playing user counts to the conference.Richard Mudgett
* Generate a warning message if sound files do not exist when trying to play the user count to the conference. Use the new helper routine sound_file_exists() for consistency. * Put the new user into autoservice when playing user counts to the conference. * Check the return value of ast_bridge_impart(). ........ Merged revisions 379808 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-18Fix regression in Confbridge user countKinsey Moore
When the restructuring work got committed to Confbridge in r375470 to fix many open issues, it caused a regression in the reported count of users when conference information was requested via CLI or manager. This corrects the user count and user information displayed when listing conference information from the CLI and manager. (closes issue ASTERISK-20938) Reported By: Timo Teras Patches: confbridge-list.patch uploaded by Timo Teras (license 5409) ........ Merged revisions 379478 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-02Prevent exhaustion of system resources through exploitation of event cacheMatthew Jordan
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/trunk@378322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-13confbridge: Fix MOH on simultaneous user entry to a new conference.Richard Mudgett
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/trunk@378002 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-07confbridge: Fix some resource leaks on conference teardown.Richard Mudgett
* 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/trunk@377356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-04confbridge: Update online XML documentation.Richard Mudgett
........ Merged revisions 377212 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377213 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377214 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-10-30confbridge: Fix a bug which made conferences not record with AMI/CLI commandsJonathan Rose
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) ........ Merged revisions 375470 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 375471 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375472 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-10-14Doxygen Updates - Title updateAndrew Latham
Update and extend the configuration_file group and enable linking to the application. Update title that was left behind many years ago. (issue ASTERISK-20259) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375004 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-10-08Resolve issues in ConfBridge regarding marked, waitmarked, and unmarked usersMatthew Jordan
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-01Doxygen CleanupAndrew Latham
Start adding configuration file linking and pages. Add module loading doxygen block. (issue ASTERISK-20259) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374164 65c4cc65-6c06-0410-ace0-fbb531ad65f3