[asterisk-commits] mjordan: trunk r421699 - in /trunk: ./ UPGRADE-13.txt main/app.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Aug 21 10:25:29 CDT 2014


Author: mjordan
Date: Thu Aug 21 10:25:25 2014
New Revision: 421699

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=421699
Log:
ARI: Fix implicit answer when playback is initiated on unanswered channel

When issuing a POST /channels/{channel_id}/play on a channel that is not
yet answered, ARI is supposed to:
* Queue up an AST_CONTROL_PROGRESS on the channel
* Start up the playback of the media

Instead, we sneak an answer on the channel right before starting playing media.

This is due to ARI's usage of control_streamfile. This function implicitly
answers the channel (and doesn't give ARI the option to stop it). The answering
of the channel here is probably unnecessary:
* app_voicemail, by far the biggest consumer of this function, always answers
  the channels anyway
* control stream file (in res_agi) and ControlPlayback probably shouldn't be
  implicitly answering the channel. Answering should not be tied directly to
  playing back media.

As it turns out, the answering of the channel here is pretty old:
356042    twilson       if (ast_channel_state(chan) != AST_STATE_UP) {
  3087      anthm               res = ast_answer(chan);
180259   tilghman       }

(As in, ancient?)

Note that others ran into this problem and commented about it on various
mailing lists.

Review: https://reviewboard.asterisk.org/r/3907/

ASTERISK-24229 #close
Reported by: Matt Jordan
........

Merged revisions 421695 from http://svn.asterisk.org/svn/asterisk/branches/12
........

Merged revisions 421696 from http://svn.asterisk.org/svn/asterisk/branches/13

Modified:
    trunk/   (props changed)
    trunk/UPGRADE-13.txt
    trunk/main/app.c

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

Modified: trunk/UPGRADE-13.txt
URL: http://svnview.digium.com/svn/asterisk/trunk/UPGRADE-13.txt?view=diff&rev=421699&r1=421698&r2=421699
==============================================================================
--- trunk/UPGRADE-13.txt (original)
+++ trunk/UPGRADE-13.txt Thu Aug 21 10:25:25 2014
@@ -66,6 +66,12 @@
   new method to achieve this functionality is by using sound_begin to play
   a sound to the conference when waitmarked users are moved into the conference.
 
+ControlPlayback:
+ - The ControlPlayback and 'control stream file' AGI command will no longer
+   implicitly answer the channel. If you do not answer the channel prior to
+   using either this application or AGI command, you must send Progress
+   first.
+
 Queue:
  - Queue rules provided in queuerules.conf can no longer be named "general".
 

Modified: trunk/main/app.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/app.c?view=diff&rev=421699&r1=421698&r2=421699
==============================================================================
--- trunk/main/app.c (original)
+++ trunk/main/app.c Thu Aug 21 10:25:25 2014
@@ -1045,9 +1045,6 @@
 		if (restart) {
 			strcat(breaks, restart);
 		}
-	}
-	if (ast_channel_state(chan) != AST_STATE_UP) {
-		res = ast_answer(chan);
 	}
 
 	if ((end = strchr(file, ':'))) {




More information about the asterisk-commits mailing list