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

@@ -58,6 +58,19 @@
}
],
"models": {
"FormatLangPair": {
"id": "FormatLangPair",
"properties": {
"language": {
"required": true,
"type": "string"
},
"format": {
"required": true,
"type": "string"
}
}
},
"Sound": {
"id": "Sound",
"properties": {
@@ -71,13 +84,10 @@
"description": "Text description of the sound, usually the words spoken.",
"type": "string"
},
"lang": {
"required": true,
"type": "string"
},
"formats": {
"required": true,
"type": "List[string]"
"description": "The formats and languages in which this sound is available.",
"type": "List[FormatLangPair]"
}
}
}