[Home]

Summary:ASTERISK-25661: No clean way to stop Playback in Asterisk 13 and PLAYBACKSTATUS regression
Reporter:Neil L. Decapia (neildecapia)Labels:
Date Opened:2016-01-06 08:09:44.000-0600Date Closed:
Priority:MajorRegression?
Status:Open/NewComponents:Applications/app_playback Core/ManagerInterface
Versions:13.3.2 13.6.0 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:In Asterisk 11, the {{Playback}} application can be terminated by redirecting the channel via the manager {{Redirect}} action. Channel breaks out of {{Playback}}, and {{PLAYBACKSTATUS}} is set to "SUCCESS":

{noformat:title=Asterisk Call Manager/1.3}
Action: Redirect
Channel: SIP/301-00000000
Exten: 3000
Priority: 1
Context: testing-redirect

Response: Success
Message: Redirect successful

Event: VarSet
Privilege: dialplan,all
Channel: SIP/301-00000000
Variable: PLAYBACKSTATUS
Value: SUCCESS
Uniqueid: 1452086660.0
{noformat}

In Asterisk 13, {{Redirect}} still breaks the channel out of {{Playback}}, but {{PLAYBACKSTATUS}} is now set to "FAILED":

{noformat:title=Asterisk Call Manager/2.7.0}
Action: Redirect
Channel: SIP/301-00000000
Exten: 3000
Priority: 1
Context: testing-redirect

Response: Success
Message: Redirect successful

Event: VarSet
Privilege: dialplan,all
Channel: SIP/301-00000000
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 301
CallerIDName: Carol
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode:
Context: testing
Exten: 300
Priority: 1
Uniqueid: 1452086716.0
Variable: PLAYBACKSTATUS
Value: FAILED
{noformat}

Scripts now cannot rely on the result to determine if {{Playback}} did indeed encounter an error or if it was merely stopped, etc.

Asterisk 13 has the manager {{ControlPlayback}} action that can stop playback of a file being played to a channel. However, if {{Playback}} is given more than one file name, then {{ControlPlayback}} only stops the file that's currently playing; {{Playback}} will proceed to play the next file. So {{ControlPlayback}} doesn't really break out of {{Playback}}.

So to have Asterisk 13 cleanly stop {{Playback}}, the regression\(?\) on the {{PLAYBACKSTATUS}} value (Asterisk 11: "SUCCESS", Asterisk 13: "FAILED") should be fixed, or {{ControlPlayback}} should be changed to completely break out of {{Playback}}.
Comments:By: Asterisk Team (asteriskteam) 2016-01-06 08:09:46.287-0600

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Sean Bright (seanbright) 2023-01-05 11:06:04.790-0600

I know this issue is ancient but I have a review up for the regression. However, even before the change in Asterisk 12, the value of {{PLAYBACKSTATUS}} variable is useless if playing back multiple files using the {{&}} syntax because you have no idea which of the multiple files the {{PLAYBACKSTATUS}} variable is referring to. Personally, I would avoid using this variable entirely.