Bounty Enhanced Playback Control from AGI and FastAGI


We need the ability to do file playback in Fast Forward and Reverse from AGI scripts. The current methods require you enter playback and then have the user enter another key. A recording app I am working on needs complete playback control from the AGI scripts. We hope to achieve this by enhancing (STREAM FILE) to allow for complete functional control.


Start: 03/06/2010
State: Open
Contact: Bryant Zimmerman via or asterisk-dev (zktech)
Current Pledge Totals: $200.00 US

Developer working on Bounty:
None as of - 03-06-2010


I have been testing with (CONTROL STREAM FILE). The issue I have with it is I need to be able to switch the modes to keep track of playback state. If a user hits the FF, REV or Pause keys’ the AGI application does not get state updates. This does not allow us to maintain playback states and act upon them from with-in our AGI application. We also tried the ControlPlayback command as well and had a similar limitation.

Basic Features:

I need an enhancement to (STREAM FILE)
(STREAM FILE) would take several additional optional parameters. MODE (Play, FF, REV) and RATE (skipms)
The default for MODE would be PLAY With this command I can send in my escape digits to the keys that I want for Stop, Pause, Play, FF, REV and then when the user presses one of the digits (STREAM FILE) will send back the digit pressed and file position so I can re-enter the (STREAM FILE) in the last position using the correct mode and rate.

With this ability to detect the digits and re-enter we can provide Entry in any of the modes Play, FF, REV at varying rates. When a user hits the pause key the AGI application can then present them options for continue, re-entry ect… the possibilities are only limited by the AGI developer at that point.

I have looked at the c code for the CONTROL STREAM FILE and the STREAM FILE commands and believe most of the ability is already there between the two of them. The STREAM FILE just needs to be reworked with the additional options and ability. Based on my design the STREAM FILE could be modified using optional parameters not break any existing AGI apps. This provides a higher level of playback control without having to add more AGI functions and with no impact on users not interested in the enhanced STREAM FILE ability.

Bounty Terms:

The bounty will be offered to whoever gets their code accepted into subversion by Digium for inclusion into a future version of Asterisk 1.6.X. Developers must both update this page and contact those making pledges to state their intent before starting work.

Currently I have $200.00 Dollars that I can pay a developer via PayPal for this work.
The work must be completed against the current 1.6.1.x and 1.6.2.x versions of asterisk and be submitted so that it will be in all future versions of asterisk for all to use. If you are the developer interested in do this you must update this page and contact those making pledges to state your intent before starting work. We need this done in 2 to 3 weeks from the time you commit to doing it. Payment to be made via PayPal once we have confirmed that the code is stable and working and accepted by Digium into the subversion for inclusion into Asterisk 1.6.x and future version.

This bounty is backed by my small company ZK Tech Inc. so the funds are guaranteed if the work is completed to specifications. Please ask any questions or clarifications before committing to this bounty. We can not guarantee any pleges by others please contact them directly.

Bryant Zimmerman

If anyone else is interested in signing on to support this bounty either with testing or funding. Please let me know.

Current Bounty Pledges:

$200.00 ZK Tech Inc. 03-06-2010 (contact info via

Created by: zktech, Last modification: Sat 06 of Mar, 2010 (17:19 UTC)
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+