[asterisk-commits] rmudgett: trunk r336662 - in /trunk: ./ UPGRADE-1.8.txt apps/app_dial.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Sep 19 14:03:44 CDT 2011


Author: rmudgett
Date: Mon Sep 19 14:03:38 2011
New Revision: 336662

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=336662
Log:
Merged revisions 336659 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r336659 | rmudgett | 2011-09-19 13:51:19 -0500 (Mon, 19 Sep 2011) | 38 lines
  
  Merged revisions 336658 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r336658 | rmudgett | 2011-09-19 13:46:40 -0500 (Mon, 19 Sep 2011) | 31 lines
    
    Made Dial d and H options no longer immediately auto-answer the calling leg.
    
    The Dial d and H options break DTMF attended transfer atxferdropcall
    option.
    
    1) Party A calls party B.
    2) Party B does a DTMF attended transfer to Party C.
    
    If the dialplan uses the Dial d or H options to call Party C then the Dial
    application answers the call immediately before initiating the call leg to
    Party C.  The premature answer causes the transfer code to not invoke the
    atxferdropcall=no behavior for a blonde transfer since Party C has
    "answered".  The transfer code thinks that Party B has "consulted" with
    Party C when Party B hangs up and completes the transfer to Party A.
    Party A now hears ringback until Party C actually answers.
    
    ASTERISK-13294 Dial d option.
    ASTERISK-11067 Dial H option to disconnect before answer.
    
    The referenced issues made Dial answer with the d and H options because
    many SIP and ISDN phones cannot send DTMF before the call is connected.
    
    * Made require the dialplan to control when or if the call needs to be
    answered to use the Dial application d and H options.  (The call is no
    longer surprise answered when using the Dial d or H options.)
    
    Review: https://reviewboard.asterisk.org/r/1381/
    
    JIRA AST-623
    JIRA AST-666
  ........
................

Modified:
    trunk/   (props changed)
    trunk/UPGRADE-1.8.txt
    trunk/apps/app_dial.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-10-merged' - no diff available.

Modified: trunk/UPGRADE-1.8.txt
URL: http://svnview.digium.com/svn/asterisk/trunk/UPGRADE-1.8.txt?view=diff&rev=336662&r1=336661&r2=336662
==============================================================================
--- trunk/UPGRADE-1.8.txt (original)
+++ trunk/UPGRADE-1.8.txt Mon Sep 19 14:03:38 2011
@@ -143,6 +143,12 @@
   events/responses output the connected line ID as caller ID.  These party ID's
   are now separate.
 
+* The Dial application d and H options do not automatically answer the call
+  anymore.  It broke DTMF attended transfers.  Since many SIP and ISDN phones
+  cannot send DTMF before a call is connected, you need to answer the call
+  leg to those phones before using Dial with these options for them to have
+  any effect before the dialed party answers.
+
 * The outgoing directory (where .call files are read) now uses inotify to
   detect file changes instead of polling the directory on a regular basis.
   If your outgoing folder is on a NFS mount or another network file system,

Modified: trunk/apps/app_dial.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_dial.c?view=diff&rev=336662&r1=336661&r2=336662
==============================================================================
--- trunk/apps/app_dial.c (original)
+++ trunk/apps/app_dial.c Mon Sep 19 14:03:38 2011
@@ -120,6 +120,11 @@
 					a call to be answered. Exit to that extension if it exists in the
 					current context, or the context defined in the <variable>EXITCONTEXT</variable> variable,
 					if it exists.</para>
+					<note>
+						<para>Many SIP and ISDN phones cannot send DTMF digits until the call is
+						connected.  If you wish to use this option with these phones, you
+						can use the <literal>Answer</literal> application before dialing.</para>
+					</note>
 				</option>
 				<option name="D" argsep=":">
 					<argument name="called" />
@@ -170,10 +175,18 @@
 					</note>
 				</option>
 				<option name="h">
-					<para>Allow the called party to hang up by sending the <literal>*</literal> DTMF digit.</para>
+					<para>Allow the called party to hang up by sending the DTMF sequence
+					defined for disconnect in <filename>features.conf</filename>.</para>
 				</option>
 				<option name="H">
-					<para>Allow the calling party to hang up by hitting the <literal>*</literal> DTMF digit.</para>
+					<para>Allow the calling party to hang up by sending the DTMF sequence
+					defined for disconnect in <filename>features.conf</filename>.</para>
+					<note>
+						<para>Many SIP and ISDN phones cannot send DTMF digits until the call is
+						connected.  If you wish to allow DTMF disconnect before the dialed
+						party answers with these phones, you can use the <literal>Answer</literal>
+						application before dialing.</para>
+					</note>
 				</option>
 				<option name="i">
 					<para>Asterisk will ignore any forwarding requests it may receive on this dial attempt.</para>
@@ -2070,10 +2083,6 @@
 		res = -1; /* reset default */
 	}
 
-	if (ast_test_flag64(&opts, OPT_DTMF_EXIT) || ast_test_flag64(&opts, OPT_CALLER_HANGUP)) {
-		__ast_answer(chan, 0, 0);
-	}
-
 	if (continue_exec)
 		*continue_exec = 0;
 




More information about the asterisk-commits mailing list