2 "_copyright": "Copyright (C) 2012 - 2013, Digium, Inc.",
3 "_author": "David M. Lee, II <dlee@digium.com>",
4 "_svn_revision": "$Revision$",
6 "swaggerVersion": "1.1",
7 "basePath": "http://localhost:8088/stasis",
8 "resourcePath": "/api-docs/bridges.{format}",
12 "description": "Active bridges",
16 "summary": "List all active bridges in Asterisk.",
18 "responseClass": "List[Bridge]"
22 "summary": "Create a new bridge.",
23 "notes": "This bridge persists until it has been shut down, or Asterisk has been shut down.",
25 "responseClass": "Bridge",
29 "description": "Comma separated list of bridge type attributes (mixing, holding, dtmf_events, proxy_media).",
32 "allowMultiple": false,
37 "description": "Unique ID to give to the bridge being created.",
40 "allowMultiple": false,
45 "description": "Name to give to the bridge being created.",
48 "allowMultiple": false,
56 "path": "/bridges/{bridgeId}",
57 "description": "Individual bridge",
61 "summary": "Create a new bridge or updates an existing one.",
62 "notes": "This bridge persists until it has been shut down, or Asterisk has been shut down.",
63 "nickname": "create_or_update_with_id",
64 "responseClass": "Bridge",
68 "description": "Comma separated list of bridge type attributes (mixing, holding, dtmf_events, proxy_media) to set.",
71 "allowMultiple": false,
76 "description": "Unique ID to give to the bridge being created.",
79 "allowMultiple": false,
84 "description": "Set the name of the bridge.",
87 "allowMultiple": false,
94 "summary": "Get bridge details.",
96 "responseClass": "Bridge",
100 "description": "Bridge's id",
103 "allowMultiple": false,
110 "reason": "Bridge not found"
115 "httpMethod": "DELETE",
116 "summary": "Shut down a bridge.",
117 "notes": "If any channels are in this bridge, they will be removed and resume whatever they were doing beforehand.",
118 "nickname": "destroy",
119 "responseClass": "void",
123 "description": "Bridge's id",
126 "allowMultiple": false,
133 "reason": "Bridge not found"
140 "path": "/bridges/{bridgeId}/addChannel",
141 "description": "Add a channel to a bridge",
144 "httpMethod": "POST",
145 "summary": "Add a channel to a bridge.",
146 "nickname": "addChannel",
147 "responseClass": "void",
151 "description": "Bridge's id",
154 "allowMultiple": false,
159 "description": "Ids of channels to add to bridge",
160 "paramType": "query",
162 "allowMultiple": true,
167 "description": "Channel's role in the bridge",
168 "paramType": "query",
170 "allowMultiple": false,
177 "reason": "Channel not found"
181 "reason": "Bridge not found"
185 "reason": "Bridge not in Stasis application; Channel currently recording"
189 "reason": "Channel not in Stasis application"
196 "path": "/bridges/{bridgeId}/removeChannel",
197 "description": "Remove a channel from a bridge",
200 "httpMethod": "POST",
201 "summary": "Remove a channel from a bridge.",
202 "nickname": "removeChannel",
203 "responseClass": "void",
207 "description": "Bridge's id",
210 "allowMultiple": false,
215 "description": "Ids of channels to remove from bridge",
216 "paramType": "query",
218 "allowMultiple": true,
225 "reason": "Channel not found"
229 "reason": "Bridge not found"
233 "reason": "Bridge not in Stasis application"
237 "reason": "Channel not in this bridge"
244 "path": "/bridges/{bridgeId}/moh",
245 "description": "Play music on hold to a bridge",
248 "httpMethod": "POST",
249 "summary": "Play music on hold to a bridge or change the MOH class that is playing.",
250 "nickname": "startMoh",
251 "responseClass": "void",
255 "description": "Bridge's id",
258 "allowMultiple": false,
263 "description": "Channel's id",
264 "paramType": "query",
266 "allowMultiple": false,
273 "reason": "Bridge not found"
277 "reason": "Bridge not in Stasis application"
282 "httpMethod": "DELETE",
283 "summary": "Stop playing music on hold to a bridge.",
284 "notes": "This will only stop music on hold being played via POST bridges/{bridgeId}/moh.",
285 "nickname": "stopMoh",
286 "responseClass": "void",
290 "description": "Bridge's id",
293 "allowMultiple": false,
300 "reason": "Bridge not found"
304 "reason": "Bridge not in Stasis application"
311 "path": "/bridges/{bridgeId}/play",
312 "description": "Play media to the participants of a bridge",
315 "httpMethod": "POST",
316 "summary": "Start playback of media on a bridge.",
317 "notes": "The media URI may be any of a number of URI's. Currently sound:, recording:, number:, digits:, characters:, and tone: URI's are supported. This operation creates a playback resource that can be used to control the playback of media (pause, rewind, fast forward, etc.)",
319 "responseClass": "Playback",
323 "description": "Bridge's id",
326 "allowMultiple": false,
331 "description": "Media's URI to play.",
332 "paramType": "query",
334 "allowMultiple": false,
339 "description": "For sounds, selects language for sound.",
340 "paramType": "query",
342 "allowMultiple": false,
347 "description": "Number of media to skip before playing.",
348 "paramType": "query",
350 "allowMultiple": false,
354 "valueType": "RANGE",
361 "description": "Number of milliseconds to skip for forward/reverse operations.",
362 "paramType": "query",
364 "allowMultiple": false,
366 "defaultValue": 3000,
368 "valueType": "RANGE",
377 "reason": "Bridge not found"
381 "reason": "Bridge not in a Stasis application"
388 "path": "/bridges/{bridgeId}/record",
389 "description": "Record audio on a bridge",
392 "httpMethod": "POST",
393 "summary": "Start a recording.",
394 "notes": "This records the mixed audio from all channels participating in this bridge.",
395 "nickname": "record",
396 "responseClass": "LiveRecording",
400 "description": "Bridge's id",
403 "allowMultiple": false,
408 "description": "Recording's filename",
409 "paramType": "query",
411 "allowMultiple": false,
416 "description": "Format to encode audio in",
417 "paramType": "query",
419 "allowMultiple": false,
423 "name": "maxDurationSeconds",
424 "description": "Maximum duration of the recording, in seconds. 0 for no limit.",
425 "paramType": "query",
427 "allowMultiple": false,
431 "valueType": "RANGE",
436 "name": "maxSilenceSeconds",
437 "description": "Maximum duration of silence, in seconds. 0 for no limit.",
438 "paramType": "query",
440 "allowMultiple": false,
444 "valueType": "RANGE",
450 "description": "Action to take if a recording with the same name already exists.",
451 "paramType": "query",
453 "allowMultiple": false,
454 "dataType": "string",
455 "defaultValue": "fail",
467 "description": "Play beep when recording begins",
468 "paramType": "query",
470 "allowMultiple": false,
471 "dataType": "boolean",
472 "defaultValue": false
475 "name": "terminateOn",
476 "description": "DTMF input to terminate recording.",
477 "paramType": "query",
479 "allowMultiple": false,
480 "dataType": "string",
481 "defaultValue": "none",
496 "reason": "Invalid parameters"
500 "reason": "Bridge not found"
504 "reason": "Bridge is not in a Stasis application; A recording with the same name already exists on the system and can not be overwritten because it is in progress or ifExists=fail"
508 "reason": "The format specified is unknown on this system"
518 "description": "The merging of media from one or more channels.\n\nEveryone on the bridge receives the same audio.",
522 "description": "Unique identifier for this bridge",
527 "description": "Name of the current bridging technology",
532 "description": "Type of bridge technology",
544 "description": "Bridging class",
549 "description": "Entity that created the bridge",
554 "description": "Name the creator gave the bridge",
558 "type": "List[string]",
559 "description": "Ids of channels participating in this bridge",