mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	Adds a new channel driver for creating channels for specific purposes in bridges, primarily to act as either recorders or announcers. Adds ARI commands for playing announcements to ever participant in a bridge as well as for recording a bridge. This patch also includes some documentation/reponse fixes to related ARI models such as playback controls. (closes issue ASTERISK-21592) Reported by: Matt Jordan (closes issue ASTERISK-21593) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2670/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			144 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			3.3 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/playback.{format}",
 | |
| 	"apis": [
 | |
| 		{
 | |
| 			"path": "/playback/{playbackId}",
 | |
| 			"description": "Control object for a playback operation.",
 | |
| 			"operations": [
 | |
| 				{
 | |
| 					"httpMethod": "GET",
 | |
| 					"summary": "Get a playback's details.",
 | |
| 					"nickname": "getPlayback",
 | |
| 					"responseClass": "Playback",
 | |
| 					"parameters": [
 | |
| 						{
 | |
| 							"name": "playbackId",
 | |
| 							"description": "Playback's id",
 | |
| 							"paramType": "path",
 | |
| 							"required": true,
 | |
| 							"allowMultiple": false,
 | |
| 							"dataType": "string"
 | |
| 						}
 | |
| 					]
 | |
| 				},
 | |
| 				{
 | |
| 					"httpMethod": "DELETE",
 | |
| 					"summary": "Stop a playback.",
 | |
| 					"nickname": "stopPlayback",
 | |
| 					"responseClass": "Playback",
 | |
| 					"parameters": [
 | |
| 						{
 | |
| 							"name": "playbackId",
 | |
| 							"description": "Playback's id",
 | |
| 							"paramType": "path",
 | |
| 							"required": true,
 | |
| 							"allowMultiple": false,
 | |
| 							"dataType": "string"
 | |
| 						}
 | |
| 					]
 | |
| 				}
 | |
| 			]
 | |
| 		},
 | |
| 		{
 | |
| 			"path": "/playback/{playbackId}/control",
 | |
| 			"description": "Control object for a playback operation.",
 | |
| 			"operations": [
 | |
| 				{
 | |
| 					"httpMethod": "POST",
 | |
| 					"summary": "Get a playback's details.",
 | |
| 					"nickname": "controlPlayback",
 | |
| 					"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": "URI for the media to play back.",
 | |
| 					"required": true
 | |
| 				},
 | |
| 				"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",
 | |
| 							"complete"
 | |
| 						]
 | |
| 					}
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| }
 |