[asterisk-dev] [Code Review] 2531: Implement REST API for playback to chamnel

David Lee reviewboard at asterisk.org
Wed May 15 17:04:23 CDT 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2531/
-----------------------------------------------------------

(Updated May 15, 2013, 5:04 p.m.)


Review request for Asterisk Developers.


Changes
-------

Merged latest from trunk; addressed review feedback.

 * Got rid of an extra object lock in stasis/control.c to improve queueing concurrency
 * Replaced ast_streamfile with ast_control_streamfile
   * Documented the params to ast_control_streamfile
 * Removed unnecessary 'Allocation error' log


Bugs: ASTERISK-21283 and ASTERISK-21586
    https://issues.asterisk.org/jira/browse/ASTERISK-21283
    https://issues.asterisk.org/jira/browse/ASTERISK-21586


Repository: Asterisk


Description
-------

(depends on https://reviewboard.asterisk.org/r/2530)

This patch implements the REST API's for POST /channels/{channelId}/play
and GET /playback/{playbackId}.

This allows an external application to initiate playback of a sound on a
channel while the channel is in the Stasis application.

/play commands are issued asynchronously, and return immediately with
the URL of the associated /playback resource. Playback commands queue up,
playing in succession. The /playback resource shows the state of a
playback operation as enqueued, playing or complete. (Although the
operation will only be in the 'complete' state for a very short time,
since it is almost immediately freed up).

(closes issue ASTERISK-21283)
(closes issue ASTERISK-21586)
Review: https://reviewboard.asterisk.org/r/2531/


Diffs (updated)
-----

  /team/dlee/res-stasis-cleanup/include/asterisk/app.h 388919 
  /team/dlee/res-stasis-cleanup/include/asterisk/stasis_app_playback.h PRE-CREATION 
  /team/dlee/res-stasis-cleanup/include/asterisk/stasis_channels.h 388919 
  /team/dlee/res-stasis-cleanup/include/asterisk/stasis_http.h 388919 
  /team/dlee/res-stasis-cleanup/main/channel.c 388919 
  /team/dlee/res-stasis-cleanup/main/channel_internal_api.c 388919 
  /team/dlee/res-stasis-cleanup/main/stasis_channels.c 388919 
  /team/dlee/res-stasis-cleanup/res/res_stasis_http.c 388919 
  /team/dlee/res-stasis-cleanup/res/res_stasis_http_channels.c 388919 
  /team/dlee/res-stasis-cleanup/res/res_stasis_json_events.c 388919 
  /team/dlee/res-stasis-cleanup/res/res_stasis_json_events.exports.in 388919 
  /team/dlee/res-stasis-cleanup/res/res_stasis_playback.c PRE-CREATION 
  /team/dlee/res-stasis-cleanup/res/res_stasis_playback.exports.in PRE-CREATION 
  /team/dlee/res-stasis-cleanup/res/stasis/control.c 388919 
  /team/dlee/res-stasis-cleanup/res/stasis_http/resource_channels.h 388919 
  /team/dlee/res-stasis-cleanup/res/stasis_http/resource_channels.c 388919 
  /team/dlee/res-stasis-cleanup/res/stasis_http/resource_playback.c 388919 
  /team/dlee/res-stasis-cleanup/res/stasis_json/resource_channels.h 388919 
  /team/dlee/res-stasis-cleanup/res/stasis_json/resource_events.h 388919 
  /team/dlee/res-stasis-cleanup/rest-api/api-docs/channels.json 388919 
  /team/dlee/res-stasis-cleanup/rest-api/api-docs/events.json 388919 

Diff: https://reviewboard.asterisk.org/r/2531/diff/


Testing
-------

Poked the playback API manually.


Thanks,

David Lee

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20130515/d03a8133/attachment-0001.htm>


More information about the asterisk-dev mailing list