From 669a3d8793e8488121fa61a03705f38b530a7fb5 Mon Sep 17 00:00:00 2001
From: grahambrown11 <771817+grahambrown11@users.noreply.github.com>
Date: Sat, 28 Mar 2026 10:33:31 +0000
Subject: [PATCH] ARI API Updates
---
.../codegen-data/ari_8_0_0/applications.json | 19 --
.../codegen-data/ari_8_0_0/asterisk.json | 52 ----
.../codegen-data/ari_8_0_0/bridges.json | 94 +------
.../codegen-data/ari_8_0_0/channels.json | 222 +--------------
.../codegen-data/ari_8_0_0/deviceStates.json | 15 -
.../codegen-data/ari_8_0_0/endpoints.json | 26 --
.../codegen-data/ari_8_0_0/events.json | 256 +-----------------
.../codegen-data/ari_8_0_0/mailboxes.json | 15 -
.../codegen-data/ari_8_0_0/playbacks.json | 12 -
.../codegen-data/ari_8_0_0/recordings.json | 39 ---
.../codegen-data/ari_8_0_0/sounds.json | 9 -
11 files changed, 12 insertions(+), 747 deletions(-)
diff --git a/codegen/src/main/resources/codegen-data/ari_8_0_0/applications.json b/codegen/src/main/resources/codegen-data/ari_8_0_0/applications.json
index 8ad9f36d..09c5cd5c 100644
--- a/codegen/src/main/resources/codegen-data/ari_8_0_0/applications.json
+++ b/codegen/src/main/resources/codegen-data/ari_8_0_0/applications.json
@@ -6,9 +6,6 @@
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/applications.{format}",
- "since": [
- "13.0.0"
- ],
"apis": [
{
"path": "/applications",
@@ -16,9 +13,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "13.0.0"
- ],
"summary": "List all applications.",
"nickname": "list",
"responseClass": "List[Application]"
@@ -31,9 +25,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "13.0.0"
- ],
"summary": "Get details of an application.",
"nickname": "get",
"responseClass": "Application",
@@ -62,9 +53,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "13.0.0"
- ],
"summary": "Subscribe an application to a event source.",
"notes": "Returns the state of the application after the subscriptions have changed",
"nickname": "subscribe",
@@ -104,9 +92,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "13.0.0"
- ],
"summary": "Unsubscribe an application from an event source.",
"notes": "Returns the state of the application after the subscriptions have changed",
"nickname": "unsubscribe",
@@ -156,10 +141,6 @@
"operations": [
{
"httpMethod": "PUT",
- "since": [
- "13.26.0",
- "16.3.0"
- ],
"summary": "Filter application events types.",
"notes": "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:
\"allowed\" - Specifies an allowed list of event types
\"disallowed\" - Specifies a disallowed list of event types
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:
\"type\" - The type name of the event to filter
The value must be the string name (case sensitive) of the event type that needs filtering. For example:
{ \"allowed\": [ { \"type\": \"StasisStart\" }, { \"type\": \"StasisEnd\" } ] }
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.
The following rules apply:
* If the body is empty, both the allowed and disallowed filters are set empty.
* 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).
* If only one list type is given then only that type is set. The other type is not updated.
* An empty \"allowed\" list means all events are allowed.
* An empty \"disallowed\" list means no events are disallowed.
* Disallowed events take precedence over allowed events if the event type is specified in both lists.",
"nickname": "filter",
diff --git a/codegen/src/main/resources/codegen-data/ari_8_0_0/asterisk.json b/codegen/src/main/resources/codegen-data/ari_8_0_0/asterisk.json
index 83fef8b7..841e6cd8 100644
--- a/codegen/src/main/resources/codegen-data/ari_8_0_0/asterisk.json
+++ b/codegen/src/main/resources/codegen-data/ari_8_0_0/asterisk.json
@@ -6,9 +6,6 @@
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/asterisk.{format}",
- "since": [
- "12.0.0"
- ],
"apis": [
{
"path": "/asterisk/config/dynamic/{configClass}/{objectType}/{id}",
@@ -16,9 +13,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "13.5.0"
- ],
"summary": "Retrieve a dynamic configuration object.",
"nickname": "getObject",
"responseClass": "List[ConfigTuple]",
@@ -57,9 +51,6 @@
},
{
"httpMethod": "PUT",
- "since": [
- "13.5.0"
- ],
"summary": "Create or update a dynamic configuration object.",
"nickname": "updateObject",
"responseClass": "List[ConfigTuple]",
@@ -114,9 +105,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "13.5.0"
- ],
"summary": "Delete a dynamic configuration object.",
"nickname": "deleteObject",
"responseClass": "void",
@@ -165,9 +153,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "Gets Asterisk system information.",
"nickname": "getInfo",
"responseClass": "AsteriskInfo",
@@ -199,10 +184,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "13.25.0",
- "16.2.0"
- ],
"summary": "Response pong message.",
"nickname": "ping",
"responseClass": "AsteriskPing"
@@ -215,9 +196,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "13.5.0"
- ],
"summary": "List Asterisk modules.",
"nickname": "listModules",
"responseClass": "List[Module]"
@@ -230,9 +208,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "13.5.0"
- ],
"summary": "Get Asterisk module information.",
"nickname": "getModule",
"responseClass": "Module",
@@ -259,9 +234,6 @@
},
{
"httpMethod": "POST",
- "since": [
- "13.5.0"
- ],
"summary": "Load an Asterisk module.",
"nickname": "loadModule",
"responseClass": "void",
@@ -284,9 +256,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "13.5.0"
- ],
"summary": "Unload an Asterisk module.",
"nickname": "unloadModule",
"responseClass": "void",
@@ -313,9 +282,6 @@
},
{
"httpMethod": "PUT",
- "since": [
- "13.5.0"
- ],
"summary": "Reload an Asterisk module.",
"nickname": "reloadModule",
"responseClass": "void",
@@ -348,9 +314,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "13.6.0"
- ],
"summary": "Gets Asterisk log channel information.",
"nickname": "listLogChannels",
"responseClass": "List[LogChannel]"
@@ -363,9 +326,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "13.6.0"
- ],
"summary": "Adds a log channel.",
"nickname": "addLog",
"responseClass": "void",
@@ -400,9 +360,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "13.6.0"
- ],
"summary": "Deletes a log channel.",
"nickname": "deleteLog",
"responseClass": "void",
@@ -431,9 +388,6 @@
"operations": [
{
"httpMethod": "PUT",
- "since": [
- "13.6.0"
- ],
"summary": "Rotates a log channel.",
"nickname": "rotateLog",
"responseClass": "void",
@@ -462,9 +416,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "Get the value of a global variable.",
"nickname": "getGlobalVar",
"responseClass": "Variable",
@@ -487,9 +438,6 @@
},
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Set the value of a global variable.",
"nickname": "setGlobalVar",
"responseClass": "void",
diff --git a/codegen/src/main/resources/codegen-data/ari_8_0_0/bridges.json b/codegen/src/main/resources/codegen-data/ari_8_0_0/bridges.json
index ae5ee56f..636d2540 100644
--- a/codegen/src/main/resources/codegen-data/ari_8_0_0/bridges.json
+++ b/codegen/src/main/resources/codegen-data/ari_8_0_0/bridges.json
@@ -6,9 +6,6 @@
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/bridges.{format}",
- "since": [
- "12.0.0"
- ],
"requiresModules": [
"res_stasis_recording",
"res_stasis_playback"
@@ -20,18 +17,12 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "List all active bridges in Asterisk.",
"nickname": "list",
"responseClass": "List[Bridge]"
},
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Create a new bridge.",
"notes": "This bridge persists until it has been shut down, or Asterisk has been shut down.",
"nickname": "create",
@@ -61,12 +52,6 @@
"allowMultiple": false,
"dataType": "string"
}
- ],
- "errorResponses": [
- {
- "code": 409,
- "reason": "Bridge with the same bridgeId already exists"
- }
]
}
]
@@ -77,10 +62,7 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.2.0"
- ],
- "summary": "Create a new bridge.",
+ "summary": "Create a new bridge or updates an existing one.",
"notes": "This bridge persists until it has been shut down, or Asterisk has been shut down.",
"nickname": "createWithId",
"responseClass": "Bridge",
@@ -109,19 +91,10 @@
"allowMultiple": false,
"dataType": "string"
}
- ],
- "errorResponses": [
- {
- "code": 409,
- "reason": "Bridge with the same bridgeId already exists"
- }
]
},
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "Get bridge details.",
"nickname": "get",
"responseClass": "Bridge",
@@ -144,9 +117,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Shut down a bridge.",
"notes": "If any channels are in this bridge, they will be removed and resume whatever they were doing beforehand.",
"nickname": "destroy",
@@ -176,9 +146,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Add a channel to a bridge.",
"nickname": "addChannel",
"responseClass": "void",
@@ -262,9 +229,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Remove a channel from a bridge.",
"nickname": "removeChannel",
"responseClass": "void",
@@ -313,10 +277,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "13.13.0",
- "14.2.0"
- ],
"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.",
"nickname": "setVideoSource",
"responseClass": "void",
@@ -361,10 +321,6 @@
"operations": [
{
"httpMethod": "DELETE",
- "since": [
- "13.13.0",
- "14.2.0"
- ],
"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.",
"nickname": "clearVideoSource",
"responseClass": "void",
@@ -393,9 +349,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Play music on hold to a bridge or change the MOH class that is playing.",
"nickname": "startMoh",
"responseClass": "void",
@@ -430,9 +383,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Stop playing music on hold to a bridge.",
"notes": "This will only stop music on hold being played via POST bridges/{bridgeId}/moh.",
"nickname": "stopMoh",
@@ -466,9 +416,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Start playback of media on a bridge.",
"notes": "The media URI may be any of a number of URI's. Currently sound:, recording:, number:, digits:, characters:, and tone: URI's are supported. This operation creates a playback resource that can be used to control the playback of media (pause, rewind, fast forward, etc.)",
"nickname": "play",
@@ -490,14 +437,6 @@
"allowMultiple": true,
"dataType": "string"
},
- {
- "name": "announcer_format",
- "description": "Format of the 'Anouncer' channel attached to the bridge. Defaults to the format of the channel in the bridge with the highest sampe rate.",
- "paramType": "query",
- "required": false,
- "allowMultiple": false,
- "dataType": "string"
- },
{
"name": "lang",
"description": "For sounds, selects language for sound.",
@@ -518,6 +457,7 @@
"valueType": "RANGE",
"min": 0
}
+
},
{
"name": "skipms",
@@ -549,10 +489,6 @@
{
"code": 409,
"reason": "Bridge not in a Stasis application"
- },
- {
- "code": 422,
- "reason": "The format specified is unknown on this system"
}
]
}
@@ -564,9 +500,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.3.0"
- ],
"summary": "Start playback of media on a bridge.",
"notes": "The media URI may be any of a number of URI's. Currently sound:, recording:, number:, digits:, characters:, and tone: URI's are supported. This operation creates a playback resource that can be used to control the playback of media (pause, rewind, fast forward, etc.)",
"nickname": "playWithId",
@@ -596,14 +529,6 @@
"allowMultiple": true,
"dataType": "string"
},
- {
- "name": "announcer_format",
- "description": "Format of the 'Anouncer' channel attached to the bridge. Defaults to the format of the channel in the bridge with the highest sampe rate.",
- "paramType": "query",
- "required": false,
- "allowMultiple": false,
- "dataType": "string"
- },
{
"name": "lang",
"description": "For sounds, selects language for sound.",
@@ -647,10 +572,6 @@
{
"code": 409,
"reason": "Bridge not in a Stasis application"
- },
- {
- "code": 422,
- "reason": "The format specified is unknown on this system"
}
]
@@ -663,9 +584,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Start a recording.",
"notes": "This records the mixed audio from all channels participating in this bridge.",
"nickname": "record",
@@ -695,14 +613,6 @@
"allowMultiple": false,
"dataType": "string"
},
- {
- "name": "recorder_format",
- "description": "Format of the 'Recorder' channel attached to the bridge. Defaults to the same format as the 'format' parameter.",
- "paramType": "query",
- "required": false,
- "allowMultiple": false,
- "dataType": "string"
- },
{
"name": "maxDurationSeconds",
"description": "Maximum duration of the recording, in seconds. 0 for no limit.",
diff --git a/codegen/src/main/resources/codegen-data/ari_8_0_0/channels.json b/codegen/src/main/resources/codegen-data/ari_8_0_0/channels.json
index e5ec6a4b..2a1d0a0c 100644
--- a/codegen/src/main/resources/codegen-data/ari_8_0_0/channels.json
+++ b/codegen/src/main/resources/codegen-data/ari_8_0_0/channels.json
@@ -6,9 +6,6 @@
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/channels.{format}",
- "since": [
- "12.0.0"
- ],
"requiresModules": [
"res_stasis_answer",
"res_stasis_playback",
@@ -22,18 +19,12 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "List all active channels in Asterisk.",
"nickname": "list",
"responseClass": "List[Channel]"
},
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Create a new channel (originate).",
"notes": "The new channel is created immediately and a snapshot of it returned. If a Stasis application is provided it will be automatically subscribed to the originated channel for further events and updates.",
"nickname": "originate",
@@ -172,9 +163,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "14.0.0"
- ],
"summary": "Create channel.",
"nickname": "create",
"responseClass": "Channel",
@@ -259,9 +247,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "Channel details.",
"nickname": "get",
"responseClass": "Channel",
@@ -284,9 +269,6 @@
},
{
"httpMethod": "POST",
- "since": [
- "12.2.0"
- ],
"summary": "Create a new channel (originate with id).",
"notes": "The new channel is created immediately and a snapshot of it returned. If a Stasis application is provided it will be automatically subscribed to the originated channel for further events and updates.",
"nickname": "originateWithId",
@@ -420,9 +402,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Delete (i.e. hangup) a channel.",
"nickname": "hangup",
"responseClass": "void",
@@ -489,9 +468,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Exit application; continue execution in the dialplan.",
"nickname": "continueInDialplan",
"responseClass": "void",
@@ -560,10 +536,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "13.26.0",
- "16.3.0"
- ],
"summary": "Move the channel from one Stasis application to another.",
"nickname": "move",
"responseClass": "void",
@@ -612,9 +584,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "13.3.0"
- ],
"summary": "Redirect the channel to a different location.",
"nickname": "redirect",
"responseClass": "void",
@@ -667,9 +636,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Answer a channel.",
"nickname": "answer",
"responseClass": "void",
@@ -706,9 +672,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Indicate ringing to a channel.",
"nickname": "ring",
"responseClass": "void",
@@ -739,9 +702,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Stop ringing indication on a channel if locally generated.",
"nickname": "ringStop",
"responseClass": "void",
@@ -772,56 +732,12 @@
}
]
},
- {
- "path": "/channels/{channelId}/progress",
- "description": "Indicate progress on a channel",
- "operations": [
- {
- "httpMethod": "POST",
- "since": [
- "22.6.0",
- "21.11.0",
- "20.16.0"
- ],
- "summary": "Indicate progress on a channel.",
- "nickname": "progress",
- "responseClass": "void",
- "parameters": [
- {
- "name": "channelId",
- "description": "Channel's id",
- "paramType": "path",
- "required": true,
- "allowMultiple": false,
- "dataType": "string"
- }
- ],
- "errorResponses": [
- {
- "code": 404,
- "reason": "Channel not found"
- },
- {
- "code": 409,
- "reason": "Channel not in a Stasis application"
- },
- {
- "code": 412,
- "reason": "Channel in invalid state"
- }
- ]
- }
- ]
- },
{
"path": "/channels/{channelId}/dtmf",
"description": "Send DTMF to a channel",
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Send provided DTMF to a given channel.",
"nickname": "sendDTMF",
"responseClass": "void",
@@ -906,9 +822,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Mute a channel.",
"nickname": "mute",
"responseClass": "void",
@@ -956,9 +869,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Unmute a channel.",
"nickname": "unmute",
"responseClass": "void",
@@ -1012,9 +922,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Hold a channel.",
"nickname": "hold",
"responseClass": "void",
@@ -1045,9 +952,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Remove a channel from hold.",
"nickname": "unhold",
"responseClass": "void",
@@ -1084,9 +988,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Play music on hold to a channel.",
"notes": "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.",
"nickname": "startMoh",
@@ -1126,9 +1027,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Stop playing music on hold to a channel.",
"nickname": "stopMoh",
"responseClass": "void",
@@ -1165,9 +1063,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Play silence to a channel.",
"notes": "Using media operations such as /play on a channel playing silence in this manner will suspend silence without resuming automatically.",
"nickname": "startSilence",
@@ -1199,9 +1094,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Stop playing silence to a channel.",
"nickname": "stopSilence",
"responseClass": "void",
@@ -1238,9 +1130,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Start playback of media.",
"notes": "The media URI may be any of a number of URI's. Currently sound:, recording:, number:, digits:, characters:, and tone: URI's are supported. This operation creates a playback resource that can be used to control the playback of media (pause, rewind, fast forward, etc.)",
"nickname": "play",
@@ -1319,9 +1208,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.2.0"
- ],
"summary": "Start playback of media and specify the playbackId.",
"notes": "The media URI may be any of a number of URI's. Currently sound:, recording:, number:, digits:, characters:, and tone: URI's are supported. This operation creates a playback resource that can be used to control the playback of media (pause, rewind, fast forward, etc.)",
"nickname": "playWithId",
@@ -1400,9 +1286,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Start a recording.",
"notes": "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.",
"nickname": "record",
@@ -1514,7 +1397,7 @@
},
{
"code": 409,
- "reason": "Channel is not in a Stasis application; the channel is currently bridged with other channels; A recording with the same name already exists on the system and can not be overwritten because it is in progress or ifExists=fail"
+ "reason": "Channel is not in a Stasis application; the channel is currently bridged with other hcannels; A recording with the same name already exists on the system and can not be overwritten because it is in progress or ifExists=fail"
},
{
"code": 422,
@@ -1530,9 +1413,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "Get the value of a channel variable or function.",
"nickname": "getChannelVar",
"responseClass": "Variable",
@@ -1571,9 +1451,6 @@
},
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Set the value of a channel variable or function.",
"nickname": "setChannelVar",
"responseClass": "void",
@@ -1626,9 +1503,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Start snooping.",
"notes": "Snoop (spy/whisper) on a specific channel.",
"nickname": "snoopChannel",
@@ -1722,9 +1596,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.2.0"
- ],
"summary": "Start snooping.",
"notes": "Snoop (spy/whisper) on a specific channel.",
"nickname": "snoopChannelWithId",
@@ -1818,9 +1689,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "14.0.0"
- ],
"summary": "Dial a created channel.",
"nickname": "dial",
"responseClass": "void",
@@ -1874,10 +1742,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "13.27.0",
- "16.4.0"
- ],
"summary": "RTP stats on a channel.",
"nickname": "rtpstatistics",
"responseClass": "RTPstat",
@@ -1906,12 +1770,8 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "16.6.0",
- "17.1.0"
- ],
"summary": "Start an External Media session.",
- "notes": "Create a channel to an External Media source/sink. The combination of transport and encapsulation will select one of chan_rtp(udp/rtp), chan_audiosocket(tcp/audiosocket) or chan_websocket(websocket/none) channel drivers.",
+ "notes": "Create a channel to an External Media source/sink.",
"nickname": "externalMedia",
"responseClass": "Channel",
"parameters": [
@@ -1941,15 +1801,15 @@
},
{
"name": "external_host",
- "description": "Hostname/ip:port or websocket_client connection ID of external host. May be empty for a websocket server connection.",
+ "description": "Hostname/ip:port of external host",
"paramType": "query",
- "required": false,
+ "required": true,
"allowMultiple": false,
"dataType": "string"
},
{
"name": "encapsulation",
- "description": "Payload encapsulation protocol. Must be 'none' for the websocket transport.",
+ "description": "Payload encapsulation protocol",
"paramType": "query",
"required": false,
"allowMultiple": false,
@@ -1959,8 +1819,7 @@
"valueType": "LIST",
"values": [
"rtp",
- "audiosocket",
- "none"
+ "audiosocket"
]
}
},
@@ -1976,14 +1835,13 @@
"valueType": "LIST",
"values": [
"udp",
- "tcp",
- "websocket"
+ "tcp"
]
}
},
{
"name": "connection_type",
- "description": "Connection type (client/server). 'server' is only valid for the websocket transport.",
+ "description": "Connection type (client/server)",
"paramType": "query",
"required": false,
"allowMultiple": false,
@@ -1992,8 +1850,7 @@
"allowableValues": {
"valueType": "LIST",
"values": [
- "client",
- "server"
+ "client"
]
}
},
@@ -2027,14 +1884,6 @@
"required": false,
"allowMultiple": false,
"dataType": "string"
- },
- {
- "name": "transport_data",
- "description": "Transport-specific data. For websocket this is appended to the dialstring.",
- "paramType": "query",
- "required": false,
- "allowMultiple": false,
- "dataType": "string"
}
],
"errorResponses": [
@@ -2049,59 +1898,6 @@
]
}
]
- },
- {
- "path": "/channels/{channelId}/transfer_progress",
- "description": "Inform the channel that the transfer is in progress.",
- "operations": [
- {
- "httpMethod": "POST",
- "since": [
- "22.3.0",
- "21.8.0",
- "20.13.0"
- ],
- "summary": "Inform the channel about the progress of the attended/blind transfer.",
- "nickname": "transfer_progress",
- "responseClass": "void",
- "parameters": [
- {
- "name": "channelId",
- "description": "Channel's id",
- "paramType": "path",
- "required": true,
- "allowMultiple": false,
- "dataType": "string"
- },
- {
- "name": "states",
- "description": "The state of the progress",
- "paramType": "query",
- "required": true,
- "allowMultiple": false,
- "dataType": "string"
- }
- ],
- "errorResponses": [
- {
- "code": 400,
- "reason": "Endpoint parameter not provided"
- },
- {
- "code": 404,
- "reason": "Channel or endpoint not found"
- },
- {
- "code": 409,
- "reason": "Channel not in a Stasis application"
- },
- {
- "code": 412,
- "reason": "Channel in invalid state"
- }
- ]
- }
- ]
}
],
"models": {
diff --git a/codegen/src/main/resources/codegen-data/ari_8_0_0/deviceStates.json b/codegen/src/main/resources/codegen-data/ari_8_0_0/deviceStates.json
index f0a889bc..bd389355 100644
--- a/codegen/src/main/resources/codegen-data/ari_8_0_0/deviceStates.json
+++ b/codegen/src/main/resources/codegen-data/ari_8_0_0/deviceStates.json
@@ -6,9 +6,6 @@
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/deviceStates.{format}",
- "since": [
- "12.0.0"
- ],
"requiresModules": [
"res_stasis_device_state"
],
@@ -19,9 +16,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "List all ARI controlled device states.",
"nickname": "list",
"responseClass": "List[DeviceState]"
@@ -34,9 +28,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "Retrieve the current state of a device.",
"nickname": "get",
"responseClass": "DeviceState",
@@ -53,9 +44,6 @@
},
{
"httpMethod": "PUT",
- "since": [
- "12.0.0"
- ],
"summary": "Change the state of a device controlled by ARI. (Note - implicitly creates the device state).",
"nickname": "update",
"responseClass": "void",
@@ -104,9 +92,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Destroy a device-state controlled by ARI.",
"nickname": "delete",
"responseClass": "void",
diff --git a/codegen/src/main/resources/codegen-data/ari_8_0_0/endpoints.json b/codegen/src/main/resources/codegen-data/ari_8_0_0/endpoints.json
index 93c406f7..7560b9cb 100644
--- a/codegen/src/main/resources/codegen-data/ari_8_0_0/endpoints.json
+++ b/codegen/src/main/resources/codegen-data/ari_8_0_0/endpoints.json
@@ -6,9 +6,6 @@
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/endpoints.{format}",
- "since": [
- "12.0.0"
- ],
"apis": [
{
"path": "/endpoints",
@@ -16,9 +13,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "List all endpoints.",
"nickname": "list",
"responseClass": "List[Endpoint]"
@@ -31,9 +25,6 @@
"operations": [
{
"httpMethod": "PUT",
- "since": [
- "13.0.0"
- ],
"summary": "Send a message to some technology URI or endpoint.",
"nickname": "sendMessage",
"responseClass": "void",
@@ -90,10 +81,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "18.20.0",
- "20.5.0"
- ],
"summary": "Refer an endpoint or technology URI to some technology URI or endpoint.",
"nickname": "refer",
"responseClass": "void",
@@ -159,9 +146,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "List available endoints for a given endpoint technology.",
"nickname": "listByTech",
"responseClass": "List[Endpoint]",
@@ -188,9 +172,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "Details for an endpoint.",
"nickname": "get",
"responseClass": "Endpoint",
@@ -227,9 +208,6 @@
"operations": [
{
"httpMethod": "PUT",
- "since": [
- "13.0.0"
- ],
"summary": "Send a message to some endpoint in a technology.",
"nickname": "sendMessageToEndpoint",
"responseClass": "void",
@@ -290,10 +268,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "18.20.0",
- "20.5.0"
- ],
"summary": "Refer an endpoint or technology URI to some technology URI or endpoint.",
"nickname": "referToEndpoint",
"responseClass": "void",
diff --git a/codegen/src/main/resources/codegen-data/ari_8_0_0/events.json b/codegen/src/main/resources/codegen-data/ari_8_0_0/events.json
index b7d14ef1..c9822f6c 100644
--- a/codegen/src/main/resources/codegen-data/ari_8_0_0/events.json
+++ b/codegen/src/main/resources/codegen-data/ari_8_0_0/events.json
@@ -6,9 +6,6 @@
"swaggerVersion": "1.2",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/events.{format}",
- "since": [
- "12.0.0"
- ],
"requiresModules": [
"res_http_websocket"
],
@@ -19,9 +16,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"upgrade": "websocket",
"websocketProtocol": "ari",
"summary": "WebSocket connection for events.",
@@ -54,9 +48,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.3.0"
- ],
"summary": "Generate a user event.",
"nickname": "userEvent",
"responseClass": "void",
@@ -169,8 +160,6 @@
"RecordingFinished",
"RecordingFailed",
"ApplicationMoveFailed",
- "ApplicationRegistered",
- "ApplicationUnregistered",
"ApplicationReplaced",
"BridgeCreated",
"BridgeDestroyed",
@@ -200,9 +189,7 @@
"StasisStart",
"TextMessageReceived",
"ChannelConnectedLine",
- "PeerStatusChange",
- "ChannelTransfer",
- "RESTResponse"
+ "PeerStatusChange"
]
},
"ContactInfo": {
@@ -368,16 +355,6 @@
}
}
},
- "ApplicationRegistered": {
- "id": "ApplicationRegistered",
- "description": "Notification that a Stasis app has been registered.",
- "properties": {}
- },
- "ApplicationUnregistered": {
- "id": "ApplicationUnregistered",
- "description": "Notification that a Stasis app has been unregistered.",
- "properties": {}
- },
"ApplicationReplaced": {
"id": "ApplicationReplaced",
"description": "Notification that another WebSocket has taken over for an application.\n\nAn 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.",
@@ -578,10 +555,6 @@
"description": "Text representation of the cause of the hangup",
"type": "string"
},
- "tech_cause": {
- "type": "int",
- "description": "Integer representation of the technology-specific off-nominal cause of the hangup."
- },
"channel": {
"required": true,
"type": "Channel"
@@ -727,10 +700,6 @@
"type": "int",
"description": "Integer representation of the cause of the hangup."
},
- "tech_cause": {
- "type": "int",
- "description": "Integer representation of the technology-specific off-nominal cause of the hangup."
- },
"soft": {
"type": "boolean",
"description": "Whether the hangup request was a soft hangup request."
@@ -944,229 +913,6 @@
"description": "The channel whose connected line has changed."
}
}
- },
- "ChannelTransfer": {
- "id": "ChannelTransfer",
- "description": "transfer on a channel.",
- "properties": {
- "state": {
- "required": false,
- "type": "string",
- "description": "Transfer State"
- },
- "refer_to": {
- "required": true,
- "type": "ReferTo",
- "description": "Refer-To information with optionally both affected channels"
- },
- "referred_by": {
- "required": true,
- "type": "ReferredBy",
- "description": "Referred-By SIP Header according rfc3892"
- }
- }
- },
- "ReferTo": {
- "id": "ReferTo",
- "description": "transfer destination requested by transferee",
- "properties": {
- "requested_destination": {
- "required": true,
- "type": "RequiredDestination"
- },
- "destination_channel": {
- "required": false,
- "type": "Channel",
- "description": "The Channel Object, that is to be replaced"
- },
- "connected_channel": {
- "required": false,
- "type": "Channel",
- "description": "Channel, connected to the to be replaced channel"
- },
- "bridge": {
- "required": false,
- "type": "Bridge",
- "description": "Bridge connecting both destination channels"
- }
- }
- },
- "ReferredBy": {
- "id": "ReferredBy",
- "description": "transfer destination requested by transferee",
- "properties": {
- "source_channel": {
- "required": true,
- "type": "Channel",
- "description": "The channel on which the refer was received"
- },
- "connected_channel": {
- "required": false,
- "type": "Channel",
- "description": "Channel, Connected to the channel, receiving the transfer request on."
- },
- "bridge": {
- "required": false,
- "type": "Bridge",
- "description": "Bridge connecting both Channels"
- }
- }
- },
- "RequiredDestination": {
- "id": "RequiredDestination",
- "description": "Information about the requested destination",
- "properties": {
- "protocol_id": {
- "required": false,
- "type": "string",
- "description": "the requested protocol-id by the referee in case of SIP channel, this is a SIP Call ID, Mutually exclusive to destination"
- },
- "destination": {
- "required": false,
- "type": "string",
- "description": "Destination User Part. Only for Blind transfer. Mutually exclusive to protocol_id"
- },
- "additional_protocol_params": {
- "required": false,
- "type": "List[AdditionalParam]",
- "description": "List of additional protocol specific information"
- }
- }
- },
- "AdditionalParam": {
- "id": "AdditionalParam",
- "description": "Protocol specific additional parameter",
- "properties": {
- "parameter_name": {
- "required": true,
- "type": "string",
- "description": "Name of the parameter"
- },
- "parameter_value": {
- "required": true,
- "type": "string",
- "description": "Value of the parameter"
- }
- }
- },
- "RESTHeader": {
- "id": "RESTHeader",
- "description": "REST over Websocket header",
- "properties": {
- "name": {
- "type": "string",
- "description": "Header name",
- "required": true
- },
- "value": {
- "required": true,
- "type": "string",
- "description": "Header value"
- }
- }
- },
- "RESTQueryStringParameter": {
- "id": "RESTQueryStringParameter",
- "description": "REST over Websocket Query String Parameter",
- "properties": {
- "name": {
- "type": "string",
- "description": "Parameter name",
- "required": true
- },
- "value": {
- "required": true,
- "type": "string",
- "description": "Parameter value"
- }
- }
- },
- "RESTRequest": {
- "id": "RESTRequest",
- "description": "REST over Websocket Request.",
- "properties": {
- "type": {
- "type": "string",
- "description": "Message type. Must be 'RESTRequest'",
- "required": true
- },
- "transaction_id": {
- "type": "string",
- "description": "Opaque transaction id. Can be any valid string. Will be returned in any response to this request.",
- "required": true
- },
- "request_id": {
- "type": "string",
- "description": "Opaque request id. Can be any valid string. Will be returned in any response to this request.",
- "required": true
- },
- "method": {
- "required": true,
- "type": "string",
- "description": "HTTP method (GET, PUT, POST, DELETE, etc.)"
- },
- "uri": {
- "required": true,
- "type": "string",
- "description": "Resource URI with optional query string parameters."
- },
- "content_type": {
- "required": false,
- "type": "string",
- "description": "The Content-Type of the message body."
- },
- "query_strings": {
- "required": false,
- "type": "List[RESTQueryStringParameter]",
- "description": "Request query string parameters."
- },
- "message_body": {
- "required": false,
- "type": "string",
- "description": "Request message body. Only content types application/json and application/x-www-form-urlencoded are supported."
- }
- }
- },
- "RESTResponse": {
- "id": "RESTResponse",
- "description": "REST over Websocket Response.",
- "properties": {
- "transaction_id": {
- "type": "string",
- "description": "Opaque transaction id. Will be whatever was specified on the original request.",
- "required": true
- },
- "request_id": {
- "type": "string",
- "description": "Opaque request id. Will be whatever was specified on the original request.",
- "required": true
- },
- "status_code": {
- "required": true,
- "type": "int",
- "description": "HTTP status code"
- },
- "reason_phrase": {
- "required": true,
- "type": "string",
- "description": "HTTP reason phrase"
- },
- "uri": {
- "required": true,
- "type": "string",
- "description": "Original request resource URI"
- },
- "content_type": {
- "required": false,
- "type": "string",
- "description": "The Content-Type of the message body."
- },
- "message_body": {
- "required": false,
- "type": "string",
- "description": "Response message body"
- }
- }
}
}
}
diff --git a/codegen/src/main/resources/codegen-data/ari_8_0_0/mailboxes.json b/codegen/src/main/resources/codegen-data/ari_8_0_0/mailboxes.json
index d99e1eac..8f5941b8 100644
--- a/codegen/src/main/resources/codegen-data/ari_8_0_0/mailboxes.json
+++ b/codegen/src/main/resources/codegen-data/ari_8_0_0/mailboxes.json
@@ -6,9 +6,6 @@
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/mailboxes.{format}",
- "since": [
- "12.1.0"
- ],
"requiresModules": [
"res_stasis_mailbox"
],
@@ -19,9 +16,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.1.0"
- ],
"summary": "List all mailboxes.",
"nickname": "list",
"responseClass": "List[Mailbox]"
@@ -34,9 +28,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.1.0"
- ],
"summary": "Retrieve the current state of a mailbox.",
"nickname": "get",
"responseClass": "Mailbox",
@@ -59,9 +50,6 @@
},
{
"httpMethod": "PUT",
- "since": [
- "12.1.0"
- ],
"summary": "Change the state of a mailbox. (Note - implicitly creates the mailbox).",
"nickname": "update",
"responseClass": "void",
@@ -100,9 +88,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.1.0"
- ],
"summary": "Destroy a mailbox.",
"nickname": "delete",
"responseClass": "void",
diff --git a/codegen/src/main/resources/codegen-data/ari_8_0_0/playbacks.json b/codegen/src/main/resources/codegen-data/ari_8_0_0/playbacks.json
index a7892f18..793986fc 100644
--- a/codegen/src/main/resources/codegen-data/ari_8_0_0/playbacks.json
+++ b/codegen/src/main/resources/codegen-data/ari_8_0_0/playbacks.json
@@ -6,9 +6,6 @@
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/playbacks.{format}",
- "since": [
- "12.0.0"
- ],
"requiresModules": [
"res_stasis_playback"
],
@@ -19,9 +16,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "Get a playback's details.",
"nickname": "get",
"responseClass": "Playback",
@@ -44,9 +38,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Stop a playback.",
"nickname": "stop",
"responseClass": "void",
@@ -75,9 +66,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Control a playback.",
"nickname": "control",
"responseClass": "void",
diff --git a/codegen/src/main/resources/codegen-data/ari_8_0_0/recordings.json b/codegen/src/main/resources/codegen-data/ari_8_0_0/recordings.json
index 1496db8a..6ffd6d8e 100644
--- a/codegen/src/main/resources/codegen-data/ari_8_0_0/recordings.json
+++ b/codegen/src/main/resources/codegen-data/ari_8_0_0/recordings.json
@@ -6,9 +6,6 @@
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/recordings.{format}",
- "since": [
- "12.0.0"
- ],
"requiresModules": [
"res_stasis_recording"
],
@@ -19,9 +16,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "List recordings that are complete.",
"nickname": "listStored",
"responseClass": "List[StoredRecording]"
@@ -34,9 +28,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "Get a stored recording's details.",
"nickname": "getStored",
"responseClass": "StoredRecording",
@@ -59,9 +50,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Delete a stored recording.",
"nickname": "deleteStored",
"responseClass": "void",
@@ -90,9 +78,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "14.0.0"
- ],
"summary": "Get the file associated with the stored recording.",
"nickname": "getStoredFile",
"responseClass": "binary",
@@ -125,9 +110,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.5.0"
- ],
"summary": "Copy a stored recording.",
"nickname": "copyStored",
"responseClass": "StoredRecording",
@@ -168,9 +150,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "List live recordings.",
"nickname": "getLive",
"responseClass": "LiveRecording",
@@ -193,9 +172,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Stop a live recording and discard it.",
"nickname": "cancel",
"responseClass": "void",
@@ -223,9 +199,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Stop a live recording and store it.",
"nickname": "stop",
"responseClass": "void",
@@ -253,9 +226,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Pause a live recording.",
"notes": "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.",
"nickname": "pause",
@@ -283,9 +253,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Unpause a live recording.",
"nickname": "unpause",
"responseClass": "void",
@@ -317,9 +284,6 @@
"operations": [
{
"httpMethod": "POST",
- "since": [
- "12.0.0"
- ],
"summary": "Mute a live recording.",
"notes": "Muting a recording suspends silence detection, which will be restarted when the recording is unmuted.",
"nickname": "mute",
@@ -347,9 +311,6 @@
},
{
"httpMethod": "DELETE",
- "since": [
- "12.0.0"
- ],
"summary": "Unmute a live recording.",
"nickname": "unmute",
"responseClass": "void",
diff --git a/codegen/src/main/resources/codegen-data/ari_8_0_0/sounds.json b/codegen/src/main/resources/codegen-data/ari_8_0_0/sounds.json
index aee4d369..8fbe1c57 100644
--- a/codegen/src/main/resources/codegen-data/ari_8_0_0/sounds.json
+++ b/codegen/src/main/resources/codegen-data/ari_8_0_0/sounds.json
@@ -6,9 +6,6 @@
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/sounds.{format}",
- "since": [
- "12.0.0"
- ],
"apis": [
{
"path": "/sounds",
@@ -16,9 +13,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "List all sounds.",
"nickname": "list",
"responseClass": "List[Sound]",
@@ -48,9 +42,6 @@
"operations": [
{
"httpMethod": "GET",
- "since": [
- "12.0.0"
- ],
"summary": "Get a sound's details.",
"nickname": "get",
"responseClass": "Sound",