mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 10:47:18 +00:00 
			
		
		
		
	I've audited all modules that include any header which includes asterisk/optional_api.h. All modules which use OPTIONAL_API now declare those dependencies in AST_MODULE_INFO using requires or optional_modules as appropriate. In addition ARI dependency declarations have been reworked. Instead of declaring additional required modules in res/ari/resource_*.c we now add them to an optional array "requiresModules" in api-docs for each module. This allows the AST_MODULE_INFO dependencies to include those missing modules. Change-Id: Ia0c70571f5566784f63605e78e1ceccb4f79c606
		
			
				
	
	
		
			165 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			165 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | |
| 	"_copyright": "Copyright (C) 2012 - 2013, Digium, Inc.",
 | |
| 	"_author": "David M. Lee, II <dlee@digium.com>",
 | |
| 	"_svn_revision": "$Revision$",
 | |
| 	"apiVersion": "2.0.0",
 | |
| 	"swaggerVersion": "1.1",
 | |
| 	"basePath": "http://localhost:8088/ari",
 | |
| 	"resourcePath": "/api-docs/playbacks.{format}",
 | |
| 	"requiresModules": [
 | |
| 		"res_stasis_playback"
 | |
| 	],
 | |
| 	"apis": [
 | |
| 		{
 | |
| 			"path": "/playbacks/{playbackId}",
 | |
| 			"description": "Control object for a playback operation.",
 | |
| 			"operations": [
 | |
| 				{
 | |
| 					"httpMethod": "GET",
 | |
| 					"summary": "Get a playback's details.",
 | |
| 					"nickname": "get",
 | |
| 					"responseClass": "Playback",
 | |
| 					"parameters": [
 | |
| 						{
 | |
| 							"name": "playbackId",
 | |
| 							"description": "Playback's id",
 | |
| 							"paramType": "path",
 | |
| 							"required": true,
 | |
| 							"allowMultiple": false,
 | |
| 							"dataType": "string"
 | |
| 						}
 | |
| 					],
 | |
| 					"errorResponses": [
 | |
| 						{
 | |
| 							"code": 404,
 | |
| 							"reason": "The playback cannot be found"
 | |
| 						}
 | |
| 					]
 | |
| 				},
 | |
| 				{
 | |
| 					"httpMethod": "DELETE",
 | |
| 					"summary": "Stop a playback.",
 | |
| 					"nickname": "stop",
 | |
| 					"responseClass": "void",
 | |
| 					"parameters": [
 | |
| 						{
 | |
| 							"name": "playbackId",
 | |
| 							"description": "Playback's id",
 | |
| 							"paramType": "path",
 | |
| 							"required": true,
 | |
| 							"allowMultiple": false,
 | |
| 							"dataType": "string"
 | |
| 						}
 | |
| 					],
 | |
| 					"errorResponses": [
 | |
| 						{
 | |
| 							"code": 404,
 | |
| 							"reason": "The playback cannot be found"
 | |
| 						}
 | |
| 					]
 | |
| 				}
 | |
| 			]
 | |
| 		},
 | |
| 		{
 | |
| 			"path": "/playbacks/{playbackId}/control",
 | |
| 			"description": "Control object for a playback operation.",
 | |
| 			"operations": [
 | |
| 				{
 | |
| 					"httpMethod": "POST",
 | |
| 					"summary": "Control a playback.",
 | |
| 					"nickname": "control",
 | |
| 					"responseClass": "void",
 | |
| 					"parameters": [
 | |
| 						{
 | |
| 							"name": "playbackId",
 | |
| 							"description": "Playback's id",
 | |
| 							"paramType": "path",
 | |
| 							"required": true,
 | |
| 							"allowMultiple": false,
 | |
| 							"dataType": "string"
 | |
| 						},
 | |
| 						{
 | |
| 							"name": "operation",
 | |
| 							"description": "Operation to perform on the playback.",
 | |
| 							"paramType": "query",
 | |
| 							"required": true,
 | |
| 							"allowMultiple": false,
 | |
| 							"dataType": "string",
 | |
| 							"allowableValues": {
 | |
| 								"valueType": "LIST",
 | |
| 								"values": [
 | |
| 									"restart",
 | |
| 									"pause",
 | |
| 									"unpause",
 | |
| 									"reverse",
 | |
| 									"forward"
 | |
| 								]
 | |
| 							}
 | |
| 						}
 | |
| 					],
 | |
| 					"errorResponses": [
 | |
| 						{
 | |
| 							"code": 400,
 | |
| 							"reason": "The provided operation parameter was invalid"
 | |
| 						},
 | |
| 						{
 | |
| 							"code": 404,
 | |
| 							"reason": "The playback cannot be found"
 | |
| 						},
 | |
| 						{
 | |
| 							"code": 409,
 | |
| 							"reason": "The operation cannot be performed in the playback's current state"
 | |
| 						}
 | |
| ]
 | |
| 				}
 | |
| 			]
 | |
| 		}
 | |
| 	],
 | |
| 	"models": {
 | |
| 		"Playback": {
 | |
| 			"id": "Playback",
 | |
| 			"description": "Object representing the playback of media to a channel",
 | |
| 			"properties": {
 | |
| 				"id": {
 | |
| 					"type": "string",
 | |
| 					"description": "ID for this playback operation",
 | |
| 					"required": true
 | |
| 				},
 | |
| 				"media_uri": {
 | |
| 					"type": "string",
 | |
| 					"description": "The URI for the media currently being played back.",
 | |
| 					"required": true
 | |
| 				},
 | |
| 				"next_media_uri": {
 | |
| 					"type": "string",
 | |
| 					"description": "If a list of URIs is being played, the next media URI to be played back.",
 | |
| 					"required": false
 | |
| 				},
 | |
| 				"target_uri": {
 | |
| 					"type": "string",
 | |
| 					"description": "URI for the channel or bridge to play the media on",
 | |
| 					"required": true
 | |
| 				},
 | |
| 				"language": {
 | |
| 					"type": "string",
 | |
| 					"description": "For media types that support multiple languages, the language requested for playback."
 | |
| 				},
 | |
| 				"state": {
 | |
| 					"type": "string",
 | |
| 					"description": "Current state of the playback operation.",
 | |
| 					"required": true,
 | |
| 					"allowableValues": {
 | |
| 						"valueType": "LIST",
 | |
| 						"values": [
 | |
| 							"queued",
 | |
| 							"playing",
 | |
| 							"continuing",
 | |
| 							"done"
 | |
| 						]
 | |
| 					}
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| }
 |