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
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Richard Mudgett
2011-09-19 19:03:38 +00:00
parent f2fe72628e
commit 5c71a502a7
2 changed files with 21 additions and 6 deletions

View File

@@ -143,6 +143,12 @@ From 1.6.2 to 1.8:
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,

View File

@@ -120,6 +120,11 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
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 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
</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 @@ static int dial_exec_full(struct ast_channel *chan, const char *data, struct ast
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;