mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-20 12:20:12 +00:00
An http request can be sent to load an Asterisk module. If the module can not be loaded or is loaded already, an error response will be returned. The command curl -v -u user:pass -X POST 'http://localhost:8088/ari /asterisk/modules/{moduleName}'" (or something similar, depending on configuration) can be run in the terminal to access this new functionality. For more information, see: https://wiki.asterisk.org/wiki.display/~bford/Asterisk+ARI+Resource * Added new ARI functionality * Asterisk modules can be loaded through http requests ASTERISK-25173 Change-Id: I9e05d5b8c5c666ecfef341504f9edc1aa84fda33
357 lines
8.1 KiB
JSON
357 lines
8.1 KiB
JSON
{
|
|
"_copyright": "Copyright (C) 2012 - 2013, Digium, Inc.",
|
|
"_author": "David M. Lee, II <dlee@digium.com>",
|
|
"_svn_revision": "$Revision$",
|
|
"apiVersion": "1.7.0",
|
|
"swaggerVersion": "1.1",
|
|
"basePath": "http://localhost:8088/ari",
|
|
"resourcePath": "/api-docs/asterisk.{format}",
|
|
"apis": [
|
|
{
|
|
"path": "/asterisk/info",
|
|
"description": "Asterisk system information (similar to core show settings)",
|
|
"operations": [
|
|
{
|
|
"httpMethod": "GET",
|
|
"summary": "Gets Asterisk system information.",
|
|
"nickname": "getInfo",
|
|
"responseClass": "AsteriskInfo",
|
|
"parameters": [
|
|
{
|
|
"name": "only",
|
|
"description": "Filter information returned",
|
|
"paramType": "query",
|
|
"required": false,
|
|
"allowMultiple": true,
|
|
"dataType": "string",
|
|
"allowableValues": {
|
|
"valueType": "LIST",
|
|
"values": [
|
|
"build",
|
|
"system",
|
|
"config",
|
|
"status"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path": "/asterisk/modules",
|
|
"description": "Asterisk modules",
|
|
"operations": [
|
|
{
|
|
"httpMethod": "GET",
|
|
"summary": "List Asterisk modules.",
|
|
"nickname": "listModules",
|
|
"responseClass": "List[Module]"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path": "/asterisk/modules/{moduleName}",
|
|
"description": "Asterisk module",
|
|
"operations": [
|
|
{
|
|
"httpMethod": "GET",
|
|
"summary": "Get Asterisk module information.",
|
|
"nickname": "getModule",
|
|
"responseClass": "Module",
|
|
"parameters": [
|
|
{
|
|
"name": "moduleName",
|
|
"description": "Module's name",
|
|
"paramType": "path",
|
|
"required": true,
|
|
"allowMultiple": false,
|
|
"dataType": "string"
|
|
}
|
|
],
|
|
"errorResponses": [
|
|
{
|
|
"code": 404,
|
|
"reason": "Module could not be found in running modules."
|
|
},
|
|
{
|
|
"code": 409,
|
|
"reason": "Module information could not be retrieved."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"httpMethod": "POST",
|
|
"summary": "Load an Asterisk module.",
|
|
"nickname": "loadModule",
|
|
"responseClass": "void",
|
|
"parameters": [
|
|
{
|
|
"name": "moduleName",
|
|
"description": "Module's name",
|
|
"paramType": "path",
|
|
"required": true,
|
|
"allowMultiple": false,
|
|
"dataType": "string"
|
|
}
|
|
],
|
|
"errorResponses": [
|
|
{
|
|
"code": 409,
|
|
"reason": "Module could not be loaded."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
],
|
|
"errorResponses": [
|
|
{
|
|
"code": 400,
|
|
"reason": "Missing variable parameter."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
],
|
|
"errorResponses": [
|
|
{
|
|
"code": 400,
|
|
"reason": "Missing variable parameter."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"models": {
|
|
"BuildInfo": {
|
|
"id": "BuildInfo",
|
|
"description": "Info about how Asterisk was built",
|
|
"properties": {
|
|
"os": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": "OS Asterisk was built on."
|
|
},
|
|
"kernel": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": "Kernel version Asterisk was built on."
|
|
},
|
|
"options": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": "Compile time options, or empty string if default."
|
|
},
|
|
"machine": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": "Machine architecture (x86_64, i686, ppc, etc.)"
|
|
},
|
|
"date": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": "Date and time when Asterisk was built."
|
|
},
|
|
"user": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": "Username that build Asterisk"
|
|
}
|
|
}
|
|
},
|
|
"SystemInfo": {
|
|
"id": "SystemInfo",
|
|
"description": "Info about Asterisk",
|
|
"properties": {
|
|
"version": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": "Asterisk version."
|
|
},
|
|
"entity_id": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": ""
|
|
}
|
|
}
|
|
},
|
|
"SetId": {
|
|
"id": "SetId",
|
|
"description": "Effective user/group id",
|
|
"properties": {
|
|
"user": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": "Effective user id."
|
|
},
|
|
"group": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": "Effective group id."
|
|
}
|
|
}
|
|
},
|
|
"ConfigInfo": {
|
|
"id": "ConfigInfo",
|
|
"description": "Info about Asterisk configuration",
|
|
"properties": {
|
|
"name": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": "Asterisk system name."
|
|
},
|
|
"default_language": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": "Default language for media playback."
|
|
},
|
|
"max_channels": {
|
|
"required": false,
|
|
"type": "int",
|
|
"description": "Maximum number of simultaneous channels."
|
|
},
|
|
"max_open_files": {
|
|
"required": false,
|
|
"type": "int",
|
|
"description": "Maximum number of open file handles (files, sockets)."
|
|
},
|
|
"max_load": {
|
|
"required": false,
|
|
"type": "double",
|
|
"description": "Maximum load avg on system."
|
|
},
|
|
"setid": {
|
|
"required": true,
|
|
"type": "SetId",
|
|
"description": "Effective user/group id for running Asterisk."
|
|
}
|
|
}
|
|
},
|
|
"StatusInfo": {
|
|
"id": "StatusInfo",
|
|
"description": "Info about Asterisk status",
|
|
"properties": {
|
|
"startup_time": {
|
|
"required": true,
|
|
"type": "Date",
|
|
"description": "Time when Asterisk was started."
|
|
},
|
|
"last_reload_time": {
|
|
"required": true,
|
|
"type": "Date",
|
|
"description": "Time when Asterisk was last reloaded."
|
|
}
|
|
}
|
|
},
|
|
"AsteriskInfo": {
|
|
"id": "AsteriskInfo",
|
|
"description": "Asterisk system information",
|
|
"properties": {
|
|
"build": {
|
|
"required": false,
|
|
"type": "BuildInfo",
|
|
"description": "Info about how Asterisk was built"
|
|
},
|
|
"system": {
|
|
"required": false,
|
|
"type": "SystemInfo",
|
|
"description": "Info about the system running Asterisk"
|
|
},
|
|
"config": {
|
|
"required": false,
|
|
"type": "ConfigInfo",
|
|
"description": "Info about Asterisk configuration"
|
|
},
|
|
"status": {
|
|
"required": false,
|
|
"type": "StatusInfo",
|
|
"description": "Info about Asterisk status"
|
|
}
|
|
}
|
|
},
|
|
"Module": {
|
|
"id": "Module",
|
|
"description": "Details of an Asterisk module",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of this module",
|
|
"required": true
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this module",
|
|
"required": true
|
|
},
|
|
"use_count": {
|
|
"type": "int",
|
|
"description": "The number of times this module is being used",
|
|
"required": true
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"description": "The running status of this module",
|
|
"required": true
|
|
},
|
|
"support_level": {
|
|
"type": "string",
|
|
"description": "The support state of this module",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"Variable": {
|
|
"id": "Variable",
|
|
"description": "The value of a channel variable",
|
|
"properties": {
|
|
"value": {
|
|
"required": true,
|
|
"type": "string",
|
|
"description": "The value of the variable requested"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|