asterisk/apps
Steve Murphy c61e8a7865 This change allows the disconnect feature (as in "one-touch" in features.c)
to be used within the dial app, before a call is bridged.

Many thanks to sobomax for submitting this patch. 

Quoting from bug 11582:

  "So the goal of the patch was to use the user configured feature code during the 
   call setup phase. The original ast_feature_interpret() function is not well suited 
   for this purpose as it uses much call bridge specific data and doesn't separate a 
   detection of feature from a feature handler call. So a new function ast_feature_detect() 
   has been extracted off the ast_feature_interpret() function but keeping the original 
   logic intact except some insignificant changes to locking.

  "Having created the ast_feature_detect() function the possibility to use feature detection 
   in almost any place of the asterisk code. So a call to this function has been added to 
   wait_for_answer() function of app_dial.so module. This code doesn't call the feature handler 
   however and uses old call leg disconnect logic to make the changes as small and simple as 
   possible to prevent unexpected problems. A disconnect feature currently is the only one 
   supported during call setup as other features as call parking and call transfer don't make much 
   sense during call setup. However if need in some of the features would arise it is much easier to 
   implement as the infrastructure changes are already in place with this patch."

I have cleaned up the patch somewhat, and verified that the existing functionality is not
harmed, and that the new functionality works. Terry has committed his stuff, and there were
no conflicts (see 14274).

(closes issue #11583)
Reported by: sobomax
Patches:
      patch-apps__app_dial.c uploaded by sobomax (license 359)
      patch-include__asterisk__features.h uploaded by sobomax (license 359)
      patch-res__res_features.c uploaded by sobomax (license 359)
      enable-features-during-call-setup.diff uploaded by sobomax (license 359)
      11583.newdiff uploaded by murf (license 17)
      enable-features-during-call-setup-1.diff uploaded by sobomax (license 359)
      11583.latest-patch uploaded by murf (license 17)
Tested by: sobomax, murf




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@172890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-02 17:37:15 +00:00
..
Makefile Merged revisions 127892,127895 via svnmerge from 2008-07-03 22:23:04 +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 This change allows the disconnect feature (as in "one-touch" in features.c) 2009-02-02 17:37:15 +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 Fix "cancel answered elsewhere" through app_queue with members in chan_local. 2009-01-29 17:08:22 +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 Merged revisions 172438 via svnmerge from 2009-01-29 23:15:40 +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 Blank argument crashes Asterisk 2009-02-01 02:44:23 +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
rpt_flow.pdf remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00