summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES26
-rw-r--r--main/file.c5
2 files changed, 31 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index f19704d90..da516efdc 100644
--- a/CHANGES
+++ b/CHANGES
@@ -31,6 +31,21 @@ ConfBridge
- record_command: a command to execute when recording is finished
Note that these options may also be with the CONFBRIDGE function.
+ControlPlayback
+------------------
+ * Remote files can now be retrieved and played back. See the Playback
+ dialplan application for more details.
+
+Playback
+------------------
+ * Remote files can now be retrieved and played back via the Playback and other
+ media playback dialplan applications. This is done by directly providing
+ the URL to play to the dialplan application:
+ same => n,Playback(http://1.1.1.1/howler-monkeys-fl.wav)
+ Note that unlike 'normal' media files, the entire URI to the file must be
+ provided, including the file extension. Currently, on HTTP and HTTPS URI
+ schemes are supported.
+
SMS
------------------
* Added the 'n' option, which prevents the SMS from being written to the log
@@ -132,6 +147,17 @@ Core
of '[json]' can be set, e.g.,
full => [json]debug,verbose,notice,warning,error
+ * The core now supports a 'media cache', which stores temporary media files
+ retrieved from external sources. CLI commands have been added to manipulate
+ and display the cached files, including:
+ - 'media cache show <all>' - show all cached media files, or details about
+ one particular cached media file
+ - 'media cache refresh <item>' - force a refresh of a particular media file
+ in the cache
+ - 'media cache delete <item>' - remove an item from the cache
+ - 'media cache create <uri>' - retrieve a URI and store it in the cache
+
+
Functions
------------------
diff --git a/main/file.c b/main/file.c
index f0f826a4f..654937a58 100644
--- a/main/file.c
+++ b/main/file.c
@@ -54,6 +54,7 @@ ASTERISK_REGISTER_FILE()
#include "asterisk/stasis.h"
#include "asterisk/json.h"
#include "asterisk/stasis_system.h"
+#include "asterisk/media_cache.h"
/*! \brief
* The following variable controls the layout of localized sound files.
@@ -644,6 +645,10 @@ static int fileexists_test(const char *filename, const char *fmt, const char *la
return 0;
}
+ if (!ast_media_cache_retrieve(filename, NULL, buf, buflen)) {
+ return filehelper(buf, result_cap, NULL, ACTION_EXISTS);
+ }
+
if (ast_language_is_prefix && !is_absolute_path(filename)) { /* new layout */
if (lang) {
snprintf(buf, buflen, "%s/%s", lang, filename);