Last active
February 29, 2024 11:17
-
-
Save jfinstrom/6f4e130804d5b2965fe9aab29d3b8ff8 to your computer and use it in GitHub Desktop.
ARI Open API 3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
openapi: 3.0.1 | |
info: | |
title: Asterisk ARI | |
version: 6.0.0 | |
servers: | |
- url: http://localhost:8088/ari | |
tags: | |
- name: applications | |
description: Stasis application resources | |
- name: asterisk | |
description: Asterisk resources | |
- name: bridges | |
description: Bridge resources | |
- name: channels | |
description: Channel resources | |
- name: deviceStates | |
description: Device state resources | |
- name: endpoints | |
description: Endpoint resources | |
- name: events | |
description: WebSocket resource | |
- name: mailboxes | |
description: Mailboxes resources | |
- name: playbacks | |
description: Playback control resources | |
- name: recordings | |
description: Recording resources | |
- name: sounds | |
description: Sound resources | |
paths: | |
/applications: | |
get: | |
tags: | |
- applications | |
summary: List all applications. | |
operationId: list | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/Application' | |
/applications/{applicationName}: | |
get: | |
tags: | |
- applications | |
summary: Get details of an application. | |
operationId: get | |
parameters: | |
- name: applicationName | |
in: path | |
description: Application's name | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Application' | |
/applications/{applicationName}/eventFilter: | |
put: | |
tags: | |
- applications | |
summary: Filter application events types. | |
description: 'Allowed and/or disallowed event type filtering can be done. The | |
body (parameter) should specify a JSON key/value object that describes the | |
type of event filtering needed. One, or both of the following keys can be | |
designated:<br /><br />"allowed" - Specifies an allowed list of event types<br | |
/>"disallowed" - Specifies a disallowed list of event types<br /><br />Further, | |
each of those key''s value should be a JSON array that holds zero, or more | |
JSON key/value objects. Each of these objects must contain the following key | |
with an associated value:<br /><br />"type" - The type name of the event to | |
filter<br /><br />The value must be the string name (case sensitive) of the | |
event type that needs filtering. For example:<br /><br />{ "allowed": [ { | |
"type": "StasisStart" }, { "type": "StasisEnd" } ] }<br /><br />As this specifies | |
only an allowed list, then only those two event type messages are sent to | |
the application. No other event messages are sent.<br /><br />The following | |
rules apply:<br /><br />* If the body is empty, both the allowed and disallowed | |
filters are set empty.<br />* If both list types are given then both are set | |
to their respective values (note, specifying an empty array for a given type | |
sets that type to empty).<br />* If only one list type is given then only | |
that type is set. The other type is not updated.<br />* An empty "allowed" | |
list means all events are allowed.<br />* An empty "disallowed" list means | |
no events are disallowed.<br />* Disallowed events take precedence over allowed | |
events if the event type is specified in both lists.' | |
operationId: filter | |
parameters: | |
- name: applicationName | |
in: path | |
description: Application's name | |
required: true | |
schema: | |
type: string | |
requestBody: | |
description: Specify which event types to allow/disallow | |
content: | |
'*/*': | |
schema: | |
type: object | |
required: false | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Application' | |
x-codegen-request-body-name: filter | |
/applications/{applicationName}/subscription: | |
post: | |
tags: | |
- applications | |
summary: Subscribe an application to a event source. | |
description: Returns the state of the application after the subscriptions have | |
changed | |
operationId: subscribe | |
parameters: | |
- name: applicationName | |
in: path | |
description: Application's name | |
required: true | |
schema: | |
type: string | |
- name: eventSource | |
in: query | |
description: URI for event source (channel:{channelId}, bridge:{bridgeId}, | |
endpoint:{tech}[/{resource}], deviceState:{deviceName} | |
required: true | |
style: form | |
explode: false | |
schema: | |
type: array | |
items: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Application' | |
delete: | |
tags: | |
- applications | |
summary: Unsubscribe an application from an event source. | |
description: Returns the state of the application after the subscriptions have | |
changed | |
operationId: unsubscribe | |
parameters: | |
- name: applicationName | |
in: path | |
description: Application's name | |
required: true | |
schema: | |
type: string | |
- name: eventSource | |
in: query | |
description: URI for event source (channel:{channelId}, bridge:{bridgeId}, | |
endpoint:{tech}[/{resource}], deviceState:{deviceName} | |
required: true | |
style: form | |
explode: false | |
schema: | |
type: array | |
items: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Application' | |
/asterisk/config/dynamic/{configClass}/{objectType}/{id}: | |
get: | |
tags: | |
- asterisk | |
summary: Retrieve a dynamic configuration object. | |
operationId: getObject | |
parameters: | |
- name: configClass | |
in: path | |
description: The configuration class containing dynamic configuration objects. | |
required: true | |
schema: | |
type: string | |
- name: objectType | |
in: path | |
description: The type of configuration object to retrieve. | |
required: true | |
schema: | |
type: string | |
- name: id | |
in: path | |
description: The unique identifier of the object to retrieve. | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/ConfigTuple' | |
put: | |
tags: | |
- asterisk | |
summary: Create or update a dynamic configuration object. | |
operationId: updateObject | |
parameters: | |
- name: configClass | |
in: path | |
description: The configuration class containing dynamic configuration objects. | |
required: true | |
schema: | |
type: string | |
- name: objectType | |
in: path | |
description: The type of configuration object to create or update. | |
required: true | |
schema: | |
type: string | |
- name: id | |
in: path | |
description: The unique identifier of the object to create or update. | |
required: true | |
schema: | |
type: string | |
requestBody: | |
description: 'The body object should have a value that is a list of ConfigTuples, | |
which provide the fields to update. Ex. [ { "attribute": "directmedia", | |
"value": "false" } ]' | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/containers' | |
required: false | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/ConfigTuple' | |
x-codegen-request-body-name: fields | |
delete: | |
tags: | |
- asterisk | |
summary: Delete a dynamic configuration object. | |
operationId: deleteObject | |
parameters: | |
- name: configClass | |
in: path | |
description: The configuration class containing dynamic configuration objects. | |
required: true | |
schema: | |
type: string | |
- name: objectType | |
in: path | |
description: The type of configuration object to delete. | |
required: true | |
schema: | |
type: string | |
- name: id | |
in: path | |
description: The unique identifier of the object to delete. | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/asterisk/info: | |
get: | |
tags: | |
- asterisk | |
summary: Gets Asterisk system information. | |
operationId: getInfo | |
parameters: | |
- name: only | |
in: query | |
description: Filter information returned | |
style: form | |
explode: false | |
schema: | |
type: array | |
items: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/AsteriskInfo' | |
/asterisk/logging: | |
get: | |
tags: | |
- asterisk | |
summary: Gets Asterisk log channel information. | |
operationId: listLogChannels | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/LogChannel' | |
/asterisk/logging/{logChannelName}: | |
post: | |
tags: | |
- asterisk | |
summary: Adds a log channel. | |
operationId: addLog | |
parameters: | |
- name: logChannelName | |
in: path | |
description: The log channel to add | |
required: true | |
schema: | |
type: string | |
- name: configuration | |
in: query | |
description: levels of the log channel | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
delete: | |
tags: | |
- asterisk | |
summary: Deletes a log channel. | |
operationId: deleteLog | |
parameters: | |
- name: logChannelName | |
in: path | |
description: Log channels name | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/asterisk/logging/{logChannelName}/rotate: | |
put: | |
tags: | |
- asterisk | |
summary: Rotates a log channel. | |
operationId: rotateLog | |
parameters: | |
- name: logChannelName | |
in: path | |
description: Log channel's name | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/asterisk/modules: | |
get: | |
tags: | |
- asterisk | |
summary: List Asterisk modules. | |
operationId: listModules | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/Module' | |
/asterisk/modules/{moduleName}: | |
get: | |
tags: | |
- asterisk | |
summary: Get Asterisk module information. | |
operationId: getModule | |
parameters: | |
- name: moduleName | |
in: path | |
description: Module's name | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Module' | |
put: | |
tags: | |
- asterisk | |
summary: Reload an Asterisk module. | |
operationId: reloadModule | |
parameters: | |
- name: moduleName | |
in: path | |
description: Module's name | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
post: | |
tags: | |
- asterisk | |
summary: Load an Asterisk module. | |
operationId: loadModule | |
parameters: | |
- name: moduleName | |
in: path | |
description: Module's name | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
delete: | |
tags: | |
- asterisk | |
summary: Unload an Asterisk module. | |
operationId: unloadModule | |
parameters: | |
- name: moduleName | |
in: path | |
description: Module's name | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/asterisk/ping: | |
get: | |
tags: | |
- asterisk | |
summary: Response pong message. | |
operationId: ping | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/AsteriskPing' | |
/asterisk/variable: | |
get: | |
tags: | |
- asterisk | |
summary: Get the value of a global variable. | |
operationId: getGlobalVar | |
parameters: | |
- name: variable | |
in: query | |
description: The variable to get | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Variable' | |
post: | |
tags: | |
- asterisk | |
summary: Set the value of a global variable. | |
operationId: setGlobalVar | |
parameters: | |
- name: variable | |
in: query | |
description: The variable to set | |
required: true | |
schema: | |
type: string | |
- name: value | |
in: query | |
description: The value to set the variable to | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/bridges: | |
get: | |
tags: | |
- bridges | |
summary: List all active bridges in Asterisk. | |
operationId: listbridges | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/Bridge' | |
post: | |
tags: | |
- bridges | |
summary: Create a new bridge. | |
description: This bridge persists until it has been shut down, or Asterisk has | |
been shut down. | |
operationId: create | |
parameters: | |
- name: type | |
in: query | |
description: Comma separated list of bridge type attributes (mixing, holding, | |
dtmf_events, proxy_media, video_sfu). | |
schema: | |
type: string | |
- name: bridgeId | |
in: query | |
description: Unique ID to give to the bridge being created. | |
schema: | |
type: string | |
- name: name | |
in: query | |
description: Name to give to the bridge being created. | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Bridge' | |
/bridges/{bridgeId}: | |
get: | |
tags: | |
- bridges | |
summary: Get bridge details. | |
operationId: getbridge | |
parameters: | |
- name: bridgeId | |
in: path | |
description: Bridge's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Bridge' | |
post: | |
tags: | |
- bridges | |
summary: Create a new bridge or updates an existing one. | |
description: This bridge persists until it has been shut down, or Asterisk has | |
been shut down. | |
operationId: createWithId | |
parameters: | |
- name: type | |
in: query | |
description: Comma separated list of bridge type attributes (mixing, holding, | |
dtmf_events, proxy_media, video_sfu) to set. | |
schema: | |
type: string | |
- name: bridgeId | |
in: path | |
description: Unique ID to give to the bridge being created. | |
required: true | |
schema: | |
type: string | |
- name: name | |
in: query | |
description: Set the name of the bridge. | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Bridge' | |
delete: | |
tags: | |
- bridges | |
summary: Shut down a bridge. | |
description: If any channels are in this bridge, they will be removed and resume | |
whatever they were doing beforehand. | |
operationId: destroy | |
parameters: | |
- name: bridgeId | |
in: path | |
description: Bridge's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/bridges/{bridgeId}/addChannel: | |
post: | |
tags: | |
- bridges | |
summary: Add a channel to a bridge. | |
operationId: addChannel | |
parameters: | |
- name: bridgeId | |
in: path | |
description: Bridge's id | |
required: true | |
schema: | |
type: string | |
- name: channel | |
in: query | |
description: Ids of channels to add to bridge | |
required: true | |
style: form | |
explode: false | |
schema: | |
type: array | |
items: | |
type: string | |
- name: role | |
in: query | |
description: Channel's role in the bridge | |
schema: | |
type: string | |
- name: absorbDTMF | |
in: query | |
description: Absorb DTMF coming from this channel, preventing it to pass through | |
to the bridge | |
schema: | |
type: boolean | |
default: false | |
- name: mute | |
in: query | |
description: Mute audio from this channel, preventing it to pass through to | |
the bridge | |
schema: | |
type: boolean | |
default: false | |
- name: inhibitConnectedLineUpdates | |
in: query | |
description: Do not present the identity of the newly connected channel to | |
other bridge members | |
schema: | |
type: boolean | |
default: false | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/bridges/{bridgeId}/moh: | |
post: | |
tags: | |
- bridges | |
summary: Play music on hold to a bridge or change the MOH class that is playing. | |
operationId: startMoh | |
parameters: | |
- name: bridgeId | |
in: path | |
description: Bridge's id | |
required: true | |
schema: | |
type: string | |
- name: mohClass | |
in: query | |
description: Channel's id | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
delete: | |
tags: | |
- bridges | |
summary: Stop playing music on hold to a bridge. | |
description: This will only stop music on hold being played via POST bridges/{bridgeId}/moh. | |
operationId: stopMoh | |
parameters: | |
- name: bridgeId | |
in: path | |
description: Bridge's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/bridges/{bridgeId}/play: | |
post: | |
tags: | |
- bridges | |
summary: Start playback of media on a bridge. | |
description: '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.)' | |
operationId: play | |
parameters: | |
- name: bridgeId | |
in: path | |
description: Bridge's id | |
required: true | |
schema: | |
type: string | |
- name: media | |
in: query | |
description: Media URIs to play. | |
required: true | |
style: form | |
explode: false | |
schema: | |
type: array | |
items: | |
type: string | |
- name: lang | |
in: query | |
description: For sounds, selects language for sound. | |
schema: | |
type: string | |
- name: offsetms | |
in: query | |
description: Number of milliseconds to skip before playing. Only applies to | |
the first URI if multiple media URIs are specified. | |
schema: | |
type: integer | |
format: int32 | |
default: 0 | |
- name: skipms | |
in: query | |
description: Number of milliseconds to skip for forward/reverse operations. | |
schema: | |
type: integer | |
format: int32 | |
default: 3000 | |
- name: playbackId | |
in: query | |
description: Playback Id. | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Playback' | |
/bridges/{bridgeId}/play/{playbackId}: | |
post: | |
tags: | |
- bridges | |
summary: Start playback of media on a bridge. | |
description: '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.)' | |
operationId: playWithId | |
parameters: | |
- name: bridgeId | |
in: path | |
description: Bridge's id | |
required: true | |
schema: | |
type: string | |
- name: playbackId | |
in: path | |
description: Playback ID. | |
required: true | |
schema: | |
type: string | |
- name: media | |
in: query | |
description: Media URIs to play. | |
required: true | |
style: form | |
explode: false | |
schema: | |
type: array | |
items: | |
type: string | |
- name: lang | |
in: query | |
description: For sounds, selects language for sound. | |
schema: | |
type: string | |
- name: offsetms | |
in: query | |
description: Number of milliseconds to skip before playing. Only applies to | |
the first URI if multiple media URIs are specified. | |
schema: | |
type: integer | |
format: int32 | |
default: 0 | |
- name: skipms | |
in: query | |
description: Number of milliseconds to skip for forward/reverse operations. | |
schema: | |
type: integer | |
format: int32 | |
default: 3000 | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Playback' | |
/bridges/{bridgeId}/record: | |
post: | |
tags: | |
- bridges | |
summary: Start a recording. | |
description: This records the mixed audio from all channels participating in | |
this bridge. | |
operationId: record | |
parameters: | |
- name: bridgeId | |
in: path | |
description: Bridge's id | |
required: true | |
schema: | |
type: string | |
- name: name | |
in: query | |
description: Recording's filename | |
required: true | |
schema: | |
type: string | |
- name: format | |
in: query | |
description: Format to encode audio in | |
required: true | |
schema: | |
type: string | |
- name: maxDurationSeconds | |
in: query | |
description: Maximum duration of the recording, in seconds. 0 for no limit. | |
schema: | |
type: integer | |
format: int32 | |
default: 0 | |
- name: maxSilenceSeconds | |
in: query | |
description: Maximum duration of silence, in seconds. 0 for no limit. | |
schema: | |
type: integer | |
format: int32 | |
default: 0 | |
- name: ifExists | |
in: query | |
description: Action to take if a recording with the same name already exists. | |
schema: | |
type: string | |
default: fail | |
- name: beep | |
in: query | |
description: Play beep when recording begins | |
schema: | |
type: boolean | |
default: false | |
- name: terminateOn | |
in: query | |
description: DTMF input to terminate recording. | |
schema: | |
type: string | |
default: none | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/LiveRecording' | |
/bridges/{bridgeId}/removeChannel: | |
post: | |
tags: | |
- bridges | |
summary: Remove a channel from a bridge. | |
operationId: removeChannel | |
parameters: | |
- name: bridgeId | |
in: path | |
description: Bridge's id | |
required: true | |
schema: | |
type: string | |
- name: channel | |
in: query | |
description: Ids of channels to remove from bridge | |
required: true | |
style: form | |
explode: false | |
schema: | |
type: array | |
items: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/bridges/{bridgeId}/videoSource: | |
delete: | |
tags: | |
- bridges | |
summary: Removes any explicit video source in a multi-party mixing bridge. This | |
operation has no effect on bridges with two or fewer participants. When no | |
explicit video source is set, talk detection will be used to determine the | |
active video stream. | |
operationId: clearVideoSource | |
parameters: | |
- name: bridgeId | |
in: path | |
description: Bridge's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/bridges/{bridgeId}/videoSource/{channelId}: | |
post: | |
tags: | |
- bridges | |
summary: Set a channel as the video source in a multi-party mixing bridge. This | |
operation has no effect on bridges with two or fewer participants. | |
operationId: setVideoSource | |
parameters: | |
- name: bridgeId | |
in: path | |
description: Bridge's id | |
required: true | |
schema: | |
type: string | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels: | |
get: | |
tags: | |
- channels | |
summary: List all active channels in Asterisk. | |
operationId: listchannels | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/Channel' | |
post: | |
tags: | |
- channels | |
summary: Create a new channel (originate). | |
description: 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. | |
operationId: originate | |
parameters: | |
- name: endpoint | |
in: query | |
description: Endpoint to call. | |
required: true | |
schema: | |
type: string | |
- name: extension | |
in: query | |
description: The extension to dial after the endpoint answers. Mutually exclusive | |
with 'app'. | |
schema: | |
type: string | |
- name: context | |
in: query | |
description: The context to dial after the endpoint answers. If omitted, uses | |
'default'. Mutually exclusive with 'app'. | |
schema: | |
type: string | |
- name: priority | |
in: query | |
description: The priority to dial after the endpoint answers. If omitted, | |
uses 1. Mutually exclusive with 'app'. | |
schema: | |
type: integer | |
format: int64 | |
- name: label | |
in: query | |
description: The label to dial after the endpoint answers. Will supersede | |
'priority' if provided. Mutually exclusive with 'app'. | |
schema: | |
type: string | |
- name: app | |
in: query | |
description: The application that is subscribed to the originated channel. | |
When the channel is answered, it will be passed to this Stasis application. | |
Mutually exclusive with 'context', 'extension', 'priority', and 'label'. | |
schema: | |
type: string | |
- name: appArgs | |
in: query | |
description: The application arguments to pass to the Stasis application provided | |
by 'app'. Mutually exclusive with 'context', 'extension', 'priority', and | |
'label'. | |
schema: | |
type: string | |
- name: callerId | |
in: query | |
description: CallerID to use when dialing the endpoint or extension. | |
schema: | |
type: string | |
- name: timeout | |
in: query | |
description: Timeout (in seconds) before giving up dialing, or -1 for no timeout. | |
schema: | |
type: integer | |
format: int32 | |
default: 30 | |
- name: channelId | |
in: query | |
description: The unique id to assign the channel on creation. | |
schema: | |
type: string | |
- name: otherChannelId | |
in: query | |
description: The unique id to assign the second channel when using local channels. | |
schema: | |
type: string | |
- name: originator | |
in: query | |
description: The unique id of the channel which is originating this one. | |
schema: | |
type: string | |
- name: formats | |
in: query | |
description: The format name capability list to use if originator is not specified. | |
Ex. "ulaw,slin16". Format names can be found with "core show codecs". | |
schema: | |
type: string | |
requestBody: | |
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" } }' | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/containers' | |
required: false | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Channel' | |
x-codegen-request-body-name: variables | |
/channels/create: | |
post: | |
tags: | |
- channels | |
summary: Create channel. | |
operationId: createchannel | |
parameters: | |
- name: endpoint | |
in: query | |
description: Endpoint for channel communication | |
required: true | |
schema: | |
type: string | |
- name: app | |
in: query | |
description: Stasis Application to place channel into | |
required: true | |
schema: | |
type: string | |
- name: appArgs | |
in: query | |
description: The application arguments to pass to the Stasis application provided | |
by 'app'. Mutually exclusive with 'context', 'extension', 'priority', and | |
'label'. | |
schema: | |
type: string | |
- name: channelId | |
in: query | |
description: The unique id to assign the channel on creation. | |
schema: | |
type: string | |
- name: otherChannelId | |
in: query | |
description: The unique id to assign the second channel when using local channels. | |
schema: | |
type: string | |
- name: originator | |
in: query | |
description: Unique ID of the calling channel | |
schema: | |
type: string | |
- name: formats | |
in: query | |
description: The format name capability list to use if originator is not specified. | |
Ex. "ulaw,slin16". Format names can be found with "core show codecs". | |
schema: | |
type: string | |
requestBody: | |
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" } }' | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/containers' | |
required: false | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Channel' | |
x-codegen-request-body-name: variables | |
/channels/externalMedia: | |
post: | |
tags: | |
- channels | |
summary: Start an External Media session. | |
description: Create a channel to an External Media source/sink. | |
operationId: externalMedia | |
parameters: | |
- name: channelId | |
in: query | |
description: The unique id to assign the channel on creation. | |
schema: | |
type: string | |
- name: app | |
in: query | |
description: Stasis Application to place channel into | |
required: true | |
schema: | |
type: string | |
- name: external_host | |
in: query | |
description: Hostname/ip:port of external host | |
required: true | |
schema: | |
type: string | |
- name: encapsulation | |
in: query | |
description: Payload encapsulation protocol | |
schema: | |
type: string | |
default: rtp | |
- name: transport | |
in: query | |
description: Transport protocol | |
schema: | |
type: string | |
default: udp | |
- name: connection_type | |
in: query | |
description: Connection type (client/server) | |
schema: | |
type: string | |
default: client | |
- name: format | |
in: query | |
description: Format to encode audio in | |
required: true | |
schema: | |
type: string | |
- name: direction | |
in: query | |
description: External media direction | |
schema: | |
type: string | |
default: both | |
- name: data | |
in: query | |
description: An arbitrary data field | |
schema: | |
type: string | |
requestBody: | |
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" } }' | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/containers' | |
required: false | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Channel' | |
x-codegen-request-body-name: variables | |
/channels/{channelId}: | |
get: | |
tags: | |
- channels | |
summary: Channel details. | |
operationId: getchannel | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Channel' | |
post: | |
tags: | |
- channels | |
summary: Create a new channel (originate with id). | |
description: 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. | |
operationId: originateWithId | |
parameters: | |
- name: channelId | |
in: path | |
description: The unique id to assign the channel on creation. | |
required: true | |
schema: | |
type: string | |
- name: endpoint | |
in: query | |
description: Endpoint to call. | |
required: true | |
schema: | |
type: string | |
- name: extension | |
in: query | |
description: The extension to dial after the endpoint answers. Mutually exclusive | |
with 'app'. | |
schema: | |
type: string | |
- name: context | |
in: query | |
description: The context to dial after the endpoint answers. If omitted, uses | |
'default'. Mutually exclusive with 'app'. | |
schema: | |
type: string | |
- name: priority | |
in: query | |
description: The priority to dial after the endpoint answers. If omitted, | |
uses 1. Mutually exclusive with 'app'. | |
schema: | |
type: integer | |
format: int64 | |
- name: label | |
in: query | |
description: The label to dial after the endpoint answers. Will supersede | |
'priority' if provided. Mutually exclusive with 'app'. | |
schema: | |
type: string | |
- name: app | |
in: query | |
description: The application that is subscribed to the originated channel. | |
When the channel is answered, it will be passed to this Stasis application. | |
Mutually exclusive with 'context', 'extension', 'priority', and 'label'. | |
schema: | |
type: string | |
- name: appArgs | |
in: query | |
description: The application arguments to pass to the Stasis application provided | |
by 'app'. Mutually exclusive with 'context', 'extension', 'priority', and | |
'label'. | |
schema: | |
type: string | |
- name: callerId | |
in: query | |
description: CallerID to use when dialing the endpoint or extension. | |
schema: | |
type: string | |
- name: timeout | |
in: query | |
description: Timeout (in seconds) before giving up dialing, or -1 for no timeout. | |
schema: | |
type: integer | |
format: int32 | |
default: 30 | |
- name: otherChannelId | |
in: query | |
description: The unique id to assign the second channel when using local channels. | |
schema: | |
type: string | |
- name: originator | |
in: query | |
description: The unique id of the channel which is originating this one. | |
schema: | |
type: string | |
- name: formats | |
in: query | |
description: The format name capability list to use if originator is not specified. | |
Ex. "ulaw,slin16". Format names can be found with "core show codecs". | |
schema: | |
type: string | |
requestBody: | |
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" } }' | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/containers' | |
required: false | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Channel' | |
x-codegen-request-body-name: variables | |
delete: | |
tags: | |
- channels | |
summary: Delete (i.e. hangup) a channel. | |
operationId: hangup | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: reason_code | |
in: query | |
description: The reason code for hanging up the channel for detail use. Mutually | |
exclusive with 'reason'. See detail hangup codes at here. https://wiki.asterisk.org/wiki/display/AST/Hangup+Cause+Mappings | |
schema: | |
type: string | |
- name: reason | |
in: query | |
description: Reason for hanging up the channel for simple use. Mutually exclusive | |
with 'reason_code'. | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels/{channelId}/answer: | |
post: | |
tags: | |
- channels | |
summary: Answer a channel. | |
operationId: answer | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels/{channelId}/continue: | |
post: | |
tags: | |
- channels | |
summary: Exit application; continue execution in the dialplan. | |
operationId: continueInDialplan | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: context | |
in: query | |
description: The context to continue to. | |
schema: | |
type: string | |
- name: extension | |
in: query | |
description: The extension to continue to. | |
schema: | |
type: string | |
- name: priority | |
in: query | |
description: The priority to continue to. | |
schema: | |
type: integer | |
format: int32 | |
- name: label | |
in: query | |
description: The label to continue to - will supersede 'priority' if both | |
are provided. | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels/{channelId}/dial: | |
post: | |
tags: | |
- channels | |
summary: Dial a created channel. | |
operationId: dial | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: caller | |
in: query | |
description: Channel ID of caller | |
schema: | |
type: string | |
- name: timeout | |
in: query | |
description: Dial timeout | |
schema: | |
type: integer | |
format: int32 | |
default: 0 | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels/{channelId}/dtmf: | |
post: | |
tags: | |
- channels | |
summary: Send provided DTMF to a given channel. | |
operationId: sendDTMF | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: dtmf | |
in: query | |
description: DTMF To send. | |
schema: | |
type: string | |
- name: before | |
in: query | |
description: Amount of time to wait before DTMF digits (specified in milliseconds) | |
start. | |
schema: | |
type: integer | |
format: int32 | |
default: 0 | |
- name: between | |
in: query | |
description: Amount of time in between DTMF digits (specified in milliseconds). | |
schema: | |
type: integer | |
format: int32 | |
default: 100 | |
- name: duration | |
in: query | |
description: Length of each DTMF digit (specified in milliseconds). | |
schema: | |
type: integer | |
format: int32 | |
default: 100 | |
- name: after | |
in: query | |
description: Amount of time to wait after DTMF digits (specified in milliseconds) | |
end. | |
schema: | |
type: integer | |
format: int32 | |
default: 0 | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels/{channelId}/hold: | |
post: | |
tags: | |
- channels | |
summary: Hold a channel. | |
operationId: hold | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
delete: | |
tags: | |
- channels | |
summary: Remove a channel from hold. | |
operationId: unhold | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels/{channelId}/moh: | |
post: | |
tags: | |
- channels | |
summary: Play music on hold to a channel. | |
description: Using media operations such as /play on a channel playing MOH in | |
this manner will suspend MOH without resuming automatically. If continuing | |
music on hold is desired, the stasis application must reinitiate music on | |
hold. | |
operationId: addMoh | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: mohClass | |
in: query | |
description: Music on hold class to use | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
delete: | |
tags: | |
- channels | |
summary: Stop playing music on hold to a channel. | |
operationId: deletemoh | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels/{channelId}/move: | |
post: | |
tags: | |
- channels | |
summary: Move the channel from one Stasis application to another. | |
operationId: move | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: app | |
in: query | |
description: The channel will be passed to this Stasis application. | |
required: true | |
schema: | |
type: string | |
- name: appArgs | |
in: query | |
description: The application arguments to pass to the Stasis application provided | |
by 'app'. | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels/{channelId}/mute: | |
post: | |
tags: | |
- channels | |
summary: Mute a channel. | |
operationId: mute | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: direction | |
in: query | |
description: Direction in which to mute audio | |
schema: | |
type: string | |
default: both | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
delete: | |
tags: | |
- channels | |
summary: Unmute a channel. | |
operationId: unmute | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: direction | |
in: query | |
description: Direction in which to unmute audio | |
schema: | |
type: string | |
default: both | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels/{channelId}/play: | |
post: | |
tags: | |
- channels | |
summary: Start playback of media. | |
description: '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.)' | |
operationId: playsound | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: media | |
in: query | |
description: Media URIs to play. | |
required: true | |
style: form | |
explode: false | |
schema: | |
type: array | |
items: | |
type: string | |
- name: lang | |
in: query | |
description: For sounds, selects language for sound. | |
schema: | |
type: string | |
- name: offsetms | |
in: query | |
description: Number of milliseconds to skip before playing. Only applies to | |
the first URI if multiple media URIs are specified. | |
schema: | |
type: integer | |
format: int32 | |
- name: skipms | |
in: query | |
description: Number of milliseconds to skip for forward/reverse operations. | |
schema: | |
type: integer | |
format: int32 | |
default: 3000 | |
- name: playbackId | |
in: query | |
description: Playback ID. | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Playback' | |
/channels/{channelId}/play/{playbackId}: | |
post: | |
tags: | |
- channels | |
summary: Start playback of media and specify the playbackId. | |
description: '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.)' | |
operationId: playSoundWithId | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: playbackId | |
in: path | |
description: Playback ID. | |
required: true | |
schema: | |
type: string | |
- name: media | |
in: query | |
description: Media URIs to play. | |
required: true | |
style: form | |
explode: false | |
schema: | |
type: array | |
items: | |
type: string | |
- name: lang | |
in: query | |
description: For sounds, selects language for sound. | |
schema: | |
type: string | |
- name: offsetms | |
in: query | |
description: Number of milliseconds to skip before playing. Only applies to | |
the first URI if multiple media URIs are specified. | |
schema: | |
type: integer | |
format: int32 | |
- name: skipms | |
in: query | |
description: Number of milliseconds to skip for forward/reverse operations. | |
schema: | |
type: integer | |
format: int32 | |
default: 3000 | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Playback' | |
/channels/{channelId}/record: | |
post: | |
tags: | |
- channels | |
summary: Start a recording. | |
description: Record audio from a channel. Note that this will not capture audio | |
sent to the channel. The bridge itself has a record feature if that's what | |
you want. | |
operationId: recordchannel | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: name | |
in: query | |
description: Recording's filename | |
required: true | |
schema: | |
type: string | |
- name: format | |
in: query | |
description: Format to encode audio in | |
required: true | |
schema: | |
type: string | |
- name: maxDurationSeconds | |
in: query | |
description: Maximum duration of the recording, in seconds. 0 for no limit | |
schema: | |
type: integer | |
format: int32 | |
default: 0 | |
- name: maxSilenceSeconds | |
in: query | |
description: Maximum duration of silence, in seconds. 0 for no limit | |
schema: | |
type: integer | |
format: int32 | |
default: 0 | |
- name: ifExists | |
in: query | |
description: Action to take if a recording with the same name already exists. | |
schema: | |
type: string | |
default: fail | |
- name: beep | |
in: query | |
description: Play beep when recording begins | |
schema: | |
type: boolean | |
default: false | |
- name: terminateOn | |
in: query | |
description: DTMF input to terminate recording | |
schema: | |
type: string | |
default: none | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/LiveRecording' | |
/channels/{channelId}/redirect: | |
post: | |
tags: | |
- channels | |
summary: Redirect the channel to a different location. | |
operationId: redirect | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: endpoint | |
in: query | |
description: The endpoint to redirect the channel to | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels/{channelId}/ring: | |
post: | |
tags: | |
- channels | |
summary: Indicate ringing to a channel. | |
operationId: ring | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
delete: | |
tags: | |
- channels | |
summary: Stop ringing indication on a channel if locally generated. | |
operationId: ringStop | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels/{channelId}/rtp_statistics: | |
get: | |
tags: | |
- channels | |
summary: RTP stats on a channel. | |
operationId: rtpstatistics | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/RTPstat' | |
/channels/{channelId}/silence: | |
post: | |
tags: | |
- channels | |
summary: Play silence to a channel. | |
description: Using media operations such as /play on a channel playing silence | |
in this manner will suspend silence without resuming automatically. | |
operationId: startSilence | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
delete: | |
tags: | |
- channels | |
summary: Stop playing silence to a channel. | |
operationId: stopSilence | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/channels/{channelId}/snoop: | |
post: | |
tags: | |
- channels | |
summary: Start snooping. | |
description: Snoop (spy/whisper) on a specific channel. | |
operationId: snoopChannel | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: spy | |
in: query | |
description: Direction of audio to spy on | |
schema: | |
type: string | |
default: none | |
- name: whisper | |
in: query | |
description: Direction of audio to whisper into | |
schema: | |
type: string | |
default: none | |
- name: app | |
in: query | |
description: Application the snooping channel is placed into | |
required: true | |
schema: | |
type: string | |
- name: appArgs | |
in: query | |
description: The application arguments to pass to the Stasis application | |
schema: | |
type: string | |
- name: snoopId | |
in: query | |
description: Unique ID to assign to snooping channel | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Channel' | |
/channels/{channelId}/snoop/{snoopId}: | |
post: | |
tags: | |
- channels | |
summary: Start snooping. | |
description: Snoop (spy/whisper) on a specific channel. | |
operationId: snoopChannelWithId | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: snoopId | |
in: path | |
description: Unique ID to assign to snooping channel | |
required: true | |
schema: | |
type: string | |
- name: spy | |
in: query | |
description: Direction of audio to spy on | |
schema: | |
type: string | |
default: none | |
- name: whisper | |
in: query | |
description: Direction of audio to whisper into | |
schema: | |
type: string | |
default: none | |
- name: app | |
in: query | |
description: Application the snooping channel is placed into | |
required: true | |
schema: | |
type: string | |
- name: appArgs | |
in: query | |
description: The application arguments to pass to the Stasis application | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Channel' | |
/channels/{channelId}/variable: | |
get: | |
tags: | |
- channels | |
summary: Get the value of a channel variable or function. | |
operationId: getChannelVar | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: variable | |
in: query | |
description: The channel variable or function to get | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Variable' | |
post: | |
tags: | |
- channels | |
summary: Set the value of a channel variable or function. | |
operationId: setChannelVar | |
parameters: | |
- name: channelId | |
in: path | |
description: Channel's id | |
required: true | |
schema: | |
type: string | |
- name: variable | |
in: query | |
description: The channel variable or function to set | |
required: true | |
schema: | |
type: string | |
- name: value | |
in: query | |
description: The value to set the variable to | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/deviceStates: | |
get: | |
tags: | |
- deviceStates | |
summary: List all ARI controlled device states. | |
operationId: listDeviceStates | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/DeviceState' | |
/deviceStates/{deviceName}: | |
get: | |
tags: | |
- deviceStates | |
summary: Retrieve the current state of a device. | |
operationId: getdevicestate | |
parameters: | |
- name: deviceName | |
in: path | |
description: Name of the device | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/DeviceState' | |
put: | |
tags: | |
- deviceStates | |
summary: Change the state of a device controlled by ARI. (Note - implicitly | |
creates the device state). | |
operationId: update | |
parameters: | |
- name: deviceName | |
in: path | |
description: Name of the device | |
required: true | |
schema: | |
type: string | |
- name: deviceState | |
in: query | |
description: Device state value | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
delete: | |
tags: | |
- deviceStates | |
summary: Destroy a device-state controlled by ARI. | |
operationId: delete | |
parameters: | |
- name: deviceName | |
in: path | |
description: Name of the device | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/endpoints: | |
get: | |
tags: | |
- endpoints | |
summary: List all endpoints. | |
operationId: listendpoints | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/Endpoint' | |
/endpoints/sendMessage: | |
put: | |
tags: | |
- endpoints | |
summary: Send a message to some technology URI or endpoint. | |
operationId: sendMessage | |
parameters: | |
- name: to | |
in: query | |
description: The endpoint resource or technology specific URI to send the | |
message to. Valid resources are sip, pjsip, and xmpp. | |
required: true | |
schema: | |
type: string | |
- name: from | |
in: query | |
description: The endpoint resource or technology specific identity to send | |
this message from. Valid resources are sip, pjsip, and xmpp. | |
required: true | |
schema: | |
type: string | |
- name: body | |
in: query | |
description: The body of the message | |
schema: | |
type: string | |
requestBody: | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/containers' | |
required: false | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
x-codegen-request-body-name: variables | |
/endpoints/{tech}: | |
get: | |
tags: | |
- endpoints | |
summary: List available endoints for a given endpoint technology. | |
operationId: listByTech | |
parameters: | |
- name: tech | |
in: path | |
description: Technology of the endpoints (sip,iax2,...) | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/Endpoint' | |
/endpoints/{tech}/{resource}: | |
get: | |
tags: | |
- endpoints | |
summary: Details for an endpoint. | |
operationId: getendpoint | |
parameters: | |
- name: tech | |
in: path | |
description: Technology of the endpoint | |
required: true | |
schema: | |
type: string | |
- name: resource | |
in: path | |
description: ID of the endpoint | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Endpoint' | |
/endpoints/{tech}/{resource}/sendMessage: | |
put: | |
tags: | |
- endpoints | |
summary: Send a message to some endpoint in a technology. | |
operationId: sendMessageToEndpoint | |
parameters: | |
- name: tech | |
in: path | |
description: Technology of the endpoint | |
required: true | |
schema: | |
type: string | |
- name: resource | |
in: path | |
description: ID of the endpoint | |
required: true | |
schema: | |
type: string | |
- name: from | |
in: query | |
description: The endpoint resource or technology specific identity to send | |
this message from. Valid resources are sip, pjsip, and xmpp. | |
required: true | |
schema: | |
type: string | |
- name: body | |
in: query | |
description: The body of the message | |
schema: | |
type: string | |
requestBody: | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/containers' | |
required: false | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
x-codegen-request-body-name: variables | |
/events: | |
get: | |
tags: | |
- events | |
summary: WebSocket connection for events. | |
operationId: eventWebsocket | |
parameters: | |
- name: app | |
in: query | |
description: Applications to subscribe to. | |
required: true | |
style: form | |
explode: false | |
schema: | |
type: array | |
items: | |
type: string | |
- name: subscribeAll | |
in: query | |
description: Subscribe to all Asterisk events. If provided, the applications | |
listed will be subscribed to all events, effectively disabling the application | |
specific subscriptions. Default is 'false'. | |
schema: | |
type: boolean | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Message' | |
/events/user/{eventName}: | |
post: | |
tags: | |
- events | |
summary: Generate a user event. | |
operationId: userEvent | |
parameters: | |
- name: eventName | |
in: path | |
description: Event name | |
required: true | |
schema: | |
type: string | |
- name: application | |
in: query | |
description: The name of the application that will receive this event | |
required: true | |
schema: | |
type: string | |
- name: source | |
in: query | |
description: URI for event source (channel:{channelId}, bridge:{bridgeId}, | |
endpoint:{tech}/{resource}, deviceState:{deviceName} | |
style: form | |
explode: false | |
schema: | |
type: array | |
items: | |
type: string | |
requestBody: | |
description: 'The "variables" key in the body object holds custom key/value | |
pairs to add to the user event. Ex. { "variables": { "key": "value" } }' | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/containers' | |
required: false | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
x-codegen-request-body-name: variables | |
/mailboxes: | |
get: | |
tags: | |
- mailboxes | |
summary: List all mailboxes. | |
operationId: listmailboxes | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/Mailbox' | |
/mailboxes/{mailboxName}: | |
get: | |
tags: | |
- mailboxes | |
summary: Retrieve the current state of a mailbox. | |
operationId: getmailbox | |
parameters: | |
- name: mailboxName | |
in: path | |
description: Name of the mailbox | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Mailbox' | |
put: | |
tags: | |
- mailboxes | |
summary: Change the state of a mailbox. (Note - implicitly creates the mailbox). | |
operationId: updatemailbox | |
parameters: | |
- name: mailboxName | |
in: path | |
description: Name of the mailbox | |
required: true | |
schema: | |
type: string | |
- name: oldMessages | |
in: query | |
description: Count of old messages in the mailbox | |
required: true | |
schema: | |
type: integer | |
format: int32 | |
- name: newMessages | |
in: query | |
description: Count of new messages in the mailbox | |
required: true | |
schema: | |
type: integer | |
format: int32 | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
delete: | |
tags: | |
- mailboxes | |
summary: Destroy a mailbox. | |
operationId: deletemailbox | |
parameters: | |
- name: mailboxName | |
in: path | |
description: Name of the mailbox | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/playbacks/{playbackId}: | |
get: | |
tags: | |
- playbacks | |
summary: Get a playback's details. | |
operationId: getplayback | |
parameters: | |
- name: playbackId | |
in: path | |
description: Playback's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Playback' | |
delete: | |
tags: | |
- playbacks | |
summary: Stop a playback. | |
operationId: stop | |
parameters: | |
- name: playbackId | |
in: path | |
description: Playback's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/playbacks/{playbackId}/control: | |
post: | |
tags: | |
- playbacks | |
summary: Control a playback. | |
operationId: control | |
parameters: | |
- name: playbackId | |
in: path | |
description: Playback's id | |
required: true | |
schema: | |
type: string | |
- name: operation | |
in: query | |
description: Operation to perform on the playback. | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/recordings/live/{recordingName}: | |
get: | |
tags: | |
- recordings | |
summary: List live recordings. | |
operationId: getLive | |
parameters: | |
- name: recordingName | |
in: path | |
description: The name of the recording | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/LiveRecording' | |
delete: | |
tags: | |
- recordings | |
summary: Stop a live recording and discard it. | |
operationId: cancel | |
parameters: | |
- name: recordingName | |
in: path | |
description: The name of the recording | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/recordings/live/{recordingName}/mute: | |
post: | |
tags: | |
- recordings | |
summary: Mute a live recording. | |
description: Muting a recording suspends silence detection, which will be restarted | |
when the recording is unmuted. | |
operationId: muterecording | |
parameters: | |
- name: recordingName | |
in: path | |
description: The name of the recording | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
delete: | |
tags: | |
- recordings | |
summary: Unmute a live recording. | |
operationId: unmuterecording | |
parameters: | |
- name: recordingName | |
in: path | |
description: The name of the recording | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/recordings/live/{recordingName}/pause: | |
post: | |
tags: | |
- recordings | |
summary: Pause a live recording. | |
description: Pausing a recording suspends silence detection, which will be restarted | |
when the recording is unpaused. Paused time is not included in the accounting | |
for maxDurationSeconds. | |
operationId: pause | |
parameters: | |
- name: recordingName | |
in: path | |
description: The name of the recording | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
delete: | |
tags: | |
- recordings | |
summary: Unpause a live recording. | |
operationId: unpause | |
parameters: | |
- name: recordingName | |
in: path | |
description: The name of the recording | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/recordings/live/{recordingName}/stop: | |
post: | |
tags: | |
- recordings | |
summary: Stop a live recording and store it. | |
operationId: stoprecording | |
parameters: | |
- name: recordingName | |
in: path | |
description: The name of the recording | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/recordings/stored: | |
get: | |
tags: | |
- recordings | |
summary: List recordings that are complete. | |
operationId: listStored | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/StoredRecording' | |
/recordings/stored/{recordingName}: | |
get: | |
tags: | |
- recordings | |
summary: Get a stored recording's details. | |
operationId: getStored | |
parameters: | |
- name: recordingName | |
in: path | |
description: The name of the recording | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/StoredRecording' | |
delete: | |
tags: | |
- recordings | |
summary: Delete a stored recording. | |
operationId: deleteStored | |
parameters: | |
- name: recordingName | |
in: path | |
description: The name of the recording | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: {} | |
/recordings/stored/{recordingName}/copy: | |
post: | |
tags: | |
- recordings | |
summary: Copy a stored recording. | |
operationId: copyStored | |
parameters: | |
- name: recordingName | |
in: path | |
description: The name of the recording to copy | |
required: true | |
schema: | |
type: string | |
- name: destinationRecordingName | |
in: query | |
description: The destination name of the recording | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/StoredRecording' | |
/recordings/stored/{recordingName}/file: | |
get: | |
tags: | |
- recordings | |
summary: Get the file associated with the stored recording. | |
operationId: getStoredFile | |
parameters: | |
- name: recordingName | |
in: path | |
description: The name of the recording | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/binary' | |
/sounds: | |
get: | |
tags: | |
- sounds | |
summary: List all sounds. | |
operationId: listsounds | |
parameters: | |
- name: lang | |
in: query | |
description: Lookup sound for a specific language. | |
schema: | |
type: string | |
- name: format | |
in: query | |
description: Lookup sound in a specific format. | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/Sound' | |
/sounds/{soundId}: | |
get: | |
tags: | |
- sounds | |
summary: Get a sound's details. | |
operationId: getsound | |
parameters: | |
- name: soundId | |
in: path | |
description: Sound's id | |
required: true | |
schema: | |
type: string | |
responses: | |
200: | |
description: No response was specified | |
content: | |
'*/*': | |
schema: | |
$ref: '#/components/schemas/Sound' | |
components: | |
schemas: | |
containers: | |
type: object | |
description: Container | |
binary: | |
type: object | |
description: Binary | |
Application: | |
required: | |
- bridge_ids | |
- channel_ids | |
- device_names | |
- endpoint_ids | |
- events_allowed | |
- events_disallowed | |
- name | |
type: object | |
properties: | |
bridge_ids: | |
type: array | |
description: Id's for bridges subscribed to. | |
items: | |
type: string | |
channel_ids: | |
type: array | |
description: Id's for channels subscribed to. | |
items: | |
type: string | |
device_names: | |
type: array | |
description: Names of the devices subscribed to. | |
items: | |
type: string | |
endpoint_ids: | |
type: array | |
description: '{tech}/{resource} for endpoints subscribed to.' | |
items: | |
type: string | |
events_allowed: | |
type: array | |
description: Event types sent to the application. | |
items: | |
type: object | |
properties: {} | |
events_disallowed: | |
type: array | |
description: Event types not sent to the application. | |
items: | |
type: object | |
properties: {} | |
name: | |
type: string | |
description: Name of this application | |
description: Details of a Stasis application | |
ApplicationMoveFailed: | |
allOf: | |
- required: | |
- args | |
- channel | |
- destination | |
type: object | |
properties: | |
args: | |
type: array | |
description: Arguments to the application | |
items: | |
type: string | |
channel: | |
$ref: '#/components/schemas/Channel' | |
destination: | |
type: string | |
description: Notification that trying to move a channel to another Stasis | |
application failed. | |
- $ref: '#/components/schemas/Event' | |
ApplicationReplaced: | |
allOf: | |
- type: object | |
description: |- | |
Notification that another WebSocket has taken over for an application. | |
An application may only be subscribed to by a single WebSocket at a time. If multiple WebSockets attempt to subscribe to the same application, the newer WebSocket wins, and the older one receives this event. | |
- $ref: '#/components/schemas/Event' | |
AsteriskInfo: | |
type: object | |
properties: | |
build: | |
$ref: '#/components/schemas/BuildInfo' | |
config: | |
$ref: '#/components/schemas/ConfigInfo' | |
status: | |
$ref: '#/components/schemas/StatusInfo' | |
system: | |
$ref: '#/components/schemas/SystemInfo' | |
description: Asterisk system information | |
AsteriskPing: | |
required: | |
- asterisk_id | |
- ping | |
- timestamp | |
type: object | |
properties: | |
asterisk_id: | |
type: string | |
description: Asterisk id info | |
ping: | |
type: string | |
description: Always string value is pong | |
timestamp: | |
type: string | |
description: The timestamp string of request received time | |
description: Asterisk ping information | |
Bridge: | |
required: | |
- bridge_class | |
- bridge_type | |
- channels | |
- creationtime | |
- creator | |
- id | |
- name | |
- technology | |
type: object | |
properties: | |
bridge_class: | |
type: string | |
description: Bridging class | |
bridge_type: | |
type: string | |
description: Type of bridge technology | |
channels: | |
type: array | |
description: Ids of channels participating in this bridge | |
items: | |
type: string | |
creationtime: | |
type: string | |
description: Timestamp when bridge was created | |
format: date | |
creator: | |
type: string | |
description: Entity that created the bridge | |
id: | |
type: string | |
description: Unique identifier for this bridge | |
name: | |
type: string | |
description: Name the creator gave the bridge | |
technology: | |
type: string | |
description: Name of the current bridging technology | |
video_mode: | |
type: string | |
description: The video mode the bridge is using. One of 'none', 'talker', | |
or 'single'. | |
video_source_id: | |
type: string | |
description: The ID of the channel that is the source of video in this bridge, | |
if one exists. | |
description: |- | |
The merging of media from one or more channels. | |
Everyone on the bridge receives the same audio. | |
BridgeAttendedTransfer: | |
allOf: | |
- required: | |
- destination_type | |
- is_external | |
- result | |
- transferer_first_leg | |
- transferer_second_leg | |
type: object | |
properties: | |
destination_application: | |
type: string | |
description: Application that has been transferred into | |
destination_bridge: | |
type: string | |
description: Bridge that survived the merge result | |
destination_link_first_leg: | |
$ref: '#/components/schemas/Channel' | |
destination_link_second_leg: | |
$ref: '#/components/schemas/Channel' | |
destination_threeway_bridge: | |
$ref: '#/components/schemas/Bridge' | |
destination_threeway_channel: | |
$ref: '#/components/schemas/Channel' | |
destination_type: | |
type: string | |
description: How the transfer was accomplished | |
is_external: | |
type: boolean | |
description: Whether the transfer was externally initiated or not | |
replace_channel: | |
$ref: '#/components/schemas/Channel' | |
result: | |
type: string | |
description: The result of the transfer attempt | |
transfer_target: | |
$ref: '#/components/schemas/Channel' | |
transferee: | |
$ref: '#/components/schemas/Channel' | |
transferer_first_leg: | |
$ref: '#/components/schemas/Channel' | |
transferer_first_leg_bridge: | |
$ref: '#/components/schemas/Bridge' | |
transferer_second_leg: | |
$ref: '#/components/schemas/Channel' | |
transferer_second_leg_bridge: | |
$ref: '#/components/schemas/Bridge' | |
description: Notification that an attended transfer has occurred. | |
- $ref: '#/components/schemas/Event' | |
BridgeBlindTransfer: | |
allOf: | |
- required: | |
- channel | |
- context | |
- exten | |
- is_external | |
- result | |
type: object | |
properties: | |
bridge: | |
$ref: '#/components/schemas/Bridge' | |
channel: | |
$ref: '#/components/schemas/Channel' | |
context: | |
type: string | |
description: The context transferred to | |
exten: | |
type: string | |
description: The extension transferred to | |
is_external: | |
type: boolean | |
description: Whether the transfer was externally initiated or not | |
replace_channel: | |
$ref: '#/components/schemas/Channel' | |
result: | |
type: string | |
description: The result of the transfer attempt | |
transferee: | |
$ref: '#/components/schemas/Channel' | |
description: Notification that a blind transfer has occurred. | |
- $ref: '#/components/schemas/Event' | |
BridgeCreated: | |
allOf: | |
- required: | |
- bridge | |
type: object | |
properties: | |
bridge: | |
$ref: '#/components/schemas/Bridge' | |
description: Notification that a bridge has been created. | |
- $ref: '#/components/schemas/Event' | |
BridgeDestroyed: | |
allOf: | |
- required: | |
- bridge | |
type: object | |
properties: | |
bridge: | |
$ref: '#/components/schemas/Bridge' | |
description: Notification that a bridge has been destroyed. | |
- $ref: '#/components/schemas/Event' | |
BridgeMerged: | |
allOf: | |
- required: | |
- bridge | |
- bridge_from | |
type: object | |
properties: | |
bridge: | |
$ref: '#/components/schemas/Bridge' | |
bridge_from: | |
$ref: '#/components/schemas/Bridge' | |
description: Notification that one bridge has merged into another. | |
- $ref: '#/components/schemas/Event' | |
BridgeVideoSourceChanged: | |
allOf: | |
- required: | |
- bridge | |
type: object | |
properties: | |
bridge: | |
$ref: '#/components/schemas/Bridge' | |
old_video_source_id: | |
type: string | |
description: Notification that the source of video in a bridge has changed. | |
- $ref: '#/components/schemas/Event' | |
BuildInfo: | |
required: | |
- date | |
- kernel | |
- machine | |
- options | |
- os | |
- user | |
type: object | |
properties: | |
date: | |
type: string | |
description: Date and time when Asterisk was built. | |
kernel: | |
type: string | |
description: Kernel version Asterisk was built on. | |
machine: | |
type: string | |
description: Machine architecture (x86_64, i686, ppc, etc.) | |
options: | |
type: string | |
description: Compile time options, or empty string if default. | |
os: | |
type: string | |
description: OS Asterisk was built on. | |
user: | |
type: string | |
description: Username that build Asterisk | |
description: Info about how Asterisk was built | |
CallerID: | |
required: | |
- name | |
- number | |
type: object | |
properties: | |
name: | |
type: string | |
number: | |
type: string | |
description: Caller identification | |
Channel: | |
required: | |
- accountcode | |
- caller | |
- connected | |
- creationtime | |
- dialplan | |
- id | |
- language | |
- name | |
- state | |
type: object | |
properties: | |
accountcode: | |
type: string | |
caller: | |
$ref: '#/components/schemas/CallerID' | |
channelvars: | |
type: object | |
properties: {} | |
description: Channel variables | |
connected: | |
$ref: '#/components/schemas/CallerID' | |
creationtime: | |
type: string | |
description: Timestamp when channel was created | |
format: date | |
dialplan: | |
$ref: '#/components/schemas/DialplanCEP' | |
id: | |
type: string | |
description: |- | |
Unique identifier of the channel. | |
This is the same as the Uniqueid field in AMI. | |
language: | |
type: string | |
description: The default spoken language | |
name: | |
type: string | |
description: Name of the channel (i.e. SIP/foo-0000a7e3) | |
state: | |
type: string | |
description: A specific communication connection between Asterisk and an Endpoint. | |
ChannelCallerId: | |
allOf: | |
- required: | |
- caller_presentation | |
- caller_presentation_txt | |
- channel | |
type: object | |
properties: | |
caller_presentation: | |
type: integer | |
description: The integer representation of the Caller Presentation value. | |
format: int32 | |
caller_presentation_txt: | |
type: string | |
description: The text representation of the Caller Presentation value. | |
channel: | |
$ref: '#/components/schemas/Channel' | |
description: Channel changed Caller ID. | |
- $ref: '#/components/schemas/Event' | |
ChannelConnectedLine: | |
allOf: | |
- required: | |
- channel | |
type: object | |
properties: | |
channel: | |
$ref: '#/components/schemas/Channel' | |
description: Channel changed Connected Line. | |
- $ref: '#/components/schemas/Event' | |
ChannelCreated: | |
allOf: | |
- required: | |
- channel | |
type: object | |
properties: | |
channel: | |
$ref: '#/components/schemas/Channel' | |
description: Notification that a channel has been created. | |
- $ref: '#/components/schemas/Event' | |
ChannelDestroyed: | |
allOf: | |
- required: | |
- cause | |
- cause_txt | |
- channel | |
type: object | |
properties: | |
cause: | |
type: integer | |
description: Integer representation of the cause of the hangup | |
format: int32 | |
cause_txt: | |
type: string | |
description: Text representation of the cause of the hangup | |
channel: | |
$ref: '#/components/schemas/Channel' | |
description: Notification that a channel has been destroyed. | |
- $ref: '#/components/schemas/Event' | |
ChannelDialplan: | |
allOf: | |
- required: | |
- channel | |
- dialplan_app | |
- dialplan_app_data | |
type: object | |
properties: | |
channel: | |
$ref: '#/components/schemas/Channel' | |
dialplan_app: | |
type: string | |
description: The application about to be executed. | |
dialplan_app_data: | |
type: string | |
description: The data to be passed to the application. | |
description: Channel changed location in the dialplan. | |
- $ref: '#/components/schemas/Event' | |
ChannelDtmfReceived: | |
allOf: | |
- required: | |
- channel | |
- digit | |
- duration_ms | |
type: object | |
properties: | |
channel: | |
$ref: '#/components/schemas/Channel' | |
digit: | |
type: string | |
description: 'DTMF digit received (0-9, A-E, # or *)' | |
duration_ms: | |
type: integer | |
description: Number of milliseconds DTMF was received | |
format: int32 | |
description: |- | |
DTMF received on a channel. | |
This event is sent when the DTMF ends. There is no notification about the start of DTMF | |
- $ref: '#/components/schemas/Event' | |
ChannelEnteredBridge: | |
allOf: | |
- required: | |
- bridge | |
type: object | |
properties: | |
bridge: | |
$ref: '#/components/schemas/Bridge' | |
channel: | |
$ref: '#/components/schemas/Channel' | |
description: Notification that a channel has entered a bridge. | |
- $ref: '#/components/schemas/Event' | |
ChannelHangupRequest: | |
allOf: | |
- required: | |
- channel | |
type: object | |
properties: | |
cause: | |
type: integer | |
description: Integer representation of the cause of the hangup. | |
format: int32 | |
channel: | |
$ref: '#/components/schemas/Channel' | |
soft: | |
type: boolean | |
description: Whether the hangup request was a soft hangup request. | |
description: A hangup was requested on the channel. | |
- $ref: '#/components/schemas/Event' | |
ChannelHold: | |
allOf: | |
- required: | |
- channel | |
type: object | |
properties: | |
channel: | |
$ref: '#/components/schemas/Channel' | |
musicclass: | |
type: string | |
description: The music on hold class that the initiator requested. | |
description: A channel initiated a media hold. | |
- $ref: '#/components/schemas/Event' | |
ChannelLeftBridge: | |
allOf: | |
- required: | |
- bridge | |
- channel | |
type: object | |
properties: | |
bridge: | |
$ref: '#/components/schemas/Bridge' | |
channel: | |
$ref: '#/components/schemas/Channel' | |
description: Notification that a channel has left a bridge. | |
- $ref: '#/components/schemas/Event' | |
ChannelStateChange: | |
allOf: | |
- required: | |
- channel | |
type: object | |
properties: | |
channel: | |
$ref: '#/components/schemas/Channel' | |
description: Notification of a channel's state change. | |
- $ref: '#/components/schemas/Event' | |
ChannelTalkingFinished: | |
allOf: | |
- required: | |
- channel | |
- duration | |
type: object | |
properties: | |
channel: | |
$ref: '#/components/schemas/Channel' | |
duration: | |
type: integer | |
description: The length of time, in milliseconds, that talking was detected | |
on the channel | |
format: int32 | |
description: Talking is no longer detected on the channel. | |
- $ref: '#/components/schemas/Event' | |
ChannelTalkingStarted: | |
allOf: | |
- required: | |
- channel | |
type: object | |
properties: | |
channel: | |
$ref: '#/components/schemas/Channel' | |
description: Talking was detected on the channel. | |
- $ref: '#/components/schemas/Event' | |
ChannelUnhold: | |
allOf: | |
- required: | |
- channel | |
type: object | |
properties: | |
channel: | |
$ref: '#/components/schemas/Channel' | |
description: A channel initiated a media unhold. | |
- $ref: '#/components/schemas/Event' | |
ChannelUserevent: | |
allOf: | |
- required: | |
- eventname | |
- userevent | |
type: object | |
properties: | |
bridge: | |
$ref: '#/components/schemas/Bridge' | |
channel: | |
$ref: '#/components/schemas/Channel' | |
endpoint: | |
$ref: '#/components/schemas/Endpoint' | |
eventname: | |
type: string | |
description: The name of the user event. | |
userevent: | |
type: object | |
properties: {} | |
description: Custom Userevent data | |
description: User-generated event with additional user-defined fields in the | |
object. | |
- $ref: '#/components/schemas/Event' | |
ChannelVarset: | |
allOf: | |
- required: | |
- value | |
- variable | |
type: object | |
properties: | |
channel: | |
$ref: '#/components/schemas/Channel' | |
value: | |
type: string | |
description: The new value of the variable. | |
variable: | |
type: string | |
description: The variable that changed. | |
description: Channel variable changed. | |
- $ref: '#/components/schemas/Event' | |
ConfigInfo: | |
required: | |
- default_language | |
- name | |
- setid | |
type: object | |
properties: | |
default_language: | |
type: string | |
description: Default language for media playback. | |
max_channels: | |
type: integer | |
description: Maximum number of simultaneous channels. | |
format: int32 | |
max_load: | |
type: number | |
description: Maximum load avg on system. | |
format: double | |
max_open_files: | |
type: integer | |
description: Maximum number of open file handles (files, sockets). | |
format: int32 | |
name: | |
type: string | |
description: Asterisk system name. | |
setid: | |
$ref: '#/components/schemas/SetId' | |
description: Info about Asterisk configuration | |
ConfigTuple: | |
required: | |
- attribute | |
- value | |
type: object | |
properties: | |
attribute: | |
type: string | |
description: A configuration object attribute. | |
value: | |
type: string | |
description: The value for the attribute. | |
description: A key/value pair that makes up part of a configuration object. | |
ContactInfo: | |
required: | |
- aor | |
- contact_status | |
- uri | |
type: object | |
properties: | |
aor: | |
type: string | |
description: The Address of Record this contact belongs to. | |
contact_status: | |
type: string | |
description: The current status of the contact. | |
roundtrip_usec: | |
type: string | |
description: Current round trip time, in microseconds, for the contact. | |
uri: | |
type: string | |
description: The location of the contact. | |
description: Detailed information about a contact on an endpoint. | |
ContactStatusChange: | |
allOf: | |
- required: | |
- contact_info | |
- endpoint | |
type: object | |
properties: | |
contact_info: | |
$ref: '#/components/schemas/ContactInfo' | |
endpoint: | |
$ref: '#/components/schemas/Endpoint' | |
description: The state of a contact on an endpoint has changed. | |
- $ref: '#/components/schemas/Event' | |
DeviceState: | |
required: | |
- name | |
- state | |
type: object | |
properties: | |
name: | |
type: string | |
description: Name of the device. | |
state: | |
type: string | |
description: Device's state | |
description: Represents the state of a device. | |
DeviceStateChanged: | |
allOf: | |
- required: | |
- device_state | |
type: object | |
properties: | |
device_state: | |
$ref: '#/components/schemas/DeviceState' | |
description: Notification that a device state has changed. | |
- $ref: '#/components/schemas/Event' | |
Dial: | |
allOf: | |
- required: | |
- dialstatus | |
- peer | |
type: object | |
properties: | |
caller: | |
$ref: '#/components/schemas/Channel' | |
dialstatus: | |
type: string | |
description: Current status of the dialing attempt to the peer. | |
dialstring: | |
type: string | |
description: The dial string for calling the peer channel. | |
forward: | |
type: string | |
description: Forwarding target requested by the original dialed channel. | |
forwarded: | |
$ref: '#/components/schemas/Channel' | |
peer: | |
$ref: '#/components/schemas/Channel' | |
description: Dialing state has changed. | |
- $ref: '#/components/schemas/Event' | |
Dialed: | |
type: object | |
description: Dialed channel information. | |
DialplanCEP: | |
required: | |
- app_data | |
- app_name | |
- context | |
- exten | |
- priority | |
type: object | |
properties: | |
app_data: | |
type: string | |
description: Parameter of current dialplan application | |
app_name: | |
type: string | |
description: Name of current dialplan application | |
context: | |
type: string | |
description: Context in the dialplan | |
exten: | |
type: string | |
description: Extension in the dialplan | |
priority: | |
type: integer | |
description: Priority in the dialplan | |
format: int64 | |
description: Dialplan location (context/extension/priority) | |
Endpoint: | |
required: | |
- channel_ids | |
- resource | |
- technology | |
type: object | |
properties: | |
channel_ids: | |
type: array | |
description: Id's of channels associated with this endpoint | |
items: | |
type: string | |
resource: | |
type: string | |
description: Identifier of the endpoint, specific to the given technology. | |
state: | |
type: string | |
description: Endpoint's state | |
technology: | |
type: string | |
description: Technology of the endpoint | |
description: |- | |
An external device that may offer/accept calls to/from Asterisk. | |
Unlike most resources, which have a single unique identifier, an endpoint is uniquely identified by the technology/resource pair. | |
EndpointStateChange: | |
allOf: | |
- required: | |
- endpoint | |
type: object | |
properties: | |
endpoint: | |
$ref: '#/components/schemas/Endpoint' | |
description: Endpoint state changed. | |
- $ref: '#/components/schemas/Event' | |
Event: | |
allOf: | |
- required: | |
- application | |
- timestamp | |
type: object | |
properties: | |
application: | |
type: string | |
description: Name of the application receiving the event. | |
timestamp: | |
type: string | |
description: Time at which this event was created. | |
format: date | |
description: Base type for asynchronous events from Asterisk. | |
- $ref: '#/components/schemas/Message' | |
FormatLangPair: | |
required: | |
- format | |
- language | |
type: object | |
properties: | |
format: | |
type: string | |
language: | |
type: string | |
description: Identifies the format and language of a sound file | |
LiveRecording: | |
required: | |
- format | |
- name | |
- state | |
- target_uri | |
type: object | |
properties: | |
cause: | |
type: string | |
description: Cause for recording failure if failed | |
duration: | |
type: integer | |
description: Duration in seconds of the recording | |
format: int32 | |
format: | |
type: string | |
description: Recording format (wav, gsm, etc.) | |
name: | |
type: string | |
description: Base name for the recording | |
silence_duration: | |
type: integer | |
description: Duration of silence, in seconds, detected in the recording. | |
This is only available if the recording was initiated with a non-zero | |
maxSilenceSeconds. | |
format: int32 | |
state: | |
type: string | |
talking_duration: | |
type: integer | |
description: Duration of talking, in seconds, detected in the recording. | |
This is only available if the recording was initiated with a non-zero | |
maxSilenceSeconds. | |
format: int32 | |
target_uri: | |
type: string | |
description: URI for the channel or bridge being recorded | |
description: A recording that is in progress | |
LogChannel: | |
required: | |
- channel | |
- configuration | |
- status | |
- type | |
type: object | |
properties: | |
channel: | |
type: string | |
description: The log channel path | |
configuration: | |
type: string | |
description: The various log levels | |
status: | |
type: string | |
description: Whether or not a log type is enabled | |
type: | |
type: string | |
description: Types of logs for the log channel | |
description: Details of an Asterisk log channel | |
Mailbox: | |
required: | |
- name | |
- new_messages | |
- old_messages | |
type: object | |
properties: | |
name: | |
type: string | |
description: Name of the mailbox. | |
new_messages: | |
type: integer | |
description: Count of new messages in the mailbox. | |
format: int32 | |
old_messages: | |
type: integer | |
description: Count of old messages in the mailbox. | |
format: int32 | |
description: Represents the state of a mailbox. | |
Message: | |
required: | |
- type | |
type: object | |
properties: | |
asterisk_id: | |
type: string | |
description: The unique ID for the Asterisk instance that raised this event. | |
type: | |
type: string | |
description: Indicates the type of this message. | |
description: Base type for errors and events | |
discriminator: | |
propertyName: type | |
MissingParams: | |
allOf: | |
- required: | |
- params | |
type: object | |
properties: | |
params: | |
type: array | |
description: A list of the missing parameters | |
items: | |
type: string | |
description: Error event sent when required params are missing. | |
- $ref: '#/components/schemas/Message' | |
Module: | |
required: | |
- description | |
- name | |
- status | |
- support_level | |
- use_count | |
type: object | |
properties: | |
description: | |
type: string | |
description: The description of this module | |
name: | |
type: string | |
description: The name of this module | |
status: | |
type: string | |
description: The running status of this module | |
support_level: | |
type: string | |
description: The support state of this module | |
use_count: | |
type: integer | |
description: The number of times this module is being used | |
format: int32 | |
description: Details of an Asterisk module | |
Peer: | |
required: | |
- peer_status | |
type: object | |
properties: | |
address: | |
type: string | |
description: The IP address of the peer. | |
cause: | |
type: string | |
description: An optional reason associated with the change in peer_status. | |
peer_status: | |
type: string | |
description: The current state of the peer. Note that the values of the | |
status are dependent on the underlying peer technology. | |
port: | |
type: string | |
description: The port of the peer. | |
time: | |
type: string | |
description: The last known time the peer was contacted. | |
description: Detailed information about a remote peer that communicates with | |
Asterisk. | |
PeerStatusChange: | |
allOf: | |
- required: | |
- endpoint | |
- peer | |
type: object | |
properties: | |
endpoint: | |
$ref: '#/components/schemas/Endpoint' | |
peer: | |
$ref: '#/components/schemas/Peer' | |
description: The state of a peer associated with an endpoint has changed. | |
- $ref: '#/components/schemas/Event' | |
Playback: | |
required: | |
- id | |
- media_uri | |
- state | |
- target_uri | |
type: object | |
properties: | |
id: | |
type: string | |
description: ID for this playback operation | |
language: | |
type: string | |
description: For media types that support multiple languages, the language | |
requested for playback. | |
media_uri: | |
type: string | |
description: The URI for the media currently being played back. | |
next_media_uri: | |
type: string | |
description: If a list of URIs is being played, the next media URI to be | |
played back. | |
state: | |
type: string | |
description: Current state of the playback operation. | |
target_uri: | |
type: string | |
description: URI for the channel or bridge to play the media on | |
description: Object representing the playback of media to a channel | |
PlaybackContinuing: | |
allOf: | |
- required: | |
- playback | |
type: object | |
properties: | |
playback: | |
$ref: '#/components/schemas/Playback' | |
description: Event showing the continuation of a media playback operation | |
from one media URI to the next in the list. | |
- $ref: '#/components/schemas/Event' | |
PlaybackFinished: | |
allOf: | |
- required: | |
- playback | |
type: object | |
properties: | |
playback: | |
$ref: '#/components/schemas/Playback' | |
description: Event showing the completion of a media playback operation. | |
- $ref: '#/components/schemas/Event' | |
PlaybackStarted: | |
allOf: | |
- required: | |
- playback | |
type: object | |
properties: | |
playback: | |
$ref: '#/components/schemas/Playback' | |
description: Event showing the start of a media playback operation. | |
- $ref: '#/components/schemas/Event' | |
RTPstat: | |
required: | |
- channel_uniqueid | |
- local_ssrc | |
- remote_ssrc | |
- rxcount | |
- rxoctetcount | |
- rxploss | |
- txcount | |
- txoctetcount | |
- txploss | |
type: object | |
properties: | |
channel_uniqueid: | |
type: string | |
description: The Asterisk channel's unique ID that owns this instance. | |
local_maxjitter: | |
type: number | |
description: Maximum jitter on local side. | |
format: double | |
local_maxrxploss: | |
type: number | |
description: Maximum number of packets lost on local side. | |
format: double | |
local_minjitter: | |
type: number | |
description: Minimum jitter on local side. | |
format: double | |
local_minrxploss: | |
type: number | |
description: Minimum number of packets lost on local side. | |
format: double | |
local_normdevjitter: | |
type: number | |
description: Average jitter on local side. | |
format: double | |
local_normdevrxploss: | |
type: number | |
description: Average number of packets lost on local side. | |
format: double | |
local_ssrc: | |
type: integer | |
description: Our SSRC. | |
format: int32 | |
local_stdevjitter: | |
type: number | |
description: Standard deviation jitter on local side. | |
format: double | |
local_stdevrxploss: | |
type: number | |
description: Standard deviation packets lost on local side. | |
format: double | |
maxrtt: | |
type: number | |
description: Maximum round trip time. | |
format: double | |
minrtt: | |
type: number | |
description: Minimum round trip time. | |
format: double | |
normdevrtt: | |
type: number | |
description: Average round trip time. | |
format: double | |
remote_maxjitter: | |
type: number | |
description: Maximum jitter on remote side. | |
format: double | |
remote_maxrxploss: | |
type: number | |
description: Maximum number of packets lost on remote side. | |
format: double | |
remote_minjitter: | |
type: number | |
description: Minimum jitter on remote side. | |
format: double | |
remote_minrxploss: | |
type: number | |
description: Minimum number of packets lost on remote side. | |
format: double | |
remote_normdevjitter: | |
type: number | |
description: Average jitter on remote side. | |
format: double | |
remote_normdevrxploss: | |
type: number | |
description: Average number of packets lost on remote side. | |
format: double | |
remote_ssrc: | |
type: integer | |
description: Their SSRC. | |
format: int32 | |
remote_stdevjitter: | |
type: number | |
description: Standard deviation jitter on remote side. | |
format: double | |
remote_stdevrxploss: | |
type: number | |
description: Standard deviation packets lost on remote side. | |
format: double | |
rtt: | |
type: number | |
description: Total round trip time. | |
format: double | |
rxcount: | |
type: integer | |
description: Number of packets received. | |
format: int32 | |
rxjitter: | |
type: number | |
description: Jitter on received packets. | |
format: double | |
rxoctetcount: | |
type: integer | |
description: Number of octets received. | |
format: int32 | |
rxploss: | |
type: integer | |
description: Number of received packets lost. | |
format: int32 | |
stdevrtt: | |
type: number | |
description: Standard deviation round trip time. | |
format: double | |
txcount: | |
type: integer | |
description: Number of packets transmitted. | |
format: int32 | |
txjitter: | |
type: number | |
description: Jitter on transmitted packets. | |
format: double | |
txoctetcount: | |
type: integer | |
description: Number of octets transmitted. | |
format: int32 | |
txploss: | |
type: integer | |
description: Number of transmitted packets lost. | |
format: int32 | |
description: A statistics of a RTP. | |
RecordingFailed: | |
allOf: | |
- required: | |
- recording | |
type: object | |
properties: | |
recording: | |
$ref: '#/components/schemas/LiveRecording' | |
description: Event showing failure of a recording operation. | |
- $ref: '#/components/schemas/Event' | |
RecordingFinished: | |
allOf: | |
- required: | |
- recording | |
type: object | |
properties: | |
recording: | |
$ref: '#/components/schemas/LiveRecording' | |
description: Event showing the completion of a recording operation. | |
- $ref: '#/components/schemas/Event' | |
RecordingStarted: | |
allOf: | |
- required: | |
- recording | |
type: object | |
properties: | |
recording: | |
$ref: '#/components/schemas/LiveRecording' | |
description: Event showing the start of a recording operation. | |
- $ref: '#/components/schemas/Event' | |
SetId: | |
required: | |
- group | |
- user | |
type: object | |
properties: | |
group: | |
type: string | |
description: Effective group id. | |
user: | |
type: string | |
description: Effective user id. | |
description: Effective user/group id | |
Sound: | |
required: | |
- formats | |
- id | |
type: object | |
properties: | |
formats: | |
type: array | |
description: The formats and languages in which this sound is available. | |
items: | |
$ref: '#/components/schemas/FormatLangPair' | |
id: | |
type: string | |
description: Sound's identifier. | |
text: | |
type: string | |
description: Text description of the sound, usually the words spoken. | |
description: A media file that may be played back. | |
StasisEnd: | |
allOf: | |
- required: | |
- channel | |
type: object | |
properties: | |
channel: | |
$ref: '#/components/schemas/Channel' | |
description: Notification that a channel has left a Stasis application. | |
- $ref: '#/components/schemas/Event' | |
StasisStart: | |
allOf: | |
- required: | |
- args | |
- channel | |
type: object | |
properties: | |
args: | |
type: array | |
description: Arguments to the application | |
items: | |
type: string | |
channel: | |
$ref: '#/components/schemas/Channel' | |
replace_channel: | |
$ref: '#/components/schemas/Channel' | |
description: Notification that a channel has entered a Stasis application. | |
- $ref: '#/components/schemas/Event' | |
StatusInfo: | |
required: | |
- last_reload_time | |
- startup_time | |
type: object | |
properties: | |
last_reload_time: | |
type: string | |
description: Time when Asterisk was last reloaded. | |
format: date | |
startup_time: | |
type: string | |
description: Time when Asterisk was started. | |
format: date | |
description: Info about Asterisk status | |
StoredRecording: | |
required: | |
- format | |
- name | |
type: object | |
properties: | |
format: | |
type: string | |
name: | |
type: string | |
description: A past recording that may be played back. | |
SystemInfo: | |
required: | |
- entity_id | |
- version | |
type: object | |
properties: | |
entity_id: | |
type: string | |
version: | |
type: string | |
description: Asterisk version. | |
description: Info about Asterisk | |
TextMessage: | |
required: | |
- body | |
- from | |
- to | |
type: object | |
properties: | |
body: | |
type: string | |
description: The text of the message. | |
from: | |
type: string | |
description: A technology specific URI specifying the source of the message. | |
For sip and pjsip technologies, any SIP URI can be specified. For xmpp, | |
the URI must correspond to the client connection being used to send the | |
message. | |
to: | |
type: string | |
description: A technology specific URI specifying the destination of the | |
message. Valid technologies include sip, pjsip, and xmp. The destination | |
of a message should be an endpoint. | |
variables: | |
type: object | |
properties: {} | |
description: Technology specific key/value pairs (JSON object) associated | |
with the message. | |
description: A text message. | |
TextMessageReceived: | |
allOf: | |
- required: | |
- message | |
type: object | |
properties: | |
endpoint: | |
$ref: '#/components/schemas/Endpoint' | |
message: | |
$ref: '#/components/schemas/TextMessage' | |
description: A text message was received from an endpoint. | |
- $ref: '#/components/schemas/Event' | |
Variable: | |
required: | |
- value | |
type: object | |
properties: | |
value: | |
type: string | |
description: The value of the variable requested | |
description: The value of a channel variable |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment