summaryrefslogtreecommitdiff
path: root/rest-api
diff options
context:
space:
mode:
authorJason Parker <jparker@digium.com>2013-07-08 14:46:20 +0000
committerJason Parker <jparker@digium.com>2013-07-08 14:46:20 +0000
commit87973eecffbf400da98b67eca1dbed038af40439 (patch)
tree792c79b81749434c8ead92c5e66708ef8897d87b /rest-api
parent7422581b6d4921cebfcf177fc63b2ef852fdef58 (diff)
ARI: Add support for getting/setting channel and global variables.
This allows for reading and writing of functions on channels. (closes issue ASTERISK-21868) Review: https://reviewboard.asterisk.org/r/2641/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'rest-api')
-rw-r--r--rest-api/api-docs/asterisk.json56
-rw-r--r--rest-api/api-docs/channels.json92
2 files changed, 148 insertions, 0 deletions
diff --git a/rest-api/api-docs/asterisk.json b/rest-api/api-docs/asterisk.json
index 8ee88e439..8c404a075 100644
--- a/rest-api/api-docs/asterisk.json
+++ b/rest-api/api-docs/asterisk.json
@@ -36,6 +36,52 @@
]
}
]
+ },
+ {
+ "path": "/asterisk/variable",
+ "description": "Global variables",
+ "operations": [
+ {
+ "httpMethod": "GET",
+ "summary": "Get the value of a global variable.",
+ "nickname": "getGlobalVar",
+ "responseClass": "Variable",
+ "parameters": [
+ {
+ "name": "variable",
+ "description": "The variable to get",
+ "paramType": "query",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ }
+ ]
+ },
+ {
+ "httpMethod": "POST",
+ "summary": "Set the value of a global variable.",
+ "nickname": "setGlobalVar",
+ "responseClass": "void",
+ "parameters": [
+ {
+ "name": "variable",
+ "description": "The variable to set",
+ "paramType": "query",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "value",
+ "description": "The value to set the variable to",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ }
+ ]
+ }
+ ]
}
],
"models": {
@@ -43,6 +89,16 @@
"id": "AsteriskInfo",
"description": "Asterisk system information",
"properties": {}
+ },
+ "Variable": {
+ "id": "Variable",
+ "properties": {
+ "variable": {
+ "required": true,
+ "type": "string",
+ "description": "The value of the variable requested"
+ }
+ }
}
}
}
diff --git a/rest-api/api-docs/channels.json b/rest-api/api-docs/channels.json
index 9900db739..a97f22566 100644
--- a/rest-api/api-docs/channels.json
+++ b/rest-api/api-docs/channels.json
@@ -645,6 +645,88 @@
]
}
]
+ },
+ {
+ "path": "/channels/{channelId}/variable",
+ "description": "Variables on a channel",
+ "operations": [
+ {
+ "httpMethod": "GET",
+ "summary": "Get the value of a channel variable or function.",
+ "nickname": "getChannelVar",
+ "responseClass": "ChannelVariable",
+ "parameters": [
+ {
+ "name": "channelId",
+ "description": "Channel's id",
+ "paramType": "path",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "variable",
+ "description": "The channel variable or function to get",
+ "paramType": "query",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ }
+ ],
+ "errorResponses": [
+ {
+ "code": 404,
+ "reason": "Channel not found"
+ },
+ {
+ "code": 409,
+ "reason": "Channel not in a Stasis application"
+ }
+ ]
+ },
+ {
+ "httpMethod": "POST",
+ "summary": "Set the value of a channel variable or function.",
+ "nickname": "setChannelVar",
+ "responseClass": "void",
+ "parameters": [
+ {
+ "name": "channelId",
+ "description": "Channel's id",
+ "paramType": "path",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "variable",
+ "description": "The channel variable or function to set",
+ "paramType": "query",
+ "required": true,
+ "allowMultiple": false,
+ "dataType": "string"
+ },
+ {
+ "name": "value",
+ "description": "The value to set the variable to",
+ "paramType": "query",
+ "required": false,
+ "allowMultiple": false,
+ "dataType": "string"
+ }
+ ],
+ "errorResponses": [
+ {
+ "code": 404,
+ "reason": "Channel not found"
+ },
+ {
+ "code": 409,
+ "reason": "Channel not in a Stasis application"
+ }
+ ]
+ }
+ ]
}
],
"models": {
@@ -745,6 +827,16 @@
"description": "Timestamp when channel was created"
}
}
+ },
+ "Variable": {
+ "id": "Variable",
+ "properties": {
+ "variable": {
+ "required": true,
+ "type": "string",
+ "description": "The value of the variable requested"
+ }
+ }
}
}
}