Index installed sounds and implement ARI sounds queries

This adds support for stasis/sounds and stasis/sounds/{ID} queries via
the Asterisk RESTful Interface (ARI, formerly Stasis-HTTP).

The following changes have been made to accomplish this:
* A modular indexer was created for local media.
* A new function to get an ast_format associated with a file extension
  was added.  
* Modifications were made to the built-in HTTP server so that URI
  decoding could be deferred to the URI handler when necessary.
* The Stasis-HTTP sounds JSON documentation was modified to handle
  cases where multiple languages are installed in different formats.
* Register and Unregister events for formats were added to the system
  topic.

(closes issue ASTERISK-21584)
(closes issue ASTERISK-21585)
Review: https://reviewboard.asterisk.org/r/2507/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@392700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Kinsey Moore
2013-06-24 13:49:20 +00:00
parent cc29957a6f
commit a0b7a49a4a
14 changed files with 1402 additions and 9 deletions

View File

@@ -471,4 +471,22 @@ int ast_format_is_slinear(const struct ast_format *format);
* \brief Get the best slinear format id for a given sample rate
*/
enum ast_format_id ast_format_slin_by_rate(unsigned int rate);
/*!
* \since 12
* \brief Get the message type used for signaling a format registration
*
* \retval Stasis message type for format registration
* \retval NULL on error
*/
struct stasis_message_type *ast_format_register_type(void);
/*!
* \since 12
* \brief Get the message type used for signaling a format unregistration
*
* \retval Stasis message type for format unregistration
* \retval NULL on error
*/
struct stasis_message_type *ast_format_unregister_type(void);
#endif /* _AST_FORMAT_H */