aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_dial.c
AgeCommit message (Collapse)AuthorFilesLines
2008-11-26Merged revisions 159554 via svnmerge from mmichelson1-0/+2
https://origsvn.digium.com/svn/asterisk/trunk ........ r159554 | mmichelson | 2008-11-26 13:57:11 -0600 (Wed, 26 Nov 2008) | 19 lines Add some necessary hangup commands in the case that forwarding a call fails 1) Hang up the original destination if the local channel cannot be requested. 2) Hang up the local channel (in addition to the original destination) if ast_call fails when calling the newly created local channel. This prevents channels from sticking around forever in the case of a botched call forward (e.g. to an extension which does not exist). (closes issue #13764) Reported by: davidw Patches: 13764_v2.patch uploaded by putnopvut (license 60) Tested by: putnopvut, davidw ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@159558 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-18Merged revisions 157306 via svnmerge from mmichelson1-1/+6
https://origsvn.digium.com/svn/asterisk/trunk ................ r157306 | mmichelson | 2008-11-18 12:31:08 -0600 (Tue, 18 Nov 2008) | 20 lines Merged revisions 157305 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r157305 | mmichelson | 2008-11-18 12:25:55 -0600 (Tue, 18 Nov 2008) | 12 lines Fix a crash in the end_bridge_callback of app_dial and app_followme which would occur at the end of an attended transfer. The error occurred because we initially stored a pointer to an ast_channel which then was hung up due to a masquerade. This commit adds a "fixup" callback to the bridge_config structure to allow for end_bridge_callback_data to be changed in the case that a new channel pointer is needed for the end_bridge_callback. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@157307 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-12Merged revisions 156169 via svnmerge from mmichelson1-0/+4
https://origsvn.digium.com/svn/asterisk/trunk ................ r156169 | mmichelson | 2008-11-12 11:41:56 -0600 (Wed, 12 Nov 2008) | 15 lines Merged revisions 156167 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r156167 | mmichelson | 2008-11-12 11:38:33 -0600 (Wed, 12 Nov 2008) | 7 lines When doing some tests, I was having a crash at the end of every call if an attended transfer occurred during the call. I traced the cause to the CDR on one of the channels being NULL. murf suggested a check in the end bridge callback to be sure the CDR is non-NULL before proceeding, so that's what I'm adding. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@156170 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-09Merged revisions 155554 via svnmerge from seanbright1-21/+22
https://origsvn.digium.com/svn/asterisk/trunk ................ r155554 | seanbright | 2008-11-08 20:27:00 -0500 (Sat, 08 Nov 2008) | 14 lines Merged revisions 155553 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r155553 | seanbright | 2008-11-08 20:08:07 -0500 (Sat, 08 Nov 2008) | 6 lines Use static functions here instead of nested ones. This requires a small change to the ast_bridge_config struct as well. To understand the reason for this change, see the following post: http://gcc.gnu.org/ml/gcc-help/2008-11/msg00049.html ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@155555 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-03port gcc 4.3.x warning fixes from trunk to this branchkpfleming1-2/+8
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@153743 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-31Merged revisions 153181 via svnmerge from twilson1-12/+25
https://origsvn.digium.com/svn/asterisk/trunk ........ r153181 | twilson | 2008-10-31 13:55:33 -0500 (Fri, 31 Oct 2008) | 5 lines Recent CDR fixes moved execution of the 'h' exten into the bridging code, so variables that were set after ast_bridge_call was called would not show up in the 'h' exten. Added a callback function to handle setting variables, etc. from w/in the bridging code. Calls back into a nested function within the function calling ast_bridge_call (closes issue #13793) Reported by: greenfieldtech ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@153265 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-07Merged revisions 147050 via svnmerge from seanbright1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r147050 | seanbright | 2008-10-07 08:01:36 -0400 (Tue, 07 Oct 2008) | 8 lines Make sure to compare the correct number of characters when special-casing our DAHDI operator mode stuff. Technically, it would work fine, as 'DAH' is currently unique amongst our channel technologies, but as Jared points out: <@jsmith> Sure... as long as the technology starts whith DAH.... but it could be DAHDOO! ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@147051 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-13Recorded merge of revisions 143031 via svnmerge from tilghman1-0/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r143031 | tilghman | 2008-09-13 08:54:15 -0500 (Sat, 13 Sep 2008) | 8 lines Repair IAXVAR implementation so that it works again (regression?) (closes issue #13354) Reported by: adomjan Patches: 20080828__bug13354.diff.txt uploaded by Corydon76 (license 14) 20080829__bug13354__1.6.0.diff.txt uploaded by Corydon76 (license 14) Tested by: Corydon76, adomjan ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@143032 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-12Merged revisions 142676 via svnmerge from murf1-0/+2
https://origsvn.digium.com/svn/asterisk/trunk ................ r142676 | murf | 2008-09-11 22:50:48 -0600 (Thu, 11 Sep 2008) | 40 lines Merged revisions 142675 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r142675 | murf | 2008-09-11 22:29:34 -0600 (Thu, 11 Sep 2008) | 29 lines Tested by: sergee, murf, chris-mac, andrew, KNK This is a "second attempt" to restore the previous "endbeforeh" behavior in 1.4 and up. In order to capture information concerning all the legs of transfers in all their infinite combinations, I was forced to this particular solution by a chain of logical necessities, the first being that I was not allowed to rewrite the CDR mechanism from the ground up! This change basically leaves the original machinery alone, which allows IVR and local channel type situations to generate CDR's as normal, but a channel flag can be set to suppress the normal running of the h exten. That flag would be set by the code that runs the h exten from the ast_bridge_call routine, to prevent the h exten from being run twice. Also, a flag in the ast_bridge_config struct passed into ast_bridge_call can be used to suppress the running of the h exten in that routine. This would happen, for instance, if you use the 'g' option in the Dial app. Running this routine 'early' allows not only the CDR() func to be used in the h extension for reading CDR variables, but also allows them to be modified before the CDR is posted to the backends. While I dearly hope that this patch overcomes all problems, and introduces no new problems, reality suggests that surely someone will have problems. In this case, please re-open 13251 (or 13289), and we'll see if we can't fix any remaining issues. ** trunk note: some code to suppress the h exten being run from app_queue was added; for the 'continue' option available only in trunk/1.6.x. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@142677 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-22Merged revisions 139627 via svnmerge from murf1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r139627 | murf | 2008-08-22 16:03:13 -0600 (Fri, 22 Aug 2008) | 59 lines Merged revisions 139347 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r139347 | murf | 2008-08-21 17:03:50 -0600 (Thu, 21 Aug 2008) | 47 lines (closes issue #13251) Reported by: sergee Tested by: murf THis is a bold move for a static release fix, but I wouldn't have made it if I didn't feel confident (at least a *bit* confident) that it wouldn't mess everyone up. The reasoning goes something like this: 1. We simply cannot do anything with CDR's at the current point (in pbx.c, after the __ast_pbx_run loop). It's way too late to have any affect on the CDRs. The CDR is already posted and gone, and the remnants have been cleared. 2. I was very much afraid that moving the running of the 'h' extension down into the bridge code (where it would be now practical to do it), would result in a lot more calls to the 'h' exten, so I implemented it as another exten under another name, but found, to my pleasant surprise, that there was a 1:1 correspondence to the running of the 'h' exten in the pbx_run loop, and the new spot at the end of the bridge. So, I ifdef'd out the current 'h' loop, and moved it into the bridge code. The only difference I can see is the stuff about the AST_PBX_KEEPALIVE, and hopefully, if this is still an important decision point, I can replicate it if there are complaints. To be perfectly honest, the KEEPALIVE situation is not totally clear to me, and how it relates to a post-bridge situation is less clear. I suspect the users will point out everything in total clarity if this steps on anyone's toes! 3. I temporarily swap the bridge_cdr into the channel before running the 'h' exten, which makes it possible for users to edit the cdr before it goes out the door. And, of course, with the endbeforehexten config var set, the users can also get at the billsec/duration vals. After the h exten finishes, the cdr is swapped back and processing continues as normal. Please, all who deal with CDR's, please test this version of Asterisk, and file bug reports as appropriate! ........ I also made a little fix to the app_dial's 'e' option, that is related to my updates. ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@139628 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-05Merged revisions 135821 via svnmerge from murf1-0/+4
https://origsvn.digium.com/svn/asterisk/trunk ................ r135821 | murf | 2008-08-05 17:45:32 -0600 (Tue, 05 Aug 2008) | 42 lines Merged revisions 135799 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r135799 | murf | 2008-08-05 17:13:20 -0600 (Tue, 05 Aug 2008) | 34 lines (closes issue #12982) Reported by: bcnit Tested by: murf I discovered that also, in the previous bug fixes and changes, the cdr.conf 'unanswered' option is not being obeyed, so I fixed this. And, yes, there are two 'answer' times involved in this scenario, and I would agree with you, that the first answer time is the time that should appear in the CDR. (the second 'answer' time is the time that the bridge was begun). I made the necessary adjustments, recording the first answer time into the peer cdr, and then using that to override the bridge cdr's value. To get the 'unanswered' CDRs to appear, I purposely output them, using the dial cmd to mark them as DIALED (with a new flag), and outputting them if they bear that flag, and you are in the right mode. I also corrected one small mention of the Zap device to equally consider the dahdi device. I heavily tested 10-sec-wait macros in dial, and without the macro call; I tested hangups while the macro was running vs. letting the macro complete and the bridge form. Looks OK. Removed all the instrumentation and debug. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@135822 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-15Merged revisions 130145 via svnmerge from murf1-3/+1
https://origsvn.digium.com/svn/asterisk/trunk Merging this rev from trunk to 1.6.0 was not simple. Why? Because we've enhanced trunk to do a [fast] merge-and-delete operation which also solved problems with contexts having entries from different registrars. Fast as in the amount of time the contexts are locked down. That *is* fast, but traversing the entire dialplan looking for priorities to delete takes more time overall. This particular fix involved pulling in those enhancements from trunk, along with all the various fixes and refinements made along the way. Merging all this from trunk into 1.6 involved: a. mergetrunk6 in the stuff from 130145; b. revert all but the prop changes c. catalog all revisions to pbx.c since 1.6.0 was forked (at rev 105596). d. catalog all revisions to pbx.c in trunk since 1.6.0 was forked, making special note of all revs that were not merged into 1.6.0. e. study each rev in trunk not applied to 1.6.0, and determine if it was involved in the merge_and_delete enhancements in trunk. 25 commits were done in 1.6.0, all but one (106306) was a merge from trunk. Trunk had 22 additional changes, of which 7 were involved in the merge_and_delete enhancements: 106757 108894 109169 116461 123358 130145 130297 f. Go to trunk and collect patches, one by one, of the changes made by each rev across the entire source tree, using svn diff -c <num> > pfile g. Apply each patch in order to 1.6.0, and resolve all failures and compilation problems before proceding to the next patch. h. test the stuff. i. profit! ........ r130145 | murf | 2008-07-11 12:24:31 -0600 (Fri, 11 Jul 2008) | 40 lines (closes issue #13041) Reported by: eliel Tested by: murf (closes issue #12960) Reported by: mnicholson In this 'omnibus' fix, I **think** I solved both the problem in 13041, where unloading pbx_ael.so caused crashes, or incomplete removal of previous registrar'ed entries. And I added code to completely remove all includes, switches, and ignorepats that had a matching registrar entry, which should appease 12960. I also added a lot of seemingly useless brackets around single statement if's, which helped debug so much that I'm leaving them there. I added a routine to check the correlation between the extension tree lists and the hashtab tables. It can be amazingly helpful when you have lots of dialplan stuff, and need to narrow down where a problem is occurring. It's ifdef'd out by default. I cleaned up the code around the new CIDmatch code. It was leaving hanging extens with bad ptrs, getting confused over which objects to remove, etc. I tightened up the code and changed the call to remove_exten in the merge_and_delete code. I added more conditions to check for empty context worthy of deletion. It's not empty if there are any includes, switches, or ignorepats present. If I've missed anything, please re-open this bug, and be prepared to supply example dialplan code. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@130946 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-14Merged revisions 130794 via svnmerge from mmichelson1-6/+7
https://origsvn.digium.com/svn/asterisk/trunk ................ r130794 | mmichelson | 2008-07-14 12:54:11 -0500 (Mon, 14 Jul 2008) | 16 lines Merged revisions 130792 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r130792 | mmichelson | 2008-07-14 12:50:21 -0500 (Mon, 14 Jul 2008) | 8 lines Add a check to the CAN_EARLY_BRIDGE macro in app_dial to be sure there are no audiohooks present on the channels involved. This fixed a one-way audio situation I had in my test setup. I couldn't find any open issues that suggested one-way audio with regards to mixmonitor (or other audiohook) usage, though. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@130795 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-08Merged revisions 129152 via svnmerge from tilghman1-0/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r129152 | tilghman | 2008-07-08 15:30:29 -0500 (Tue, 08 Jul 2008) | 16 lines Merged revisions 129149 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r129149 | tilghman | 2008-07-08 15:27:47 -0500 (Tue, 08 Jul 2008) | 8 lines Cause SIP to return a 480 instead of a 404 when a sip peer exists, but is not registered. (closes issue #12885) Reported by: ibc Patches: 20080701__bug12885__2.diff.txt uploaded by Corydon76 (license 14) Tested by: ibc ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@129153 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-17Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. ↵jpeeler1-5/+5
Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@123332 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-16Merged revisions 123165 via svnmerge from murf1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r123165 | murf | 2008-06-16 14:43:46 -0600 (Mon, 16 Jun 2008) | 19 lines (closes issue #12689) Reported by: ys Many thanks to ys for doing the research on this problem. I didn't think it would be best to unlock the contexts and then relock them after the remove_extension2() call, so I added an extra arg to remove_extension2() and set it appropriately in each call. There were not that many. I considered forcing the code to lock the contexts before the call to remove_extension2(), but that would require a slightly greater degree of changes, especially since the find_context_locked is local to pbx.c I did a simple sanity test to make sure the code doesn't mess things up in general. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@123173 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-02Merged revisions 119531 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r119531 | russell | 2008-06-01 20:04:01 -0500 (Sun, 01 Jun 2008) | 10 lines Merged revisions 119530 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r119530 | russell | 2008-06-01 20:03:22 -0500 (Sun, 01 Jun 2008) | 2 lines Fix another typo in documentation ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@119532 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-01Merged revisions 119479 via svnmerge from mvanbaak1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r119479 | mvanbaak | 2008-06-01 23:06:27 +0200 (Sun, 01 Jun 2008) | 10 lines Merged revisions 119478 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r119478 | mvanbaak | 2008-06-01 22:47:55 +0200 (Sun, 01 Jun 2008) | 2 lines small typo fix 'retires' => 'retries' ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@119529 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-30Merged revisions 119296 via svnmerge from tilghman1-4/+4
https://origsvn.digium.com/svn/asterisk/trunk ........ r119296 | tilghman | 2008-05-30 11:10:46 -0500 (Fri, 30 May 2008) | 8 lines Add native AGI command GOSUB, as invoking Gosub with EXEC does not work properly. (closes issue #12760) Reported by: Corydon76 Patches: 20080530__bug12760.diff.txt uploaded by Corydon76 (license 14) Tested by: tim_ringenbach, Corydon76 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@119297 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-14Merged revisions 114113 via svnmerge from mmichelson1-2/+8
https://origsvn.digium.com/svn/asterisk/trunk ................ r114113 | mmichelson | 2008-04-14 11:25:09 -0500 (Mon, 14 Apr 2008) | 17 lines Merged revisions 114112 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r114112 | mmichelson | 2008-04-14 11:24:22 -0500 (Mon, 14 Apr 2008) | 9 lines If the datastore has been moved to another channel due to a masquerade, then freeing the datastore here causes an eventual double free when the new channel hangs up. We should only free the datastore if we were able to successfully remove it from the channel we are referencing (i.e. the datastore was not moved). (closes issue #12359) Reported by: pguido ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@114114 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-10Merged revisions 107017 via svnmerge from file1-17/+0
https://origsvn.digium.com/svn/asterisk/trunk ................ r107017 | file | 2008-03-10 11:36:16 -0300 (Mon, 10 Mar 2008) | 15 lines Merged revisions 107016 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r107016 | file | 2008-03-10 11:33:02 -0300 (Mon, 10 Mar 2008) | 7 lines Move where unanswered CDRs are dropped to the CDR core, not everything uses app_dial. (closes issue #11516) Reported by: ys Patches: branch_1.4_cdr.diff uploaded by ys (license 281) Tested by: anest, jcapp, dartvader ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@107018 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-06Merged revisions 106239 via svnmerge from russell1-1/+6
https://origsvn.digium.com/svn/asterisk/trunk ................ r106239 | file | 2008-03-05 16:43:22 -0600 (Wed, 05 Mar 2008) | 12 lines Merged revisions 106235 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106235 | file | 2008-03-05 18:32:10 -0400 (Wed, 05 Mar 2008) | 4 lines Add a control frame to indicate the source of media has changed. Depending on the underlying technology it may need to change some things. (closes issue #12148) Reported by: jcomellas ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@106318 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-01Asterisk, when parking can drop rights a caller when a parking timeout ↵twilson1-0/+64
occurs. Also, when doing built-in attended transfers, sometimes incorrectly passes rights from the transferrer to the transferee. This patch tries to fixes the parking issue and lays some groundwork for later fixing the transfer issue. (closes issue #11520) Reported by: pliew Tested by: otherwiseguy git-svn-id: http://svn.digium.com/svn/asterisk/trunk@105477 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-09whitespace fixes only.mvanbaak1-179/+170
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@103249 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-05Get rid of any remaining ast_verbose calls in the code in favor of mmichelson1-4/+2
ast_verb (closes issue #11934) Reported by: mvanbaak Patches: 20080205_astverb-2.diff.txt uploaded by mvanbaak (license 7) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@102525 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-22Merged revisions 99592 via svnmerge from oej1-0/+5
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r99592 | oej | 2008-01-22 18:31:17 +0100 (Tis, 22 Jan 2008) | 5 lines Add dependency on chan_local to app_dial. Dial still runs without chan_local, but will be missing forwarding functionality. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@99595 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-14Convert ast_verbose to ast_verb.tilghman1-14/+9
Reported by: snuffy Patch by: snuffy (Closes issue #11547) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92913 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-12Conversions of free to ast_free, where applicable, and several other ↵tilghman1-81/+83
formatting fixes. Reported by: eliel Patch by: eliel,tilghman (Closes issue #11209) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92594 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-07Merged revisions 91783 via svnmerge from russell1-26/+43
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r91783 | russell | 2007-12-07 10:38:48 -0600 (Fri, 07 Dec 2007) | 6 lines * Add channel locking around datastore operations that expect the channel to be locked. * Document why we don't record Local channels in the dialed interfaces list. * Remove the dialed variable as it isn't needed. * Restructure some code for clarity and coding guidelines stuff ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@91784 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-07Merged revisions 91693 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r91693 | russell | 2007-12-06 20:51:22 -0600 (Thu, 06 Dec 2007) | 2 lines Don't unlock the dialed_interfaces list until we're done messing with the iterator. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@91700 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-07Merged revisions 91677 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r91677 | russell | 2007-12-06 20:38:40 -0600 (Thu, 06 Dec 2007) | 4 lines Allow dialing local channels from Queue() and Dial() again. There was a slight flaw in the code to prevent call forwards from looping that caused this problem. (related to issue #11486) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@91678 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-06- Dial eventoej1-8/+10
- Event Dial has new headers, to comply with other events - Source -> Channel Channel name (caller) - SrcUniqueID -> UniqueID Uniqueid (new) -> Dialstring Dialstring in app data (moremanager) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@91407 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-05Merged revisions 91273 via svnmerge from mmichelson1-2/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r91273 | mmichelson | 2007-12-05 16:35:52 -0600 (Wed, 05 Dec 2007) | 11 lines The 'G' option for Dial() did not properly handle the case where only a label was provided. This was due to the fact that the answering channel did not have an extension set, so ast_parseable_goto would fail. This fix eliminates the call to ast_parseable_goto on the answering channel since it is a wasteful call. The answering channel and the calling channel are both directed to the same extension and context, just different priorities, so we can just copy the values from the calling channel to the answering channel and increment the answering channel's priority. (closes issue #11382, reported by jon, patch by me with correction by jon) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@91291 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-04Fix build in trunk. This was fixed in 1.4, but blocked in trunk since this ↵qwell1-1/+1
hadn't been merged yet. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90877 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-04Merged revisions 90735 via svnmerge from mmichelson1-69/+75
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r90735 | mmichelson | 2007-12-03 17:12:17 -0600 (Mon, 03 Dec 2007) | 22 lines A big one... This is the merge of the forward-loop branch. The main change here is that call-forwards can no longer loop. This is accomplished by creating a datastore on the calling channel which has a linked list of all devices dialed. If a forward happens, then the local channel which is created inherits the datastore. If, through this progression of forwards and datastore inheritance, a device is attempted to be dialed a second time, it will simply be skipped and a warning message will be printed to the CLI. After the dialing has been completed, the datastore is detached from the channel and destroyed. This change also introduces some side effects to the code which I shall enumerate here: 1. Datastore inheritance has been backported from trunk into 1.4 2. A large chunk of code has been removed from app_dial. This chunk is the section of code which handles the call forward case after the channel has been requested but before it has been called. This was removed because call-forwarding still works fine without it, it makes the code less error-prone should it need changing, and it made this set of changes much less painful to just have the forwarding handled in one place in each module. 3. Two new files, global_datastores.h and .c have been added. These are necessary since the datastore which is attached to the channel may be created and attached in either app_dial or app_queue, so they need a common place to find the datastore info. This approach was taken in case similar datastores are needed in the future, there will be a common place to add them. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90873 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-03Remove the file descriptors from the main poll channel when the channel is ↵file1-2/+7
hung up during the dialing attempt, and make sure a channel exists before trying to remove it at the end. (closes issue #11441) Reported by: blitzrage git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90508 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-30Adding support for the "automixmonitor" dial and queue options.mmichelson1-4/+19
This works in much the same way as the automonitor, except that instead of using the monitor app, it uses the mixmonitor app. By providing an 'x' or 'X' as a dial or queue option, a DTMF sequence may be entered (as defined in features.conf) to start the one-touch mixmonitor. This patch also introduces some new API calls to the audiohooks code for searching for an audiohook by type and for searching for a running audiohook by type. Big thanks to joetester for writing the initial patch, testing it and patiently waiting for it to be committed. (closes issue #10185, reported and patched by xmarksthespot) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90388 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-27Merged revisions 89622 via svnmerge from murf1-1/+21
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89622 | murf | 2007-11-26 23:24:02 -0700 (Mon, 26 Nov 2007) | 1 line closes issue #11379; OK, this is an attempt to make both sides happy. To the cdr.conf file, I added the option 'unanswered', which defaults to 'no'. In this mode, you will see a cdr for a call, whether it was answered or not. The disposition will be NO ANSWER or ANSWERED, as appropriate. The src is as you'd expect, the destination channel will be one of the channels from the Dial() call, usually the last in the list if more than one chan was specified. With unanswered set to 'yes', you will still see this cdr entry in both cases. But in the case where the dial timed out, you will also see a cdr for each line attempted, marked NO ANSWER, with no destination channel name. The new option defaults to 'no', so you don't see the pesky extra cdr's by default, and you will not see the irritating 'not posted' messages. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89623 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21closes issue #11285, where an unload of a module that creates a dialplan ↵murf1-1/+4
context, causes a crash when you do a 'dialplan show' of that context. This is because the registrar string is defined in the module, and the stale pointer is traversed. The reporter offered a patch that would always strdup the registrar string, which is practical, but I preferred to destroy the created contexts in each module where one is created. That seemed more symmetric. There were only 6 place in asterisk where this is done: chan_sip, chan_iax2, chan_skinny, res_features, app_dial, and app_queue. The two apps destroyed the context, but left the contexts. All is fixed now and unloads should be dialplan friendly. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89513 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21remove another set of redundant #include "asterisk/options.h"rizzo1-1/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89512 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-20move asterisk/paths.h outside asterisk.h and into those filesrizzo1-0/+1
who really need it. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89466 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-19include "logger.h" and errno.h from asterisk.h - usage shows that theyrizzo1-2/+0
were included almost everywhere. Remove some of the instances. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89424 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16Start untangling header inclusion in a way that does not affectrizzo1-4/+0
build times - tested, there is no measureable difference before and after this commit. In this change: use asterisk/compat.h to include a small set of system headers: inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h, stdlib.h, alloca.h, stdio.h Where available, the inclusion is conditional on HAVE_FOO_H as determined by autoconf. Normally, source files should not include any of the above system headers, and instead use either "asterisk.h" or "asterisk/compat.h" which does it better. For the time being I have left alone second-level directories (main/db1-ast, etc.). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-14Use BEGIN_OPTIONS / END_OPTIONS to make the syntax highlighting in my editor ↵russell1-2/+2
happy git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89264 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-01This commits the performance mods that give the priority processing engine ↵murf1-7/+7
in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88166 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-11Make sure we propogate ANI2 to the outbound channelmattf1-0/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85499 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-09Remove redundant includes (patch by snuffy) (Closes issue #10922)tilghman1-1/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85140 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-01Merged revisions 84166 via svnmerge from russell1-1/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r84166 | russell | 2007-10-01 09:24:49 -0500 (Mon, 01 Oct 2007) | 2 lines Simplify the CAN_EARLY_BRIDGE macro a bit. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84167 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-01Merged revisions 84158 via svnmerge from file1-5/+8
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r84158 | file | 2007-10-01 10:49:36 -0300 (Mon, 01 Oct 2007) | 4 lines Only attempt early bridging if the options given to Dial() permit it. (closes issue #10861) Reported by: peekyb ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84159 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-17Make the MALLOC_DEBUG output for free() useful again. After changing calls torussell1-1/+1
free to be ast_free, astmm said all calls to free were coming from utils.h git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82628 f38db490-d61c-443f-a65b-d21fe96a405b