mirror of
https://github.com/asterisk/asterisk.git
synced 2026-05-08 06:09:37 +00:00
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
96 lines
2.1 KiB
JSON
96 lines
2.1 KiB
JSON
{
|
|
"_copyright": "Copyright (C) 2012 - 2013, Digium, Inc.",
|
|
"_author": "David M. Lee, II <dlee@digium.com>",
|
|
"_svn_revision": "$Revision$",
|
|
"apiVersion": "0.0.1",
|
|
"swaggerVersion": "1.1",
|
|
"basePath": "http://localhost:8088/stasis",
|
|
"resourcePath": "/api-docs/sounds.{format}",
|
|
"apis": [
|
|
{
|
|
"path": "/sounds",
|
|
"description": "Sounds",
|
|
"operations": [
|
|
{
|
|
"httpMethod": "GET",
|
|
"summary": "List all sounds.",
|
|
"nickname": "getSounds",
|
|
"responseClass": "List[Sound]",
|
|
"parameters": [
|
|
{
|
|
"name": "lang",
|
|
"paramType": "query",
|
|
"dataType": "string",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "format",
|
|
"paramType": "query",
|
|
"dataType": "string",
|
|
"required": false,
|
|
"__note": "core show translation can show translation paths between formats, along with relative costs. so this could be just installed format, or we could follow that for transcoded formats."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path": "/sounds/{soundId}",
|
|
"description": "Individual sound",
|
|
"operations": [
|
|
{
|
|
"httpMethod": "GET",
|
|
"summary": "Get a sound's details.",
|
|
"nickname": "getStoredSound",
|
|
"responseClass": "Sound",
|
|
"parameters": [
|
|
{
|
|
"name": "soundId",
|
|
"description": "Sound's id",
|
|
"paramType": "path",
|
|
"required": true,
|
|
"allowMultiple": false,
|
|
"dataType": "string"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"models": {
|
|
"FormatLangPair": {
|
|
"id": "FormatLangPair",
|
|
"properties": {
|
|
"language": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"format": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Sound": {
|
|
"id": "Sound",
|
|
"properties": {
|
|
"id": {
|
|
"required": true,
|
|
"description": "Sound's identifier.",
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"required": false,
|
|
"description": "Text description of the sound, usually the words spoken.",
|
|
"type": "string"
|
|
},
|
|
"formats": {
|
|
"required": true,
|
|
"description": "The formats and languages in which this sound is available.",
|
|
"type": "List[FormatLangPair]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|