summaryrefslogtreecommitdiff
path: root/main/features.c
AgeCommit message (Collapse)Author
2012-03-22Adds F option to Bridge applicationJonathan Rose
Similar to dial and queue F option. (Closes issue ASTERISK-19282) Reported by: To Patches: bridge_f-v3.diff uploaded by To (license 6347) Review: https://reviewboard.asterisk.org/r/1825/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@360227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-22Kill off red blobs in most of main/*Kinsey Moore
Everything still compiled after making these changes, so I assume these whitespace-only changes didn't break anything (and shouldn't have). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@360190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-20Allow AMI action callback to be reentrant.Richard Mudgett
Fix AMI module reload deadlock regression from ASTERISK-18479 when it tried to fix the race between calling an AMI action callback and unregistering that action. Refixes ASTERISK-13784 broken by ASTERISK-17785 change. Locking the ao2 object guaranteed that there were no active callbacks that mattered when ast_manager_unregister() was called. Unfortunately, this causes the deadlock situation. The patch stops locking the ao2 object to allow multiple threads to invoke the callback re-entrantly. There is no way to guarantee a module unload will not crash because of an active callback. The code attempts to minimize the chance with the registered flag and the maximum 5 second delay before ast_manager_unregister() returns. The trunk version of the patch changes the API to fix the race condition correctly to prevent the module code from unloading from memory while an action callback is active. * Don't hold the lock while calling the AMI action callback. (closes issue ASTERISK-19487) Reported by: Philippe Lindheimer Review: https://reviewboard.asterisk.org/r/1818/ Review: https://reviewboard.asterisk.org/r/1820/ ........ Merged revisions 359979 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359980 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@359981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-14Fix incorrect sizeof() usage in features.c.Russell Bryant
This didn't actually result in a bug anywhere, luckily. The only place where the result of these memcpys was used is in app_dial, and the only field that it read out of ast_call_feature was the first one, which is an int, so these memcpys always copied just enough to avoid a problem. ........ Merged revisions 359069 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359072 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@359075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-13Fix setting CDR variables in the hangup extensionTerry Wilson
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@358993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-13Finalize ast_channel opaquificationTerry Wilson
Review: https://reviewboard.asterisk.org/r/1786/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@358907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-01Opaquify ast_channel typedefs, fd arrays, and softhangup flagTerry Wilson
Review: https://reviewboard.asterisk.org/r/1784/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-29Opaquify ast_channel structs and listsTerry Wilson
Review: https://reviewboard.asterisk.org/r/1773/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-27Deprecated macro usage for connected line, redirecting, and CCSSKinsey Moore
This commit adds GoSub alternatives to connected line, redirecting, and CCSS macro hooks so that macro can finally be deprecated. This also adds deprecation warnings for those features when used and in documentation. Review: https://reviewboard.asterisk.org/r/1760/ (closes issue SWP-4256) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-27Copy CDR variables when set during a bridgeTerry Wilson
This patch makes sure amaflags, accountcode, and userfield get copied to the bridge CDR when set during a bridge (like via a custom feature). (closes issue ASTERISK-16990) Review: https://reviewboard.asterisk.org/r/1721/ ........ Merged revisions 356963 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356964 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-24Opaquification for ast_format structs in struct ast_channelTerry Wilson
Review: https://reviewboard.asterisk.org/r/1770/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-23Fix blind transfer parking issues if the dialed extension is not recognized ↵Richard Mudgett
as a parking extension. Custom parking extensions may not be coded such that the first and only extension priority is the Park application. These custom parking extensions will not be recognized as parking extensions. When a call is blind transferred to an extension that is not recognized as a parking extension, the normal blind transfer code causes the transferred channel to start executing dialplan. Calls that get parked in this manner do not know the original channel name that parked the call so the original parker could never be called back if the parked call is not retrieved before the timeout time. The parking space is also announced to the call being parked as a side effect of not knowing the original parking channel. * Fix handling of BLINDTRANSFER channel variable for call parking. * Fixed SIP blind transfer using the wrong dialplan context variable to check for the parking extension. (closes issue ASTERISK-19322) Reported by: aragon Tested by: rmudgett, jparker Review: https://reviewboard.asterisk.org/r/1730/ JIRA AST-766 ........ Merged revisions 356521 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356522 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-20ast_channel opaquification of pointers and integral typesTerry Wilson
Review: https://reviewboard.asterisk.org/r/1753/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-13Opaquify char * and char[] in ast_channelTerry Wilson
Review: https://reviewboard.asterisk.org/r/1733/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@354968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-06Add missing headers to AMI UnParkedCall event to uniquely identify the call.Richard Mudgett
The AMI UnParkedCall event was missing the Parkinglot and Uniqueid headers that the AMI ParkedCall event contains. (closes issue ASTERISK-19240) Reported by: Michael Yara ........ Merged revisions 354116 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354119 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@354120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-01Constify some more channel driver technology callback parameters.Richard Mudgett
Review: https://reviewboard.asterisk.org/r/1707/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@353685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-24Opaquify channel stringfieldsTerry Wilson
Continue channel opaque-ification by wrapping all of the stringfields. Eventually, we will restrict what can actually set these variables, but the purpose for now is to hide the implementation and keep people from adding code that directly accesses the channel structure. Semantic changes will follow afterward. Review: https://reviewboard.asterisk.org/r/1661/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-23Fix grammar of comment.Mark Michelson
........ Merged revisions 352230 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352231 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-23Fix blind transfers from failing if an 'h' extension is present.Mark Michelson
This prevents the 'h' extension from being run on the transferee channel when it is transferred via a native transfer mechanism such as SIP REFER. (closes ASTERISK-19173) Reported by: Ross Beer Tested by: Kristjan Vrban Patches: ASTERISK-19173 by Mark Michelson (license 5049) Review: https://reviewboard.asterisk.org/r/1685 ........ Merged revisions 352199 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352228 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-20Various parking improvements.Mark Michelson
* Adds per-parking lot options comebackcontext and comebackdialtime * Makes comebacktoorigin settable per parking lot * Sets a PARKER channel variable when comebacktoorigin is disabled (closes issue ASTERISK-16643) Reported by: Mitch Sharp (bluecrow76) Patches: asterisk-1.6.2.17.2-park-features-comebackcontext-consolidated-v3.diff by Mitch Sharp (bluecrow76) license 5231 with updates by me. Review: https://reviewboard.asterisk.org/r/1674 Review: https://reviewboard.asterisk.org/r/963 Reviewed by Richard Mudgett git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351913 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-13Remove some dead code in ast_bridge_call().Richard Mudgett
None of the parameters to ast_bridge_call() can be NULL for the bridge to work so no need to check for it. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-12Adds peer to CEL report on CEL_BRIDGE_START and CEL_BRIDGE_ENDJonathan Rose
(closes issue ASTERISK-17940) Reporter: Nic Colledge Patches: features_18.patch uploaded by Nic Colledge (license 6245) ........ Merged revisions 350501 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350502 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-09Replace direct access to channel name with accessor functionsTerry Wilson
There are many benefits to making the ast_channel an opaque handle, from increasing maintainability to presenting ways to kill masquerades. This patch kicks things off by taking things a field at a time, renaming the field to '__do_not_use_${fieldname}' and then writing setters/getters and converting the existing code to using them. When all fields are done, we can move ast_channel to a C file from channel.h and lop off the '__do_not_use_'. This patch sets up main/channel_interal_api.c to be the only file that actually accesses the ast_channel's fields directly. The intent would be for any API functions in channel.c to use the accessor functions. No more monkeying around with channel internals. We should use our own APIs. The interesting changes in this patch are the addition of channel_internal_api.c, the moving of the AST_DATA stuff from channel.c to channel_internal_api.c (note: the AST_DATA stuff will have to be reworked to use accessor functions when ast_channel is really opaque), and some re-working of the way channel iterators/callbacks are handled so as to avoid creating fake ast_channels on the stack to pass in matching data by directly accessing fields (since "name" is a stringfield and the fake channel doesn't init the stringfields, you can't use the ast_channel_name_set() function). I went with ast_channel_name(chan) for a getter, and ast_channel_name_set(chan, name) for a setter. The majority of the grunt-work for this change was done by writing a semantic patch using Coccinelle ( http://coccinelle.lip6.fr/ ). Review: https://reviewboard.asterisk.org/r/1655/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-23INFO/Record request configurable to use dynamic featuresJonathan Rose
Adds two new options to SIP peers allowing them to specify features (dynamic or builtin) to use when sending INFO/record requests. Recordonfeature activates whatever feature is specified when recieving a record: on request while recordofffeature activates whatever feature is specified when receiving a record: off request. Both of these features can be disabled by setting the feature to an empty string. (closes issue ASTERISK-16507) Reported by: Jon Bright Review: https://reviewboard.asterisk.org/r/1634/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-16Clean-up on isle five for __ast_request_and_dial() and ast_call_forward().Richard Mudgett
* Add locking when a channel inherits variables and datastores in __ast_request_and_dial() and ast_call_forward(). Note: The involved channels are not active so there was minimal potential for problems. * Remove calls to ast_set_callerid() in __ast_request_and_dial() and ast_call_forward() because the set information is for the wrong direction. * Don't use C++ keywords for variable names in ast_call_forward(). * Run the redirecting interception macro if defined when forwarding a call in ast_call_forward(). Note: Currently will never execute because the only callers that supply a calling channel supply a hungup or zombie channel. * Make feature_request_and_dial() put the transferee into autoservice when it calls ast_call_forward() in case a redirection interception macro is run. Note: Currently will never happen because the caller channel (Party B) is always hungup at this time. * Make feature_request_and_dial() ignore the AST_CONTROL_PROCEEDING frame to silence a log message. ........ Merged revisions 348464 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348465 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-16Fix crash during CDR update.Richard Mudgett
The ast_cdr_setcid() and ast_cdr_update() were shown in ASTERISK-18836 to be called by different threads for the same channel. The channel driver thread and the PBX thread running dialplan. * Add lock protection around CDR API calls that access an ast_channel pointer. (closes issue ASTERISK-18836) Reported by: gpluser Review: https://reviewboard.asterisk.org/r/1628/ ........ Merged revisions 348362 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348363 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-14Add and document PARKEDCALL variable set during timeoutJonathan Rose
PARKEDCALL variable tracks which parking lot the call was last parked in. This can be used afterwards for flow control when returntoorigin is set to off. I went ahead and documented both this and the existing variable set during timeout (PARKINGSLOT) in the sample features.conf since there was no prior mention of variables being set during timeout. (closes issue ASTERISK-16239) Reported By: Clod Patry Patches: M17503.diff uploaded by Clod Patry (license 5138) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-08Mark channel running the h exten with the soft-hangup flag.Richard Mudgett
When a bridge is broken, ast_bridge_call() might execute the h exten on the calling channel. However, that channel may not have been the channel that broke the bridge by hanging up. The channel executing the h exten must be in a hung up state so things like AGI run in the correct mode. * Make sure ast_bridge_call() marks the channel it is executing the h exten on as hung up. (The AST_SOFTHANGUP_APPUNLOAD flag is used so as to match the pbx.c main dialplan execution loop when it executes the h exten.) (closes issue ASTERISK-18811) Reported by: David Hajek Patches: jira_asterisk_18811_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: David Hajek, rmudgett ........ Merged revisions 347595 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347600 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-24Fixes a segfault caused by referencing null frames introduced in r338623Jonathan Rose
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-20Fix AGI exec Park to honor the Park application parameters.Richard Mudgett
The fix for ASTERISK-12715 and ASTERISK-12685 added a check for the Park application because the channel needed to be masqueraded to prevent a crash. Since the Park application now always masquerades the channel into the parking lot, the special check is no longer needed. The fix also resulted in AGI exec Park attempting to double park the call and not honor the Park application parameters. * Removed no longer necessary call to ast_masq_park_call() by AGI exec for the Park application. (Reverts -r146923) * Fix Park application to only return 0 or -1. The AGI exec Park was causing broken pipe error messages because the Park application returned 1 on successful park. (closes issue ASTERISK-18737) ........ Merged revisions 341717 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341718 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-18More parking issues.Richard Mudgett
* Fix potential deadlocks in SIP and IAX blind transfer to parking. * Fix SIP, IAX, DAHDI analog, and MGCP channel drivers to respect the parkext_exclusive option with transfers (Park(,,,,,exclusive_lot) parameter). Created ast_park_call_exten() and ast_masq_park_call_exten() to maintian API compatibility. * Made masq_park_call() handle a failed ast_channel_masquerade() setup. * Reduced excessive struct parkeduser.peername[] size. ........ Merged revisions 341254 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341255 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-13Fix DTMF blind transfer continuing to execute dialplan after transfer.Richard Mudgett
Party A calls Party B. Party A DTMF blind transfers Party B to Party C. Party A channel continues to execute dialplan. * Fixed the return value of builtin_blindtransfer() to return the correct value after a transfer so the dialplan will not keep executing. * Removed unnecessary connected line update that did not really do anything. * Made access to GOTO_ON_BLINDXFR thread safe in check_goto_on_transfer(). * Fixed leak of xferchan for failure cases in check_goto_on_transfer(). * Updated debug messages in builtin_blindtransfer() and check_goto_on_transfer(). (closes issue ASTERISK-18275) Reported by: rmudgett Tested by: rmudgett ........ Merged revisions 340809 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 340810 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-30Preserve DTMF length in main/features.cOlle Johansson
Review: https://reviewboard.asterisk.org/r/1463/ A small part of much larger work with DTMF duration in Asterisk, funded by IPvision AS in Denmark. Thanks to irroot for the review! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@338623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-09Merged revisions 335078 via svnmerge from Matthew Jordan
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335078 | mjordan | 2011-09-09 11:27:01 -0500 (Fri, 09 Sep 2011) | 29 lines Merged revisions 335064 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335064 | mjordan | 2011-09-09 11:09:09 -0500 (Fri, 09 Sep 2011) | 23 lines Updated SIP 484 handling; added Incomplete control frame When a SIP phone uses the dial application and receives a 484 Address Incomplete response, if overlapped dialing is enabled for SIP, then the 484 Address Incomplete is forwarded back to the SIP phone and the HANGUPCAUSE channel variable is set to 28. Previously, the Incomplete application dialplan logic was automatically triggered; now, explicit dialplan usage of the application is required. Additionally, this patch adds a new AST_CONTOL_FRAME type called AST_CONTROL_INCOMPLETE. If a channel driver receives this control frame, it is an indication that the dialplan expects more digits back from the device. If the device supports overlap dialing it should attempt to notify the device that the dialplan is waiting for more digits; otherwise, it can handle the frame in a manner appropriate to the channel driver. (closes issue ASTERISK-17288) Reported by: Mikael Carlsson Tested by: Matthew Jordan Review: https://reviewboard.asterisk.org/r/1416/ ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-07Merged revisions 334841 via svnmerge from Richard Mudgett
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334841 | rmudgett | 2011-09-07 14:33:38 -0500 (Wed, 07 Sep 2011) | 17 lines Merged revisions 334840 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334840 | rmudgett | 2011-09-07 14:31:44 -0500 (Wed, 07 Sep 2011) | 10 lines Fix AMI action Park crash. * Made AMI action Park not say anything to the parker channel (AMI header Channel2) since the AMI action is a third party parking the call. (This is a change in behavior that cannot be preserved without a lot of effort.) * Made not play pbx-parkingfailed if the Park 's' option is used. JIRA AST-660 ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-07Merged revisions 334747 via svnmerge from Stefan Schmidt
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334747 | schmidts | 2011-09-07 15:10:37 +0000 (Wed, 07 Sep 2011) | 9 lines Merged revisions 334682 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334682 | schmidts | 2011-09-07 13:26:50 +0000 (Wed, 07 Sep 2011) | 3 lines Adding the Feature to sent a Reason Header in a SIP Cancel message by set the flag AST_FLAG_ANSWERED_ELSEWHERE before doing a masquerade in the pickup function. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-07clean up wrong merged stuff Stefan Schmidt
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-07Merged revisions 334682 via svnmerge from Stefan Schmidt
https://origsvn.digium.com/svn/asterisk/branches/10 ........ r334682 | schmidts | 2011-09-07 13:26:50 +0000 (Wed, 07 Sep 2011) | 3 lines Adding the Feature to sent a Reason Header in a SIP Cancel message by set the flag AST_FLAG_ANSWERED_ELSEWHERE before doing a masquerade in the pickup function. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-07Adding the Feature to sent a Reason Header in a SIP Cancel message by set ↵Stefan Schmidt
the flag AST_FLAG_ANSWERED_ELSEWHERE before doing a masquerade in the pickup function. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-16Merged revisions 332101 via svnmerge from Richard Mudgett
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332101 | rmudgett | 2011-08-16 12:17:28 -0500 (Tue, 16 Aug 2011) | 140 lines Merged revisions 332100 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332100 | rmudgett | 2011-08-16 11:31:36 -0500 (Tue, 16 Aug 2011) | 133 lines Fix multiple parking issues. JIRA ASTERISK-17183 Multi-parkinglot directs calls to wrong parkinglot. JIRA ASTERISK-17870 Cannot retrieve parked calls. JIRA ASTERISK-17430 ParkedCall() with no extension should pickup first available call and does not. JIRA AST-576 Issues with parking lots * Removed searching for parking lots by extension. Parking lots can only be found by the parking lot name since parking lot access extensions and spaces are not guaranteed to be unique. * Added parking_lot_name option to the Park and ParkedCall applications. Updated documentation for Park and ParkedCall applications. * Add parkext_exclusive configuration option to make parking entry extensions specify which parking lot they access. (closes issue ASTERISK-17183) Reported by: David Cabrejos Tested by: rmudgett, David Cabrejos (closes issue ASTERISK-17870) Reported by: Remi Quezada (closes issue ASTERISK-17430) Reported by: Philippe Lindheimer JIRA ASTERISK-17452 Parking_offset not used JIRA AST-624 'next' setting for findslot does nothing * Reimplemented since findslot feature option broken by -r114655. (closes issue ASTERISK-17452) Reported by: David Woolley Tested by: rmudgett JIRA ASTERISK-15792 Dialplan continues execution after transfer to park. This happens for DTMF attended transfer, DTMF blind transfer, and DTMF one-touch-parking if the party initiating these features also initiated the call. * Fixed the return code from the affected builtin features when parking a call. (closes issue ASTERISK-15792) Reported by: Mat Murdock Tested by: rmudgett, twilson JIRA AST-607 The courtesytone is not playing to the expected call when picking up a parked call. This is mostly a documentation problem. However, the option is not reset to the default when features.conf is reloaded. * Updated features.conf.sample documentation for courtesytone and parkedplay options. * Reset the parkedplay option to default when features.conf is reloaded. JIRA AST-615 AMI Park action followed by features reload results in orphaned channels in parking lot. * Reloading features.conf will not touch parking lots that have calls still parked in them. Reload again at a later time. Misc additional fixes: * Added unit test for parking lot dialplan usage checking. * Made update connected line when a parked call is retrieved from a parking lot. * Made retrieved parked call stop ringing or MOH depending upon how the call was waiting in the parking lot. * Made CLI "features show" indicate if the parking lot is enabled for use. * Added PARKINGDYNEXTEN channel variable to allow dynamic parking lots to specify the parking lot access extension. * Made AMI ParkedCalls action ParkedCall events have a Parkinglot header. * Made AMI ParkedCalls action ParkedCallsComplete event have a Total header. * Fixed potential deadlock from AMI Park action holding channel locks while calling masq_park_call(). * Fixed several places where ast_strdupa() were used inside of loops. (Mostly fixed by refactoring the loop body into its own function.) * Fixed copy_parkinglot() copying too much from the source parking lot. Extracted the parking lot configuration settings into struct parkinglot_cfg. * Refactored courtesytone playing code to put the channel not playing the tone in autoservice. * Fix when pbx-parkingfailed is played that the other channel is put in autoservice if it exists. * Fixed parkinglot reference leak in parked_call_exec() error paths. * Fixed parkinglot_unref() use of parkinglot after it was unreffed. * Made destroy the struct ast_parkinglot parkings lock when done. * Refactored the features.conf parking lot configuration code to eliminate redundancy. * Fixed feature reload to better protect parking lots. * Fixed parking lot container reference leak in handle_parkedcalls(). * Fixed the total count in handle_parkedcalls(). Review: https://reviewboard.asterisk.org/r/1358/ ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-10Merged revisions 331420 via svnmerge from Richard Mudgett
https://origsvn.digium.com/svn/asterisk/branches/10 ........ r331420 | rmudgett | 2011-08-10 14:07:53 -0500 (Wed, 10 Aug 2011) | 2 lines Make sure feature_request_and_dial() initializes outstate if passed in. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-10Merged revisions 331418 via svnmerge from Richard Mudgett
https://origsvn.digium.com/svn/asterisk/branches/10 ........ r331418 | rmudgett | 2011-08-10 13:25:08 -0500 (Wed, 10 Aug 2011) | 6 lines Revert -r318141. It was a band-aid that only partially fixed parking. A better fix is on reviewboard review 1358. (issue ASTERISK-17374) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331419 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-09Merged revisions 331265 via svnmerge from Richard Mudgett
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331265 | rmudgett | 2011-08-09 18:12:49 -0500 (Tue, 09 Aug 2011) | 22 lines Merged revisions 331248 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331248 | rmudgett | 2011-08-09 17:12:59 -0500 (Tue, 09 Aug 2011) | 15 lines Misc minor items found in code. * Add some reentrancy protection in pbx.c when creating the contexts_table hash table. * Fix inverted test in chan_sip.c conditional code. * Fix uninitialized variable and use of the wrong variable in chan_iax2.c. * Fix test of return value in app_parkandannounce.c. Explicitly testing for -1 is bad if the function does not actually return that value when it fails. * Fixup some comments and add some curly braces in features.c. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-21Merged revisions 329257 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/10 ........ r329257 | russell | 2011-07-21 15:22:36 -0500 (Thu, 21 Jul 2011) | 2 lines s/1.10/10.0/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@329258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-21Merged revisions 329145 via svnmerge from Richard Mudgett
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329145 | rmudgett | 2011-07-21 11:52:17 -0500 (Thu, 21 Jul 2011) | 16 lines Merged revisions 329144 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329144 | rmudgett | 2011-07-21 11:46:21 -0500 (Thu, 21 Jul 2011) | 9 lines Dialplan bridge() app mutex 'current_dest_chan' freed more times than we've locked! This appears to be a leftover from when ast_channel was converted to ao2 objects. Simply removed the extraneous unlock. (closes issue ASTERISK-17772) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@329146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14Merged revisions 328247 via svnmerge from Leif Madsen
https://origsvn.digium.com/svn/asterisk/branches/1.10 ................ r328247 | lmadsen | 2011-07-14 16:25:31 -0400 (Thu, 14 Jul 2011) | 14 lines Merged revisions 328209 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r328209 | lmadsen | 2011-07-14 16:13:06 -0400 (Thu, 14 Jul 2011) | 6 lines Introduce <support_level> tags in MODULEINFO. This change introduces MODULEINFO into many modules in Asterisk in order to show the community support level for those modules. This is used by changes committed to menuselect by Russell Bryant recently (r917 in menuselect). More information about the support level types and what they mean is available on the wiki at https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-23Merged revisions 324652 via svnmerge from David Vossel
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r324652 | dvossel | 2011-06-23 13:23:21 -0500 (Thu, 23 Jun 2011) | 20 lines Merged revisions 324634 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r324634 | dvossel | 2011-06-23 13:18:46 -0500 (Thu, 23 Jun 2011) | 13 lines Merged revisions 324627 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r324627 | dvossel | 2011-06-23 13:16:52 -0500 (Thu, 23 Jun 2011) | 7 lines Addresses AST-2011-010, remote crash in IAX2 driver Thanks to twilson for identifying the issue and providing the patches. AST-2011-010 ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15Merged revisions 323754 via svnmerge from Terry Wilson
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r323754 | twilson | 2011-06-15 13:21:52 -0500 (Wed, 15 Jun 2011) | 23 lines Merged revisions 323733 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r323733 | twilson | 2011-06-15 13:13:00 -0500 (Wed, 15 Jun 2011) | 16 lines Merged revisions 323732 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r323732 | twilson | 2011-06-15 13:06:24 -0500 (Wed, 15 Jun 2011) | 9 lines Fix DYNAMIC_FEATURES DYNAMIC_FEATURES were broken by a recent DTMF change. This patch makes sure that dynamic features are also checked when deciding whether or not to pass DTMF through or store it for interpreting. (closes issue ASTERISK-17914) Reported by: vrban ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09Merged revisions 322749 via svnmerge from Richard Mudgett
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r322749 | rmudgett | 2011-06-09 11:31:53 -0500 (Thu, 09 Jun 2011) | 15 lines Remove potential deadlock in call pickup race. Deadlock is possible in ast_do_pickup() when holding the target channel lock and trying to get the chan channel lock. Also, holding the target lock when calling ast_channel_masquerade() is not a good idea because that routine does deadlock avoidance. * Removed the need to hold the target lock after marking the target with a datastore and getting the connected line data off of the target channel. * Moved can_pickup() to ast_can_pickup() in features.c. Now all the call pickup methods use the same basic call pickup availability check. Review: https://reviewboard.asterisk.org/r/1234/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-27Merged revisions 321333 via svnmerge from Leif Madsen
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r321333 | lmadsen | 2011-05-27 17:40:23 -0400 (Fri, 27 May 2011) | 7 lines Allow parking lot hints and musicclass to be set. (closes issue #19378) Reported by: sboily_proformatique Patches: pf_parkinghint_music_fix uploaded by sboily proformatique (license 206) Tested by: russell ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321334 65c4cc65-6c06-0410-ace0-fbb531ad65f3