aboutsummaryrefslogtreecommitdiffstats
path: root/main/features.c
AgeCommit message (Collapse)AuthorFilesLines
2010-04-22Merged revisions 258671,258675 via svnmerge from mnicholson1-0/+5
https://origsvn.digium.com/svn/asterisk/trunk ................ r258671 | mnicholson | 2010-04-22 16:57:59 -0500 (Thu, 22 Apr 2010) | 32 lines Merged revisions 193391,258670 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r193391 | mnicholson | 2009-05-08 16:01:25 -0500 (Fri, 08 May 2009) | 8 lines Set the proper disposition on originated calls. (closes issue #14167) Reported by: jpt Patches: call-file-missing-cdr2.diff uploaded by mnicholson (license 96) Tested by: dlotina, rmartinez, mnicholson ........ r258670 | mnicholson | 2010-04-22 16:49:07 -0500 (Thu, 22 Apr 2010) | 11 lines Fix broken CDR behavior. This change allows a CDR record previously marked with disposition ANSWERED to be set as BUSY or NO ANSWER. Additionally this change partially reverts r235635 and does not set the AST_CDR_FLAG_ORIGINATED flag on CDRs generated from ast_call(). To preserve proper CDR behavior, the AST_CDR_FLAG_DIALED flag is now cleared from all brige CDRs in ast_bridge_call(). (closes issue #16797) Reported by: VarnishedOtter Tested by: mnicholson ........ (closes issue #16222) Reported by: telles Tested by: mnicholson ................ r258675 | mnicholson | 2010-04-22 17:11:23 -0500 (Thu, 22 Apr 2010) | 2 lines Fix previous commit. ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@258705 f38db490-d61c-443f-a65b-d21fe96a405b
2010-04-19Merged revisions 257810 via svnmerge from twilson1-6/+10
https://origsvn.digium.com/svn/asterisk/trunk ........ r257810 | twilson | 2010-04-19 12:57:41 -0500 (Mon, 19 Apr 2010) | 5 lines Fix incomplete CDR merge from r195881 Because res/res_features.c was removed and main/cdr.c added, these changes didn't make it to trunk and the 1.6.x branches ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@257833 f38db490-d61c-443f-a65b-d21fe96a405b
2010-04-14Merged revisions 257262 via svnmerge from tilghman1-29/+40
https://origsvn.digium.com/svn/asterisk/trunk ........ r257262 | tilghman | 2010-04-14 17:57:35 -0500 (Wed, 14 Apr 2010) | 15 lines Yet another issue where the conversion of the application delimiter to comma caused an issue. Application arguments within the feature map could possibly contain a comma, which conflicts with the syntax of the features.conf configuration file. This patch allows the argument to be wrapped in parentheses or quoted, to allow the application arguments to be interpreted as a single configuration parameter. (closes issue #16646) Reported by: pinga-fogo Patches: 20100414__issue16646.diff.txt uploaded by tilghman (license 14) Tested by: tilghman Review: https://reviewboard.asterisk.org/r/547/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@257264 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-22Merged revisions 253800 via svnmerge from mnicholson1-3/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r253800 | mnicholson | 2010-03-22 14:52:52 -0500 (Mon, 22 Mar 2010) | 11 lines Merged revisions 253799 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r253799 | mnicholson | 2010-03-22 14:50:00 -0500 (Mon, 22 Mar 2010) | 4 lines Unconditionally copy the caller's account code to the called party. (related to issue #16331) ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@253802 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-20Merged revisions 253540 via svnmerge from russell1-0/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r253540 | russell | 2010-03-20 07:03:07 -0500 (Sat, 20 Mar 2010) | 2 lines Resolve more compiler warnings on FreeBSD. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@253624 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-10Merged revisions 251679 via svnmerge from jpeeler1-1/+3
https://origsvn.digium.com/svn/asterisk/trunk ........ r251679 | jpeeler | 2010-03-10 14:51:23 -0600 (Wed, 10 Mar 2010) | 13 lines Fix ParkAndAnnounce not respecting parking options. The patch ensures that if a peer does not exist, parking settings are read from the channel. A unit test has been written to ensure proper operation for both standard parking and parking using masquerades. (closes issue #16592) Reported by: mwyres Patches: bug_16592.diff uploaded by snuffy (license 35) Review: https://reviewboard.asterisk.org/r/539/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@251684 f38db490-d61c-443f-a65b-d21fe96a405b
2010-02-18Merged revisions 247652 via svnmerge from mnicholson1-0/+3
https://origsvn.digium.com/svn/asterisk/trunk ................ r247652 | mnicholson | 2010-02-18 13:39:37 -0600 (Thu, 18 Feb 2010) | 13 lines Merged revisions 247651 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r247651 | mnicholson | 2010-02-18 13:38:09 -0600 (Thu, 18 Feb 2010) | 6 lines Copy the calling party's account code to the called party if they don't already have one. (closes issue #16331) Reported by: bluefox Tested by: mnicholson ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@247654 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-27Merged revisions 243391 via svnmerge from dvossel1-1/+5
https://origsvn.digium.com/svn/asterisk/trunk ................ r243391 | dvossel | 2010-01-26 17:56:57 -0600 (Tue, 26 Jan 2010) | 15 lines Merged revisions 243390 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r243390 | dvossel | 2010-01-26 17:55:49 -0600 (Tue, 26 Jan 2010) | 9 lines fixes bug with channel receiving wrong privileges after call parking (closes issue #16429) Reported by: Yasuhiro Konishi Patches: features.c.diff uploaded by Yasuhiro Konishi (license 947) Tested by: dvossel ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@243393 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-13Merged revisions 239839 via svnmerge from jpeeler1-0/+5
https://origsvn.digium.com/svn/asterisk/trunk ................ r239839 | jpeeler | 2010-01-13 13:48:16 -0600 (Wed, 13 Jan 2010) | 18 lines Merged revisions 239838 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r239838 | jpeeler | 2010-01-13 13:43:33 -0600 (Wed, 13 Jan 2010) | 11 lines Fix regression for timed out parked call returning to caller This issue seems to have been exposed by the fix in 160390 whereby using a masquerade prevented a crash. The new channel used in the masquerade was not copying the macro information from the old channel. (closes issue #15459) Reported by: djrodman Patches: patch_15459.txt uploaded by mnick (license ) ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@239841 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-08Merged revisions 238835 via svnmerge from jpeeler1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r238835 | jpeeler | 2010-01-08 17:30:55 -0600 (Fri, 08 Jan 2010) | 11 lines Merged revisions 238834 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r238834 | jpeeler | 2010-01-08 17:28:37 -0600 (Fri, 08 Jan 2010) | 4 lines Stop a crash when no peer is passed to masq_park_call. (distantly related to issue #16406) ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@238837 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-08Merged revisions 238583 via svnmerge from jpeeler1-3/+2
https://origsvn.digium.com/svn/asterisk/trunk ........ r238583 | jpeeler | 2010-01-08 11:18:41 -0600 (Fri, 08 Jan 2010) | 5 lines Stop trying to find a parking space after traversing the parkinglot one time. (closes issue #16428) Reported by: Yasuhiro Konishi ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@238585 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-06Merged revisions 238134 via svnmerge from jpeeler1-3/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r238134 | jpeeler | 2010-01-06 13:05:06 -0600 (Wed, 06 Jan 2010) | 10 lines Fix channel name comparison for bridge application. The channel name comparison was not comparing the whole string and therefore if one channel name was a substring of the other, the bridge would fail. (closes issue #16528) Reported by: telecos82 Patches: res_features_r236843.diff uploaded by telecos82 (license 687) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@238136 f38db490-d61c-443f-a65b-d21fe96a405b
2009-12-21Merged revisions 235822 via svnmerge from tilghman1-7/+7
https://origsvn.digium.com/svn/asterisk/trunk ................ r235822 | tilghman | 2009-12-21 11:00:46 -0600 (Mon, 21 Dec 2009) | 15 lines Merged revisions 235821 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r235821 | tilghman | 2009-12-21 10:45:03 -0600 (Mon, 21 Dec 2009) | 8 lines Send parking lot announcement to the channel which parked the call, not the park-ee. (closes issue #16234) Reported by: yeshuawatso Patches: 20091210__issue16234.diff.txt uploaded by tilghman (license 14) 20091221__issue16234__1.4.diff.txt uploaded by tilghman (license 14) Tested by: yeshuawatso ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@235825 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-24Merged revisions 231095 via svnmerge from jpeeler1-1/+5
https://origsvn.digium.com/svn/asterisk/trunk ........ r231095 | jpeeler | 2009-11-24 12:50:36 -0600 (Tue, 24 Nov 2009) | 11 lines Fix erroneous hangup extension execution ast_spawn_extension behaves differently from 1.4 in that hangups and extensions that do not exist do not return an error, whereas in 1.6 it does. This is now taken into account so that the AST_FLAG_BRIDGE_HANGUP_RUN flag gets set properly. (closes issue #16106) Reported by: ajohnson Tested by: ajohnson ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@231097 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-20Merged revisions 230628 via svnmerge from mnicholson1-0/+4
https://origsvn.digium.com/svn/asterisk/trunk ................ r230628 | mnicholson | 2009-11-20 15:01:10 -0600 (Fri, 20 Nov 2009) | 15 lines Merged revisions 230627 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r230627 | mnicholson | 2009-11-20 14:53:06 -0600 (Fri, 20 Nov 2009) | 8 lines Copy the peer CDR's userfield to the bridge CDR if it exists. This is necessary for the recordagentcalls option in chan_agent to store the recorded file name in the bridge CDR. (closes issue #14590) Reported by: msetim Patches: queue_agent_userfield.patch uploaded by Laureano (license 265) Tested by: Laureano, mnicholson ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@230630 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-20Merged revisions 224774 via svnmerge from file1-1/+5
https://origsvn.digium.com/svn/asterisk/trunk ................ r224774 | file | 2009-10-20 14:47:34 -0300 (Tue, 20 Oct 2009) | 12 lines Merged revisions 224773 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r224773 | file | 2009-10-20 14:46:37 -0300 (Tue, 20 Oct 2009) | 5 lines Add support for relaying early media in the features attended transfer option. (closes issue #14828) Reported by: licedey ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@224776 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-14Merged revisions 218295 via svnmerge from file1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r218295 | file | 2009-09-14 13:16:39 -0500 (Mon, 14 Sep 2009) | 2 lines Do not attempt to add a parking extension if an error occurred while reading the configuration. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@218297 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-02Merged revisions 215622 via svnmerge from mvanbaak1-0/+3
https://origsvn.digium.com/svn/asterisk/trunk ........ r215622 | mvanbaak | 2009-09-02 22:21:51 +0200 (Wed, 02 Sep 2009) | 4 lines - lock channel before looking for a channel variable - Init the parkings list member of struct parkinglot. Thanks Sean for the explanation why this should be here. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@215646 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-20Merged revisions 213327 via svnmerge from mnicholson1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r213327 | mnicholson | 2009-08-20 15:29:32 -0500 (Thu, 20 Aug 2009) | 7 lines Fix a crash by checking the proper pointer for validity before deferencing it. (closes issue #15751) Reported by: atis Patches: ast_bridge_call_peer_cdr.patch uploaded by atis (license 242) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@213349 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-10AST-2009-005tilghman1-13/+13
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@211569 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-27Merged revisions 209098 via svnmerge from dbrooks1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r209098 | dbrooks | 2009-07-27 11:33:50 -0500 (Mon, 27 Jul 2009) | 6 lines Fixing typos. Replaces "recieved" with "received" and "initilize" with "initialize" (closes issue #15571) Reported by: alecdavis ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@209233 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-08Merged revisions 205254 via svnmerge from dbrooks1-8/+21
https://origsvn.digium.com/svn/asterisk/trunk ........ r205254 | dbrooks | 2009-07-08 12:26:26 -0500 (Wed, 08 Jul 2009) | 8 lines Fixes Park() argument handling Park() was not respecting the arguments passed to it. Any extension/context/priority given to it was being ignored. This patch remedies this. (closes issue #15380) Reported by: DLNoah ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@205279 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-25Merged revisions 203376 via svnmerge from russell1-1/+10
https://origsvn.digium.com/svn/asterisk/trunk ................ r203376 | russell | 2009-06-25 16:04:55 -0500 (Thu, 25 Jun 2009) | 16 lines Merged revisions 203375 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r203375 | russell | 2009-06-25 16:02:18 -0500 (Thu, 25 Jun 2009) | 9 lines Fix a case where CDR answer time could be before the start time involving parking. (closes issue #13794) Reported by: davidw Patches: 13794.patch uploaded by murf (license 17) 13794.patch.160 uploaded by murf (license 17) Tested by: murf, dbrooks ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@203378 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-19If the "h" extension fails, give it another chance in main/pbx.c.tilghman1-1/+3
If the "h" extension fails, give it another chance in main/pbx.c, when it returns from the bridge code. Fixes an issue where the "h" extension may occasionally not fire, when a Dial is executed from a Macro. Debugged in #asterisk with user tompaw. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@201827 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-03Merged revisions 198856 via svnmerge from dvossel1-1/+7
https://origsvn.digium.com/svn/asterisk/trunk ........ r198856 | dvossel | 2009-06-02 16:17:49 -0500 (Tue, 02 Jun 2009) | 10 lines Generic call forward api, ast_call_forward() The function ast_call_forward() forwards a call to an extension specified in an ast_channel's call_forward string. After an ast_channel is called, if the channel's call_forward string is set this function can be used to forward the call to a new channel and terminate the original one. I have included this api call in both channel.c's ast_request_and_dial() and feature.c's feature_request_and_dial(). App_dial and app_queue already contain call forward logic specific for their application and options. (closes issue #13630) Reported by: festr Review: https://reviewboard.asterisk.org/r/271/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@198887 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-20Merged revisions 195698 via svnmerge from file1-5/+11
https://origsvn.digium.com/svn/asterisk/trunk ................ r195698 | file | 2009-05-20 14:33:02 -0300 (Wed, 20 May 2009) | 12 lines Merged revisions 195688 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195688 | file | 2009-05-20 14:30:25 -0300 (Wed, 20 May 2009) | 5 lines Fix some code that wrongly assumed a pointer would always be non-NULL when dealing with CDRs after a bridge. (closes issue #15079) Reported by: barryf ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@195705 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-06Merged revisions 192861 via svnmerge from jpeeler1-2/+2
https://origsvn.digium.com/svn/asterisk/trunk ................ r192861 | jpeeler | 2009-05-06 17:17:27 -0500 (Wed, 06 May 2009) | 17 lines Merged revisions 192858 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r192858 | jpeeler | 2009-05-06 17:15:19 -0500 (Wed, 06 May 2009) | 10 lines Make ParkedCall application stop execution of the dialplan after hang up Just changed park_exec to always return non-zero. I really wasn't entirely sure at first if this was a bug. Decided it was since it would be surprising when not using ParkedCall in the dialplan to hang up and have dialplan execution continue. (closes issue #14555) Reported by: francesco_r ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@192869 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-05Merged revisions 192462 via svnmerge from file1-4/+4
https://origsvn.digium.com/svn/asterisk/trunk ................ r192462 | file | 2009-05-05 15:23:58 -0300 (Tue, 05 May 2009) | 15 lines Merged revisions 192454 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r192454 | file | 2009-05-05 15:22:27 -0300 (Tue, 05 May 2009) | 8 lines Fix an incorrect assumption that certain values on the channel will always exist when they may not. The CDR code involved with bridges wrongly assumed that the currently executing application and data values will always exist. It is possible for this to be false when call forwarding is involved. (closes issue #14984) Reported by: gincantalupo ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@192473 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-22Merged revisions 189951 via svnmerge from russell1-2/+2
https://origsvn.digium.com/svn/asterisk/trunk ........ r189951 | russell | 2009-04-22 11:56:43 -0500 (Wed, 22 Apr 2009) | 2 lines Fix call parking callback. Pipes -> Commas. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@189985 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-10Merged revisions 187599 via svnmerge from tilghman1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r187599 | tilghman | 2009-04-09 22:55:27 -0500 (Thu, 09 Apr 2009) | 2 lines Modify headers and macros, according to Russell's suggestions on the -dev list ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@187600 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-19Merged revisions 183436 via svnmerge from dvossel1-6/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r183436 | dvossel | 2009-03-19 15:30:39 -0500 (Thu, 19 Mar 2009) | 13 lines Merged revisions 183386 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183386 | dvossel | 2009-03-19 14:40:07 -0500 (Thu, 19 Mar 2009) | 6 lines Cleaning up a few things in detect disconnect patch Initialized ast_call_feature in detect_disconnect to avoid accessing uninitialized memory. Cleaned up /param tags in features.h. No longer send dynamic features in ast_feature_detect. issue #11583 ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@183438 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-19Merged revisions 183172 via svnmerge from dvossel1-39/+78
https://origsvn.digium.com/svn/asterisk/trunk ................ r183172 | dvossel | 2009-03-19 11:28:33 -0500 (Thu, 19 Mar 2009) | 20 lines Merged revisions 183126 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183126 | dvossel | 2009-03-19 11:15:16 -0500 (Thu, 19 Mar 2009) | 17 lines Allow disconnect feature before a call is bridged feature.conf has a disconnect option. By default this option is set to '*', but it could be anything. If a user wishes to disconnect a call before the other side answers, only '*' will work, regardless if the disconnect option is set to something else. This is because features are unavailable until bridging takes place. The default disconnect option, '*', was hardcoded in app_dial, which doesn't make any sense from a user perspective since they may expect it to be something different. This patch allows features to be detected from outside of the bridge, but not operated on. In this case, the disconnect feature can be detected before briding and handled outside of features.c. (closes issue #11583) Reported by: sobomax Patches: patch-apps__app_dial.c uploaded by sobomax (license 359) 11583.latest-patch uploaded by murf (license 17) detect_disconnect.diff uploaded by dvossel (license 671) Tested by: sobomax, dvossel Review: http://reviewboard.digium.com/r/195/ ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@183198 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-17Merged revisions 182525 via svnmerge from kpfleming1-2/+5
https://origsvn.digium.com/svn/asterisk/trunk ........ r182525 | kpfleming | 2009-03-17 09:38:11 -0500 (Tue, 17 Mar 2009) | 11 lines Improve behavior of ast_answer() to not lose incoming frames ast_answer(), when supplied a delay before returning to the caller, use ast_safe_sleep() to implement the delay. Unfortunately during this time any incoming frames are discarded, which is problematic for T.38 re-INVITES and other sorts of channel operations. When a delay is not passed to ast_answer(), it still delays for up to 500 milliseconds, waiting for media to arrive. Again, though, it discards any control frames, or non-voice media frames. This patch rectifies this situation, by storing all incoming frames during the delay period on a list, and then requeuing them onto the channel before returning to the caller. http://reviewboard.digium.com/r/196/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@182527 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-13Merged revisions 182029 via svnmerge from mmichelson1-6/+16
https://origsvn.digium.com/svn/asterisk/trunk ................ r182029 | mmichelson | 2009-03-13 12:26:43 -0500 (Fri, 13 Mar 2009) | 41 lines Merged revisions 181990 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r181990 | mmichelson | 2009-03-13 12:12:32 -0500 (Fri, 13 Mar 2009) | 35 lines Check the DYNAMIC_FEATURES of both the chan and peer when interpreting DTMF. Dynamic features defined in the applicationmap section of features.conf allow one to specify whether the caller, callee, or both have the ability to use the feature. The documentation in the features.conf.sample file could be interpreted to mean that one only needs to set the DYNAMIC_FEATURES channel variable on the calling channel in order to allow for the callee to be able to use the features which he should have permission to use. However, the DYNAMIC_FEATURES variable would only be read from the channel of the participant that pressed the DTMF sequence to activate the feature. The result of this was that the callee was unable to use dynamic features unless the dialplan writer had taken measures to be sure that the DYNAMIC_FEATURES variable was set on the callee's channel. This commit changes the behavior of ast_feature_interpret to concatenate the values of DYNAMIC_FEATURES from both parties involved in the bridge. The features themselves determine who has permission to use them, so there is no reason to believe that one side of the bridge could gain the ability to perform an action that they should not have the ability to perform. Kevin Fleming pointed out on the asterisk-users list that the typical way that this was worked around in the past was by setting _DYNAMIC_FEATURES on the calling channel so that the value would be inherited by the called channel. While this works, the documentation alone is not enough to figure out why this is necessary for the callee to be able to use dynamic features. In this particular case, changing the code to match the documentation is safe, easy, and will generally make things easier for people for future installations. This bug was originally reported on the asterisk-users list by David Ruggles. (closes issue #14657) Reported by: mmichelson Patches: 14657.patch uploaded by mmichelson (license 60) ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@182068 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-11Merged revisions 181135 via svnmerge from jpeeler1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r181135 | jpeeler | 2009-03-10 23:06:44 -0500 (Tue, 10 Mar 2009) | 20 lines Fix malloc debug macros to work properly with h323. The main problem here was that cstdlib was undefining free thereby causing the proper debug macros to not be used. ast_h323.cxx has been changed to call ast_free instead to avoid the issue. A few other issues were addressed: - There were a few instances of functions improperly passing ast_free instead of ast_free_ptr. - Some clean up was done to avoid the debug macros intentionally being redefined. (copied below from Kevin's commit, appreciate the help) - disable astmm.h from doing anything when STANDALONE is defined, which is used by the tools in the utils/ directory that use parts of Asterisk header files in hackish ways; also ensure that utils/extconf.c and utils/conf2ael.c are compiled with STANDALONE defined. (closes issue #13593) Reported by: pj ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@181199 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03Merged revisions 179841 via svnmerge from file1-2/+7
https://origsvn.digium.com/svn/asterisk/trunk ................ r179841 | file | 2009-03-03 14:28:46 -0400 (Tue, 03 Mar 2009) | 16 lines Merged revisions 179840 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r179840 | file | 2009-03-03 14:27:09 -0400 (Tue, 03 Mar 2009) | 9 lines Do not assume that the bridge_cdr is still attached to the channel when the 'h' exten is finished executing. It is possible for a masquerade operation to occur when the 'h' exten is operating. This operation moves the CDR records around causing the bridge_cdr to no longer exist on the channel where it is expected to. We can not safely modify it afterwards because of this, so don't even try. (closes issue #14564) Reported by: meric ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@179843 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-27Merged revisions 178986 via svnmerge from murf1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r178986 | murf | 2009-02-26 20:45:58 -0700 (Thu, 26 Feb 2009) | 26 lines Merged revisions 178956 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 In this case, it's just a matter of reducing the default timeouts from 2000 to 1000 msec, as the max def feature digit timeout is no longer halved. ........ r178956 | murf | 2009-02-26 14:27:32 -0700 (Thu, 26 Feb 2009) | 18 lines This change moves the default feature digit timeout to 1000 ms from the previous default of 500. As per bug 14515, a dev discussion arrived at a "mediated concensus" of a default feature digit timeout of 1.0 sec. Some voted for 1300; ctooley thought 1500 for distracted phone users in phone booths; kpfleming put his foot down at 1.0 sec. Users who found the previous default max delay of 250 msec perfect, are welcome to override the new default. Notice that I said that 250 msec was the default; wait a minute, you might say, the config file said it was 500 msec!; well, because of the bug fix for 14515, we found that 500 msec was actually enforcing a max of 250. The bug fix would restore 500 msec, but we felt even that was a bit tight for most users... 2000 msec was pushed earlier by mmichelson, so that reduces to 1000 msec after the bug fix. Enjoy! ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@178988 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-26Merged revisions 178828 via svnmerge from murf1-2/+9
https://origsvn.digium.com/svn/asterisk/trunk ................ r178828 | murf | 2009-02-26 10:22:11 -0700 (Thu, 26 Feb 2009) | 34 lines Merged revisions 178804 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r178804 | murf | 2009-02-26 10:09:03 -0700 (Thu, 26 Feb 2009) | 28 lines This patch prevents the feature detection timeout from being cut in half. Because the ast_channel_bridge() call will return 0 and pass a frame pointer for both DTMF_BEGIN and DTMF_END, the feature_timer field in hte config struct is getting decremented twice, which effectively cuts the digittimeout in half. I added conditions to the if statement to only let DTMF_END frames to flow thru, which solved the problem. Also, when the frame pointer is null, let control flow thru-- this usually happens on timeouts. I added a comment to the code to explain what's going on and why. Many thanks to sodom for reporting this problem. Personnally, it always seemed like something was wrong with the featuredigittimeout, but I never could quite decide what... and was too busy to investigate. This bug forced the issue, and now we know. Sodom had other issues in 14515, but I couldn't reproduce them. If he still has problems, and wants to get them solved, he is welcome to reopen 14515. (closes issue #14515) Reported by: sodom Patches: 14515.patch uploaded by murf (license 17) Tested by: murf, sodom ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@178869 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-19Merged revisions 177356 via svnmerge from jpeeler1-1/+0
https://origsvn.digium.com/svn/asterisk/trunk ........ r177356 | jpeeler | 2009-02-19 09:56:31 -0600 (Thu, 19 Feb 2009) | 4 lines Fix mismerge from revision 176708 pointed out by Kaloyan Kovachev on the asterisk-dev mailing list. Thanks! ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@177358 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Merged revisions 177226 via svnmerge from dvossel1-30/+45
https://origsvn.digium.com/svn/asterisk/trunk ........ r177226 | dvossel | 2009-02-18 16:51:38 -0600 (Wed, 18 Feb 2009) | 9 lines Locking issue in action_bridge and bridge_exec action_bridge() and bridge_exec() both search for the channels to bridge to, and then immediately drop the lock. Instead, they should hold the lock until the masquerade is complete. This will guarantee the channel remains and prevent any other weirdness from occurring. In action_bridge() some more weirdness comes into play. Both channels are needlessly locked at the same time and perform the exact same logic. It makes sense from a coding organizational standpoint, but could cause a theoretical deadlock so I split the code up. There is an issue associated with this, but since its a rather complicated thing to reproduce I'm not certain this alone will close it. issue# 14296 Review: http://reviewboard.digium.com/r/167/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@177228 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Merged revisions 176708 via svnmerge from jpeeler1-0/+9
https://origsvn.digium.com/svn/asterisk/trunk ................ r176708 | jpeeler | 2009-02-17 16:08:00 -0600 (Tue, 17 Feb 2009) | 23 lines Merged revisions 176701 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r176701 | jpeeler | 2009-02-17 15:54:34 -0600 (Tue, 17 Feb 2009) | 17 lines Modify bridging to properly evaluate DTMF after first warning is played The main problem is currently if the Dial flag L is used with a warning sound, DTMF is not evaluated after the first warning sound. To fix this, a flag has been added in ast_generic_bridge for playing the warning which ensures that if a scheduled warning is missed, multiple warrnings are not played back (due to a feature evaluation or waiting for digits). ast_channel_bridge was modified to store the nexteventts in the ast_bridge_config structure as that information was lost every time ast_channel_bridge was reentered, causing a hangup due to incorrect time calculations. (closes issue #14315) Reported by: tim_ringenbach Reviewed on reviewboard: http://reviewboard.digium.com/r/163/ ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@176711 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-12Merged revisions 175298 via svnmerge from jpeeler1-1/+8
https://origsvn.digium.com/svn/asterisk/trunk ................ r175298 | jpeeler | 2009-02-12 14:48:56 -0600 (Thu, 12 Feb 2009) | 15 lines Merged revisions 175294 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r175294 | jpeeler | 2009-02-12 14:34:36 -0600 (Thu, 12 Feb 2009) | 9 lines Fix ParkedCall event information for From field in the case of a blind transfer If the parker information can not be obtained from the peer, try and see if the BLINDTRANSFER channel variable has been set. Previously, a blind transfer to the ParkAndAnnounce app would return nothing for the From. Closes AST-189 ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@175300 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-12Merged revisions 175188 via svnmerge from jpeeler1-1/+2
https://origsvn.digium.com/svn/asterisk/trunk ................ r175188 | jpeeler | 2009-02-12 12:00:11 -0600 (Thu, 12 Feb 2009) | 12 lines Merged revisions 175187 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r175187 | jpeeler | 2009-02-12 11:57:10 -0600 (Thu, 12 Feb 2009) | 6 lines Fix crash in event of failed attempt to transfer to parking The peer may not necessarily exist, such as in the case of a transfer to ParkAndAnnounce. In this case don't try to play a sound to it. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@175190 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-04Merged revisions 173500 via svnmerge from jpeeler1-49/+75
https://origsvn.digium.com/svn/asterisk/trunk ................ r173500 | jpeeler | 2009-02-04 15:17:53 -0600 (Wed, 04 Feb 2009) | 23 lines Merged revisions 173211 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r173211 | jpeeler | 2009-02-03 15:57:01 -0600 (Tue, 03 Feb 2009) | 17 lines Parking attempts made to one end of a bridge no longer will hang up due to a parking failure. Parking attempts made using either one-touch, or doing either a blind or assisted transfer to the parking extension now keep up the bridge instead of hanging up the attempted parked party. Normal causes for the parking attempt to fail includes the specific specified extension (via PARKINGEXTEN) not being available or if all the parking spaces are currently in use. To avoid having to reverse a masquerade park_space_reserve was made to provide foresight if a parking attempt will succeed and if so reserve the parking space. (closes issue #13494) Reported by: mdu113 Reviewed by Russell: http://reviewboard.digium.com/r/133/ ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@173505 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-03Merged revisions 173067 via svnmerge from twilson1-0/+4
https://origsvn.digium.com/svn/asterisk/trunk ................ r173067 | twilson | 2009-02-02 17:57:25 -0600 (Mon, 02 Feb 2009) | 9 lines Merged revisions 173066 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r173066 | twilson | 2009-02-02 17:48:06 -0600 (Mon, 02 Feb 2009) | 2 lines Fix a feature inheritance bug I added after code review ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@173069 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-31Merged revisions 172580 via svnmerge from twilson1-15/+266
https://origsvn.digium.com/svn/asterisk/trunk ................ r172580 | twilson | 2009-01-30 15:29:12 -0600 (Fri, 30 Jan 2009) | 44 lines Merged revisions 172517 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r172517 | twilson | 2009-01-30 11:47:41 -0600 (Fri, 30 Jan 2009) | 37 lines Fix feature inheritance with builtin features When using builtin features like parking and transfers, the AST_FEATURE_* flags would not be set correctly for all instances when either performing a builtin attended transfer, or parking a call and getting the timeout callback. Also, there was no way on a per-call basis to specify what features someone should have on picking up a parked call (since that doesn't involve the Dial() command). There was a global option for setting whether or not all users who pickup a parked call should have AST_FEATURE_REDIRECT set, but nothing for DISCONNECT, AUTOMON, or PARKCALL. This patch: 1) adds the BRIDGE_FEATURES dialplan variable which can be set either in the dialplan or with setvar in channels that support it. This variable can be set to any combination of 't', 'k', 'w', and 'h' (case insensitive matching of the equivalent dial options), to set what features should be activated on this channel. The patch moves the setting of the features datastores into the bridging code instead of app_dial to help facilitate this. 2) adds global options parkedcallparking, parkedcallhangup, and parkedcallrecording to be similar to the parkedcalltransfers option for globally setting features. 3) has builtin_atxfer call builtin_parkcall if being transfered to the parking extension since tracking everything through multiple masquerades, etc. is difficult and error-prone 4) attempts to fix all cases of return calls from parking and completed builtin transfers not having the correct permissions (closes issue #14274) Reported by: aragon Patches: fix_feature_inheritence.diff.txt uploaded by otherwiseguy (license 396) Tested by: aragon, otherwiseguy Review http://reviewboard.digium.com/r/138/ ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@172636 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-28Merged revisions 172063 via svnmerge from murf1-12/+36
https://origsvn.digium.com/svn/asterisk/trunk ................ r172063 | murf | 2009-01-28 13:31:06 -0700 (Wed, 28 Jan 2009) | 52 lines Merged revisions 172030 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r172030 | murf | 2009-01-28 11:51:16 -0700 (Wed, 28 Jan 2009) | 46 lines This patch fixes h-exten running misbehavior in manager-redirected situations. What it does: 1. A new Flag value is defined in include/asterisk/channel.h, AST_FLAG_BRIDGE_HANGUP_DONT, which used as a messenge to the bridge hangup exten code not to run the h-exten there (nor publish the bridge cdr there). It will done at the pbx-loop level instead. 2. In the manager Redirect code, I set this flag on the channel if the channel has a non-null pbx pointer. I did the same for the second (chan2) channel, which gets run if name2 is set... and the first succeeds. 3. I restored the ending of the cdr for the pbx loop h-exten running code. Don't know why it was removed in the first place. 4. The first attempt at the fix for this bug was to place code directly in the async_goto routine, which was called from a large number of places, and could affect a large number of cases, so I tested that fix against a fair number of transfer scenarios, both with and without the patch. In the process, I saw that putting the fix in async_goto seemed not to affect any of the blind or attended scenarios, but still, I was was highly concerned that some other scenarios I had not tested might be negatively impacted, so I refined the patch to its current scope, and jmls tested both. In the process, tho, I saw that blind xfers in one situation, when the one-touch blind-xfer feature is used by the peer, we got strange h-exten behavior. So, I inserted code to swap CDRs and to set the HANGUP_DONT field, to get uniform behavior. 5. I added code to the bridge to obey the HANGUP_DONT flag, skipping both publishing the bridge CDR, and running the h-exten; they will be done at the pbx-loop (higher) level instead. 6. I removed all the debug logs from the patch before committing. 7. I moved the AUTOLOOP set/reset in the h-exten code in res_features so it's only done if the h-exten is going to be run. A very minor performance improvement, but technically correct. (closes issue #14241) Reported by: jmls Patches: 14241_redirect_no_bridgeCDR_or_h_exten_via_transfer uploaded by murf (license 17) Tested by: murf, jmls ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@172067 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-20Merged revisions 169510 via svnmerge from twilson1-2/+24
https://origsvn.digium.com/svn/asterisk/trunk ........ r169510 | twilson | 2009-01-20 13:22:24 -0600 (Tue, 20 Jan 2009) | 7 lines Make a proper builtin attended transfer to parking work This is an ugly hack from 1.4 that allows the timeout callback from a parked call to use the right channel name for the callback when the park is done with a builtin attended transfer (that isn't completed early). This hasn't ever worked in trunk and no one has complained yet, so eh. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@169554 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-20Merged revisions 169486 via svnmerge from twilson1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r169486 | twilson | 2009-01-20 12:48:14 -0600 (Tue, 20 Jan 2009) | 13 lines Merged revisions 169485 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r169485 | twilson | 2009-01-20 12:40:56 -0600 (Tue, 20 Jan 2009) | 6 lines Don't play audio to the channel if we've masqueraded (closes issue #14066) Reported by: bluefox Tested by: otherwiseguy, bluefox ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@169488 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-16Merged revisions 168941 via svnmerge from twilson1-22/+29
https://origsvn.digium.com/svn/asterisk/trunk ................ r168941 | twilson | 2009-01-16 16:16:23 -0600 (Fri, 16 Jan 2009) | 19 lines Merged revisions 168716 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r168716 | twilson | 2009-01-15 12:22:49 -0600 (Thu, 15 Jan 2009) | 12 lines Convert call to park_call_full to masq_park_call_announce Since we removed the AST_PBX_KEEPALIVE return value, we need to use masqueraded parking, otherwise we will try to call ast_hangup() in __pbx_run() and in do_parking_thread() and then promptly crash. (closes issue #14215) Reported by: waverly360 Tested by: otherwiseguy (closes issue #14228) Reported by: kobaz Tested by: otherwiseguy ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@168981 f38db490-d61c-443f-a65b-d21fe96a405b