[asterisk-commits] rmudgett: branch 1.8 r336658 - in /branches/1.8: UPGRADE.txt apps/app_dial.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Sep 19 13:46:44 CDT 2011
Author: rmudgett
Date: Mon Sep 19 13:46:40 2011
New Revision: 336658
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=336658
Log:
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:
branches/1.8/UPGRADE.txt
branches/1.8/apps/app_dial.c
Modified: branches/1.8/UPGRADE.txt
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/UPGRADE.txt?view=diff&rev=336658&r1=336657&r2=336658
==============================================================================
--- branches/1.8/UPGRADE.txt (original)
+++ branches/1.8/UPGRADE.txt Mon Sep 19 13:46:40 2011
@@ -147,6 +147,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: branches/1.8/apps/app_dial.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/apps/app_dial.c?view=diff&rev=336658&r1=336657&r2=336658
==============================================================================
--- branches/1.8/apps/app_dial.c (original)
+++ branches/1.8/apps/app_dial.c Mon Sep 19 13:46:40 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