summaryrefslogtreecommitdiff
path: root/rest-api
diff options
context:
space:
mode:
Diffstat (limited to 'rest-api')
-rw-r--r--rest-api/api-docs/bridges.json48
-rw-r--r--rest-api/api-docs/channels.json304
2 files changed, 352 insertions, 0 deletions
diff --git a/rest-api/api-docs/bridges.json b/rest-api/api-docs/bridges.json
index b259ca8f3..3e899788f 100644
--- a/rest-api/api-docs/bridges.json
+++ b/rest-api/api-docs/bridges.json
@@ -40,6 +40,14 @@
}
},
{
+ "name": "bridgeId",
+ "description": "Unique ID to give to the bridge being created.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
"name": "name",
"description": "Name to give to the bridge being created.",
"paramType": "query",
@@ -56,6 +64,46 @@
"description": "Individual bridge",
"operations": [
{
+ "httpMethod": "POST",
+ "summary": "Create a new bridge or updates an existing one.",
+ "notes": "This bridge persists until it has been shut down, or Asterisk has been shut down.",
+ "nickname": "create_or_update_with_id",
+ "responseClass": "Bridge",
+ "parameters": [
+ {
+ "name": "type",
+ "description": "Set the type of bridge.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string",
+ "allowableValues": {
+ "valueType": "LIST",
+ "values": [
+ "mixing",
+ "holding"
+ ]
+ }
+ },
+ {
+ "name": "bridgeId",
+ "description": "Unique ID to give to the bridge being created.",
+ "paramType": "path",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "name",
+ "description": "Set the name of the bridge.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ }
+ ]
+ },
+ {
"httpMethod": "GET",
"summary": "Get bridge details.",
"nickname": "get",
diff --git a/rest-api/api-docs/channels.json b/rest-api/api-docs/channels.json
index 0cfe90e5f..df90a4fb2 100644
--- a/rest-api/api-docs/channels.json
+++ b/rest-api/api-docs/channels.json
@@ -96,6 +96,22 @@
"required": false,
"dataType": "containers",
"allowMultiple": false
+ },
+ {
+ "name": "channelId",
+ "description": "The unique id to assign the channel on creation.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "otherChannelId",
+ "description": "The unique id to assign the second channel when using local channels.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
}
],
"errorResponses": [
@@ -134,6 +150,111 @@
]
},
{
+ "httpMethod": "POST",
+ "summary": "Create a new channel (originate with id).",
+ "notes": "The new channel is created immediately and a snapshot of it returned. If a Stasis application is provided it will be automatically subscribed to the originated channel for further events and updates.",
+ "nickname": "originateWithId",
+ "responseClass": "Channel",
+ "parameters": [
+ {
+ "name": "channelId",
+ "description": "The unique id to assign the channel on creation.",
+ "paramType": "path",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "endpoint",
+ "description": "Endpoint to call.",
+ "paramType": "query",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "extension",
+ "description": "The extension to dial after the endpoint answers",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "context",
+ "description": "The context to dial after the endpoint answers. If omitted, uses 'default'",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "priority",
+ "description": "The priority to dial after the endpoint answers. If omitted, uses 1",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "long"
+ },
+ {
+ "name": "app",
+ "description": "The application that is subscribed to the originated channel, and passed to the Stasis application.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "appArgs",
+ "description": "The application arguments to pass to the Stasis application.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "callerId",
+ "description": "CallerID to use when dialing the endpoint or extension.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "timeout",
+ "description": "Timeout (in seconds) before giving up dialing, or -1 for no timeout.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "int",
+ "defaultValue": 30
+ },
+ {
+ "name": "variables",
+ "description": "The 'variables' key in the body object holds variable key/value pairs to set on the channel on creation. Other keys in the body object are interpreted as query parameters. Ex. { 'endpoint': 'SIP/Alice', 'variables': { 'CALLERID(name)': 'Alice' } }",
+ "paramType": "body",
+ "required": false,
+ "dataType": "containers",
+ "allowMultiple": false
+ },
+ {
+ "name": "otherChannelId",
+ "description": "The unique id to assign the second channel when using local channels.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ }
+ ],
+ "errorResponses": [
+ {
+ "code": 400,
+ "reason": "Invalid parameters for originating a channel."
+ }
+ ]
+
+ },
+ {
"httpMethod": "DELETE",
"summary": "Delete (i.e. hangup) a channel.",
"nickname": "hangup",
@@ -731,6 +852,88 @@
"allowMultiple": false,
"dataType": "int",
"defaultValue": 3000
+ },
+ {
+ "name": "playbackId",
+ "description": "Playback ID.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ }
+ ],
+ "errorResponses": [
+ {
+ "code": 404,
+ "reason": "Channel not found"
+ },
+ {
+ "code": 409,
+ "reason": "Channel not in a Stasis application"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "path": "/channels/{channelId}/play/{playbackId}",
+ "description": "Play media to a channel",
+ "operations": [
+ {
+ "httpMethod": "POST",
+ "summary": "Start playback of media and specify the playbackId.",
+ "notes": "The media URI may be any of a number of URI's. Currently sound: and recording: 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.)",
+ "nickname": "playWithId",
+ "responseClass": "Playback",
+ "parameters": [
+ {
+ "name": "channelId",
+ "description": "Channel's id",
+ "paramType": "path",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "playbackId",
+ "description": "Playback ID.",
+ "paramType": "path",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "media",
+ "description": "Media's URI to play.",
+ "paramType": "query",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "lang",
+ "description": "For sounds, selects language for sound.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "offsetms",
+ "description": "Number of media to skip before playing.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "int"
+ },
+ {
+ "name": "skipms",
+ "description": "Number of milliseconds to skip for forward/reverse operations.",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "int",
+ "defaultValue": 3000
}
],
"errorResponses": [
@@ -1033,6 +1236,107 @@
"required": false,
"allowMultiple": false,
"dataType": "string"
+ },
+ {
+ "name": "snoopId",
+ "description": "Unique ID to assign to snooping channel",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ }
+ ],
+ "errorResponses": [
+ {
+ "code": 400,
+ "reason": "Invalid parameters"
+ },
+ {
+ "code": 404,
+ "reason": "Channel not found"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "path": "/channels/{channelId}/snoop/{snoopId}",
+ "description": "Snoop (spy/whisper) on a channel",
+ "operations": [
+ {
+ "httpMethod": "POST",
+ "summary": "Start snooping.",
+ "notes": "Snoop (spy/whisper) on a specific channel.",
+ "nickname": "snoopChannelWithId",
+ "responseClass": "Channel",
+ "parameters": [
+ {
+ "name": "channelId",
+ "description": "Channel's id",
+ "paramType": "path",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "snoopId",
+ "description": "Unique ID to assign to snooping channel",
+ "paramType": "path",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "spy",
+ "description": "Direction of audio to spy on",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string",
+ "defaultValue": "none",
+ "allowableValues": {
+ "valueType": "LIST",
+ "values": [
+ "none",
+ "both",
+ "out",
+ "in"
+ ]
+ }
+ },
+ {
+ "name": "whisper",
+ "description": "Direction of audio to whisper into",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string",
+ "defaultValue": "none",
+ "allowableValues": {
+ "valueType": "LIST",
+ "values": [
+ "none",
+ "both",
+ "out",
+ "in"
+ ]
+ }
+ },
+ {
+ "name": "app",
+ "description": "Application the snooping channel is placed into",
+ "paramType": "query",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "appArgs",
+ "description": "The application arguments to pass to the Stasis application",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
}
],
"errorResponses": [