mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-25 22:18:07 +00:00 
			
		
		
		
	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/branches/1.8@336658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -147,6 +147,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, | ||||
|   | ||||
| @@ -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; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user