diff options
author | Matt Jordan <mjordan@digium.com> | 2016-05-18 06:19:58 -0500 |
---|---|---|
committer | Matt Jordan <mjordan@digium.com> | 2016-05-20 09:06:12 -0500 |
commit | e773e3a9bbaf378d53647e4bac3ffcd61afb4ae6 (patch) | |
tree | 23e75dcdaf9b8c72a23387bfabdd42f643e5c480 /include | |
parent | d4b77dad1b0154eb3b89133d941dd8d624deda54 (diff) |
ARI: Add the ability to download the media associated with a stored recording
This patch adds a new feature to ARI that allows a client to download
the media associated with a stored recording. The new route is
/recordings/stored/{name}/file, and transmits the underlying binary file
using Asterisk's HTTP server's underlying file transfer facilities.
Because this REST route returns non-JSON, a few small enhancements had
to be made to the Python Swagger generation code, as well as the
mustache templates that generate the ARI bindings.
ASTERISK-26042 #close
Change-Id: I49ec5c4afdec30bb665d9c977ab423b5387e0181
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/ari.h | 2 | ||||
-rw-r--r-- | include/asterisk/stasis_app_recording.h | 24 |
2 files changed, 26 insertions, 0 deletions
diff --git a/include/asterisk/ari.h b/include/asterisk/ari.h index c9f47a6e5..79b9516eb 100644 --- a/include/asterisk/ari.h +++ b/include/asterisk/ari.h @@ -95,6 +95,8 @@ struct ast_ari_response { /*! HTTP response code. * See http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html */ int response_code; + /*! File descriptor for whatever file we want to respond with */ + int fd; /*! Corresponding text for the response code */ const char *response_text; /* Shouldn't http.c handle this? */ /*! Flag to indicate that no further response is needed */ diff --git a/include/asterisk/stasis_app_recording.h b/include/asterisk/stasis_app_recording.h index 543207a47..bded30629 100644 --- a/include/asterisk/stasis_app_recording.h +++ b/include/asterisk/stasis_app_recording.h @@ -49,6 +49,30 @@ const char *stasis_app_stored_recording_get_file( struct stasis_app_stored_recording *recording); /*! + * \brief Returns the full filename, with extension, for this recording. + * \since 14.0.0 + * + * \param recording Recording to query. + * + * \return Absolute path to the recording file, with the extension. + * \return \c NULL on error + */ +const char *stasis_app_stored_recording_get_filename( + struct stasis_app_stored_recording *recording); + +/*! + * \brief Returns the extension for this recording. + * \since 14.0.0 + * + * \param recording Recording to query. + * + * \return The extension associated with this recording. + * \return \c NULL on error + */ +const char *stasis_app_stored_recording_get_extension( + struct stasis_app_stored_recording *recording); + +/*! * \brief Convert stored recording info to JSON. * * \param recording Recording to convert. |