asterisk/apps
Steve Murphy 268ac221a2 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: https://origsvn.digium.com/svn/asterisk/trunk@172063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-28 20:31:06 +00:00
..
app_adsiprog.c - Add more <see-also> based on TFOT. 2008-11-05 13:07:29 +00:00
app_alarmreceiver.c Add more SeeAlso references based on TFOT. 2008-11-05 14:37:07 +00:00
app_amd.c Add more SeeAlso references based on TFOT. 2008-11-05 14:37:07 +00:00
app_authenticate.c - Add more <see-also> based on TFOT. 2008-11-05 13:07:29 +00:00
app_cdr.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_chanisavail.c Merge ast_str_opaque branch (discontinue usage of ast_str internals) 2008-12-13 08:36:35 +00:00
app_channelredirect.c Merged revisions 172030 via svnmerge from 2009-01-28 20:31:06 +00:00
app_chanspy.c Merged revisions 165889 via svnmerge from 2008-12-19 15:05:09 +00:00
app_controlplayback.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_dahdibarge.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_dahdiras.c Fix various spelling and grammatical issues in documentation 2008-11-02 02:50:33 +00:00
app_dahdiscan.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_db.c - Add some see-also references based on TFOT. 2008-11-05 12:13:57 +00:00
app_dial.c Merged revisions 170568 via svnmerge from 2009-01-23 19:09:18 +00:00
app_dictate.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_directed_pickup.c Merged revisions 162341 via svnmerge from 2008-12-09 21:16:37 +00:00
app_directory.c Merged revisions 165255 via svnmerge from 2008-12-17 21:17:20 +00:00
app_disa.c Merged revisions 168561 via svnmerge from 2009-01-13 19:22:13 +00:00
app_dumpchan.c Merge ast_str_opaque branch (discontinue usage of ast_str internals) 2008-12-13 08:36:35 +00:00
app_echo.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_exec.c Fix various spelling and grammatical issues in documentation 2008-11-02 02:50:33 +00:00
app_externalivr.c Merge ast_str_opaque branch (discontinue usage of ast_str internals) 2008-12-13 08:36:35 +00:00
app_fax.c Make app_fax compatible with newer versions of spandsp. This remains backwards compatible with earlier versions though so do not fret. 2008-12-15 15:41:22 +00:00
app_festival.c Merged revisions 162273 via svnmerge from 2008-12-09 20:46:11 +00:00
app_flash.c Add Flash() application XML documentation. 2008-11-02 05:10:22 +00:00
app_followme.c Answer the channel if it has not already been answered and we've already found a valid profile for followme. 2009-01-07 18:20:31 +00:00
app_forkcdr.c - Add PlayTones() and StopPlayTones() applications XML documentation. 2008-11-05 01:44:04 +00:00
app_getcpeid.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_ices.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_image.c - Add more <see-also> based on TFOT. 2008-11-05 13:07:29 +00:00
app_ivrdemo.c Add XML documentation for: 2008-11-03 01:01:25 +00:00
app_jack.c Fix build WRT ast_str_opaque 2008-12-15 14:40:08 +00:00
app_macro.c Merged revisions 166093 via svnmerge from 2008-12-23 18:13:49 +00:00
app_meetme.c Merged revisions 170147 via svnmerge from 2009-01-22 16:52:21 +00:00
app_milliwatt.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_minivm.c Better to use the proper app name 2009-01-12 16:31:27 +00:00
app_mixmonitor.c Janitor, use ARRAY_LEN() when possible. 2008-12-05 10:31:25 +00:00
app_morsecode.c Add more SeeAlso references based on TFOT. 2008-11-05 14:37:07 +00:00
app_mp3.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_nbscat.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_originate.c Set ORIGINATE_STATUS instead of OUTGOING_STATUS to match the documentation 2009-01-09 01:15:43 +00:00
app_osplookup.c improve configure script to remember the previous value of each dependency in build_tools/menuselect-deps, so that (once it has been written) menuselect can use this information to warn the user when a previously met dependency is no longer met 2008-11-04 15:07:54 +00:00
app_page.c Merged revisions 170979 via svnmerge from 2009-01-25 13:35:48 +00:00
app_parkandannounce.c Clear the autoloop flag when parsing and setting the context/extension/priority to go back to. When the channel executes a PBX again we want it to start out at the point we explicitly say and at that point it will not yet be doing autoloop. 2009-01-22 15:01:54 +00:00
app_playback.c Janitor, use ARRAY_LEN() when possible. 2008-12-05 10:31:25 +00:00
app_privacy.c Add more SeeAlso references based on TFOT. 2008-11-05 14:37:07 +00:00
app_queue.c Add final part of previously committed work for answered elsewhere in queue - the missing piece that started with app_dial() earlier on. 2009-01-28 14:37:16 +00:00
app_read.c Merged revisions 168561 via svnmerge from 2009-01-13 19:22:13 +00:00
app_readexten.c Merged revisions 168561 via svnmerge from 2009-01-13 19:22:13 +00:00
app_readfile.c - Add some see-also references based on TFOT. 2008-11-05 12:13:57 +00:00
app_record.c Fix the XML documentation for Record(). 2008-12-19 18:20:46 +00:00
app_rpt.c Janitor, use ARRAY_LEN() when possible. 2008-12-05 10:31:25 +00:00
app_sayunixtime.c Add more SeeAlso references based on TFOT. 2008-11-05 14:37:07 +00:00
app_senddtmf.c - Add some see-also references based on TFOT. 2008-11-05 12:13:57 +00:00
app_sendtext.c - Add some see-also references based on TFOT. 2008-11-05 12:13:57 +00:00
app_setcallerid.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_skel.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_sms.c Introduce SMS() application XML documentation. 2008-12-07 22:43:46 +00:00
app_softhangup.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_speech_utils.c Move Speech* applications and functions documentation to XML. 2008-12-06 21:18:51 +00:00
app_stack.c If the autoloop flag is set on a channel, then we need to 2008-12-05 23:24:38 +00:00
app_system.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_talkdetect.c Fix a typo in the name of the application. 2008-11-02 04:57:02 +00:00
app_test.c Add TestClient() and TestServer() applications XML 2008-11-05 19:17:32 +00:00
app_transfer.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_url.c - Add some see-also references based on TFOT. 2008-11-05 12:13:57 +00:00
app_userevent.c Merged revisions 169364 via svnmerge from 2009-01-19 20:05:52 +00:00
app_verbose.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_voicemail.c Reset the ast_str used for escape substitution. We need to do this since it is a thread local variable that may contain the value of a previous substitution. 2009-01-23 17:32:26 +00:00
app_waitforring.c Add XML documentation for: 2008-11-03 01:01:25 +00:00
app_waitforsilence.c Add XML documentation for: 2008-11-03 01:01:25 +00:00
app_waituntil.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_while.c Merged revisions 156755 via svnmerge from 2008-11-14 00:43:13 +00:00
app_zapateller.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
enter.h remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00
leave.h remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00
Makefile Merged revisions 127892,127895 via svnmerge from 2008-07-03 22:23:04 +00:00
rpt_flow.pdf remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00