2013-04-22 14:58:53 +00:00
{
"_copyright" : "Copyright (C) 2012 - 2013, Digium, Inc." ,
"_author" : "David M. Lee, II <dlee@digium.com>" ,
"_svn_revision" : "$Revision$" ,
2016-11-18 09:46:48 -06:00
"apiVersion" : "2.0.0" ,
2013-04-22 14:58:53 +00:00
"swaggerVersion" : "1.1" ,
2014-09-20 23:41:55 +00:00
"basePath" : "http://localhost:8088/ari" ,
2013-04-22 14:58:53 +00:00
"resourcePath" : "/api-docs/channels.{format}" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2018-01-18 10:01:26 -05:00
"requiresModules" : [
"res_stasis_answer" ,
"res_stasis_playback" ,
"res_stasis_recording" ,
"res_stasis_snoop"
] ,
2013-04-22 14:58:53 +00:00
"apis" : [
{
"path" : "/channels" ,
"description" : "Active channels" ,
"operations" : [
{
"httpMethod" : "GET" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-10-16 14:02:06 +00:00
"summary" : "List all active channels in Asterisk." ,
2013-11-07 21:10:31 +00:00
"nickname" : "list" ,
2013-04-22 14:58:53 +00:00
"responseClass" : "List[Channel]"
} ,
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-04-22 14:58:53 +00:00
"summary" : "Create a new channel (originate)." ,
2013-10-19 14:45:14 +00:00
"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." ,
2013-04-22 14:58:53 +00:00
"nickname" : "originate" ,
2013-10-21 18:59:51 +00:00
"responseClass" : "Channel" ,
2013-04-22 14:58:53 +00:00
"parameters" : [
{
"name" : "endpoint" ,
2013-06-28 16:23:24 +00:00
"description" : "Endpoint to call." ,
2013-04-22 14:58:53 +00:00
"paramType" : "query" ,
2013-06-28 16:23:24 +00:00
"required" : true ,
2013-04-22 14:58:53 +00:00
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "extension" ,
2015-01-27 17:21:03 +00:00
"description" : "The extension to dial after the endpoint answers. Mutually exclusive with 'app'." ,
2013-04-22 14:58:53 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "context" ,
2015-01-27 17:21:03 +00:00
"description" : "The context to dial after the endpoint answers. If omitted, uses 'default'. Mutually exclusive with 'app'." ,
2013-06-07 18:39:42 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
2013-06-28 16:23:24 +00:00
"name" : "priority" ,
2015-01-27 17:21:03 +00:00
"description" : "The priority to dial after the endpoint answers. If omitted, uses 1. Mutually exclusive with 'app'." ,
2013-06-07 18:39:42 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
2013-06-28 16:23:24 +00:00
"dataType" : "long"
2013-06-07 18:39:42 +00:00
} ,
2015-01-07 18:54:06 +00:00
{
"name" : "label" ,
2015-01-27 17:21:03 +00:00
"description" : "The label to dial after the endpoint answers. Will supersede 'priority' if provided. Mutually exclusive with 'app'." ,
2015-01-07 18:54:06 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
2013-06-07 18:39:42 +00:00
{
2013-06-28 16:23:24 +00:00
"name" : "app" ,
2015-01-27 17:21:03 +00:00
"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'." ,
2013-06-07 18:39:42 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
2013-06-28 16:23:24 +00:00
"dataType" : "string"
2013-06-07 18:39:42 +00:00
} ,
{
2013-06-28 16:23:24 +00:00
"name" : "appArgs" ,
2015-01-27 17:21:03 +00:00
"description" : "The application arguments to pass to the Stasis application provided by 'app'. Mutually exclusive with 'context', 'extension', 'priority', and 'label'." ,
2013-06-07 18:39:42 +00:00
"paramType" : "query" ,
2013-06-28 16:23:24 +00:00
"required" : false ,
2013-06-07 18:39:42 +00:00
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
2013-06-28 16:23:24 +00:00
"name" : "callerId" ,
"description" : "CallerID to use when dialing the endpoint or extension." ,
2013-04-22 14:58:53 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2013-06-28 16:23:24 +00:00
} ,
{
"name" : "timeout" ,
"description" : "Timeout (in seconds) before giving up dialing, or -1 for no timeout." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int" ,
"defaultValue" : 30
2014-01-21 14:27:21 +00:00
} ,
{
"name" : "variables" ,
2014-07-03 16:14:39 +00:00
"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\" } }" ,
2014-01-21 14:27:21 +00:00
"paramType" : "body" ,
"required" : false ,
"dataType" : "containers" ,
"allowMultiple" : false
2014-03-07 15:47:55 +00:00
} ,
{
"name" : "channelId" ,
"description" : "The unique id to assign the channel on creation." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "otherChannelId" ,
"description" : "The unique id to assign the second channel when using local channels." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2014-12-09 15:45:19 +00:00
} ,
{
"name" : "originator" ,
"description" : "The unique id of the channel which is originating this one." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2016-05-27 13:49:42 -06:00
} ,
{
"name" : "formats" ,
"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\"." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2013-04-22 14:58:53 +00:00
}
2013-07-10 17:13:21 +00:00
] ,
"errorResponses" : [
{
"code" : 400 ,
"reason" : "Invalid parameters for originating a channel."
2016-10-17 14:18:57 -05:00
} ,
{
"code" : 409 ,
"reason" : "Channel with given unique ID already exists."
2013-07-10 17:13:21 +00:00
}
2013-04-22 14:58:53 +00:00
]
}
]
} ,
2016-03-30 17:01:28 -05:00
{
"path" : "/channels/create" ,
"description" : "Create a channel and place it in a Stasis app, but do not dial the channel yet." ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"14.0.0"
] ,
2016-03-30 17:01:28 -05:00
"summary" : "Create channel." ,
"nickname" : "create" ,
"responseClass" : "Channel" ,
"parameters" : [
{
"name" : "endpoint" ,
"description" : "Endpoint for channel communication" ,
"paramType" : "query" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "app" ,
"description" : "Stasis Application to place channel into" ,
"paramType" : "query" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "appArgs" ,
"description" : "The application arguments to pass to the Stasis application provided by 'app'. Mutually exclusive with 'context', 'extension', 'priority', and 'label'." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "channelId" ,
"description" : "The unique id to assign the channel on creation." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "otherChannelId" ,
"description" : "The unique id to assign the second channel when using local channels." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "originator" ,
"description" : "Unique ID of the calling channel" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2016-05-27 13:49:42 -06:00
} ,
{
"name" : "formats" ,
"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\"." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2020-05-12 20:15:41 -03:00
} ,
{
"name" : "variables" ,
"description" : "The \"variables\" key in the body object holds variable key/value pairs to set on the channel on creation. Other keys in the body object are interpreted as query parameters. Ex. { \"endpoint\": \"SIP/Alice\", \"variables\": { \"CALLERID(name)\": \"Alice\" } }" ,
"paramType" : "body" ,
"required" : false ,
"dataType" : "containers" ,
"allowMultiple" : false
2016-03-30 17:01:28 -05:00
}
2016-10-19 12:05:28 -05:00
] ,
"errorResponses" : [
{
"code" : 409 ,
"reason" : "Channel with given unique ID already exists."
}
2016-03-30 17:01:28 -05:00
]
}
]
} ,
2013-04-22 14:58:53 +00:00
{
"path" : "/channels/{channelId}" ,
"description" : "Active channel" ,
"operations" : [
{
"httpMethod" : "GET" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-04-22 14:58:53 +00:00
"summary" : "Channel details." ,
2013-11-07 21:10:31 +00:00
"nickname" : "get" ,
2013-04-22 14:58:53 +00:00
"responseClass" : "Channel" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
}
] ,
"errorResponses" : [
{
"code" : 404 ,
"reason" : "Channel not found"
}
]
} ,
2014-03-07 15:47:55 +00:00
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.2.0"
] ,
2014-03-07 15:47:55 +00:00
"summary" : "Create a new channel (originate with id)." ,
"notes" : "The new channel is created immediately and a snapshot of it returned. If a Stasis application is provided it will be automatically subscribed to the originated channel for further events and updates." ,
"nickname" : "originateWithId" ,
"responseClass" : "Channel" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "The unique id to assign the channel on creation." ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "endpoint" ,
"description" : "Endpoint to call." ,
"paramType" : "query" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "extension" ,
2015-01-27 17:21:03 +00:00
"description" : "The extension to dial after the endpoint answers. Mutually exclusive with 'app'." ,
2014-03-07 15:47:55 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "context" ,
2015-01-27 17:21:03 +00:00
"description" : "The context to dial after the endpoint answers. If omitted, uses 'default'. Mutually exclusive with 'app'." ,
2014-03-07 15:47:55 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "priority" ,
2015-01-27 17:21:03 +00:00
"description" : "The priority to dial after the endpoint answers. If omitted, uses 1. Mutually exclusive with 'app'." ,
2014-03-07 15:47:55 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "long"
} ,
2015-01-07 18:54:06 +00:00
{
"name" : "label" ,
2015-01-27 17:21:03 +00:00
"description" : "The label to dial after the endpoint answers. Will supersede 'priority' if provided. Mutually exclusive with 'app'." ,
2015-01-07 18:54:06 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
2014-03-07 15:47:55 +00:00
{
"name" : "app" ,
2015-01-27 17:21:03 +00:00
"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'." ,
2014-03-07 15:47:55 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "appArgs" ,
2015-01-27 17:21:03 +00:00
"description" : "The application arguments to pass to the Stasis application provided by 'app'. Mutually exclusive with 'context', 'extension', 'priority', and 'label'." ,
2014-03-07 15:47:55 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "callerId" ,
"description" : "CallerID to use when dialing the endpoint or extension." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "timeout" ,
"description" : "Timeout (in seconds) before giving up dialing, or -1 for no timeout." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int" ,
"defaultValue" : 30
} ,
{
"name" : "variables" ,
2014-07-03 16:14:39 +00:00
"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\" } }" ,
2014-03-07 15:47:55 +00:00
"paramType" : "body" ,
"required" : false ,
"dataType" : "containers" ,
"allowMultiple" : false
} ,
{
"name" : "otherChannelId" ,
"description" : "The unique id to assign the second channel when using local channels." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2014-12-09 15:45:19 +00:00
} ,
{
"name" : "originator" ,
"description" : "The unique id of the channel which is originating this one." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2016-05-27 13:49:42 -06:00
} ,
{
"name" : "formats" ,
"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\"." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2014-03-07 15:47:55 +00:00
}
] ,
"errorResponses" : [
{
"code" : 400 ,
"reason" : "Invalid parameters for originating a channel."
2016-10-17 14:18:57 -05:00
} ,
{
"code" : 409 ,
"reason" : "Channel with given unique ID already exists."
2014-03-07 15:47:55 +00:00
}
]
} ,
2013-04-22 14:58:53 +00:00
{
"httpMethod" : "DELETE" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-04-22 14:58:53 +00:00
"summary" : "Delete (i.e. hangup) a channel." ,
2013-11-07 21:10:31 +00:00
"nickname" : "hangup" ,
2013-04-22 14:58:53 +00:00
"responseClass" : "void" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
2013-11-01 14:38:21 +00:00
} ,
2019-04-16 01:26:46 +02:00
{
"name" : "reason_code" ,
2023-11-09 16:26:46 -05:00
"description" : "The reason code for hanging up the channel for detail use. Mutually exclusive with 'reason'. See detail hangup codes at here. https://docs.asterisk.org/Configuration/Miscellaneous/Hangup-Cause-Mappings/" ,
2019-04-16 01:26:46 +02:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
2013-11-01 14:38:21 +00:00
{
"name" : "reason" ,
2019-04-16 01:26:46 +02:00
"description" : "Reason for hanging up the channel for simple use. Mutually exclusive with 'reason_code'." ,
2013-11-01 14:38:21 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string" ,
"allowableValues" : {
"valueType" : "LIST" ,
"values" : [
"normal" ,
"busy" ,
2015-02-09 03:12:16 +00:00
"congestion" ,
2016-08-31 12:33:28 +02:00
"no_answer" ,
2018-12-06 18:23:50 +01:00
"timeout" ,
"rejected" ,
"unallocated" ,
"normal_unspecified" ,
"number_incomplete" ,
"codec_mismatch" ,
"interworking" ,
"failure" ,
2016-08-31 12:33:28 +02:00
"answered_elsewhere"
2013-11-01 14:38:21 +00:00
]
}
2013-04-22 14:58:53 +00:00
}
] ,
"errorResponses" : [
2013-11-01 14:38:21 +00:00
{
"code" : 400 ,
"reason" : "Invalid reason for hangup provided"
} ,
2013-04-22 14:58:53 +00:00
{
"code" : 404 ,
"reason" : "Channel not found"
}
]
}
]
} ,
{
"path" : "/channels/{channelId}/continue" ,
"description" : "Exit application; continue execution in the dialplan" ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-04-22 14:58:53 +00:00
"summary" : "Exit application; continue execution in the dialplan." ,
"nickname" : "continueInDialplan" ,
"responseClass" : "void" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
2013-06-26 19:29:57 +00:00
} ,
{
"name" : "context" ,
"description" : "The context to continue to." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "extension" ,
"description" : "The extension to continue to." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "priority" ,
"description" : "The priority to continue to." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int"
2015-01-07 18:54:06 +00:00
} ,
{
"name" : "label" ,
"description" : "The label to continue to - will supersede 'priority' if both are provided." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2013-04-22 14:58:53 +00:00
}
] ,
"errorResponses" : [
{
"code" : 404 ,
"reason" : "Channel not found"
} ,
{
"code" : 409 ,
"reason" : "Channel not in a Stasis application"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-04-22 14:58:53 +00:00
}
]
}
]
} ,
2019-03-07 07:52:20 -06:00
{
"path" : "/channels/{channelId}/move" ,
"description" : "Move the channel from one Stasis application to another." ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"13.26.0" ,
"16.3.0"
] ,
2019-03-07 07:52:20 -06:00
"summary" : "Move the channel from one Stasis application to another." ,
"nickname" : "move" ,
"responseClass" : "void" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "app" ,
"description" : "The channel will be passed to this Stasis application." ,
"paramType" : "query" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "appArgs" ,
"description" : "The application arguments to pass to the Stasis application provided by 'app'." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
}
] ,
"errorResponses" : [
{
"code" : "404" ,
"reason" : "Channel not found"
} ,
{
"code" : "409" ,
"reason" : "Channel not in a Stasis application"
}
]
}
]
} ,
2015-02-12 20:34:37 +00:00
{
"path" : "/channels/{channelId}/redirect" ,
"description" : "Inform the channel that it should redirect itself to a different location. Note that this will almost certainly cause the channel to exit the application." ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"13.3.0"
] ,
2015-02-12 20:34:37 +00:00
"summary" : "Redirect the channel to a different location." ,
"nickname" : "redirect" ,
"responseClass" : "void" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "endpoint" ,
"description" : "The endpoint to redirect the channel to" ,
"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" : 422 ,
"reason" : "Endpoint is not the same type as the channel"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2015-02-12 20:34:37 +00:00
}
]
}
]
} ,
2013-04-22 14:58:53 +00:00
{
"path" : "/channels/{channelId}/answer" ,
"description" : "Answer a channel" ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-04-22 14:58:53 +00:00
"summary" : "Answer a channel." ,
2013-11-07 21:10:31 +00:00
"nickname" : "answer" ,
2013-04-22 14:58:53 +00:00
"responseClass" : "void" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
}
] ,
"errorResponses" : [
{
"code" : 404 ,
"reason" : "Channel not found"
2013-07-03 16:32:41 +00:00
} ,
{
"code" : 409 ,
"reason" : "Channel not in a Stasis application"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-04-22 14:58:53 +00:00
}
]
}
]
} ,
2013-11-01 14:38:21 +00:00
{
"path" : "/channels/{channelId}/ring" ,
"description" : "Send a ringing indication to a channel" ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-11-01 14:38:21 +00:00
"summary" : "Indicate ringing to a channel." ,
2013-11-07 21:10:31 +00:00
"nickname" : "ring" ,
2013-11-01 14:38:21 +00:00
"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"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-11-01 14:38:21 +00:00
}
]
2013-11-13 23:11:32 +00:00
} ,
{
"httpMethod" : "DELETE" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-11-13 23:11:32 +00:00
"summary" : "Stop ringing indication on a channel if locally generated." ,
"nickname" : "ringStop" ,
"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"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-11-13 23:11:32 +00:00
}
]
2013-11-01 14:38:21 +00:00
}
]
} ,
2025-07-30 14:24:07 +02:00
{
"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"
}
]
}
]
} ,
2013-11-01 14:38:21 +00:00
{
"path" : "/channels/{channelId}/dtmf" ,
"description" : "Send DTMF to a channel" ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-11-01 14:38:21 +00:00
"summary" : "Send provided DTMF to a given channel." ,
2013-11-07 21:10:31 +00:00
"nickname" : "sendDTMF" ,
2013-11-01 14:38:21 +00:00
"responseClass" : "void" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "dtmf" ,
"description" : "DTMF To send." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "before" ,
"description" : "Amount of time to wait before DTMF digits (specified in milliseconds) start." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int" ,
"defaultValue" : 0
} ,
{
"name" : "between" ,
"description" : "Amount of time in between DTMF digits (specified in milliseconds)." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int" ,
"defaultValue" : 100
} ,
{
"name" : "duration" ,
"description" : "Length of each DTMF digit (specified in milliseconds)." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int" ,
"defaultValue" : 100
} ,
{
"name" : "after" ,
"description" : "Amount of time to wait after DTMF digits (specified in milliseconds) end." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int" ,
"defaultValue" : 0
}
] ,
"errorResponses" : [
{
"code" : 400 ,
"reason" : "DTMF is required"
} ,
{
"code" : 404 ,
"reason" : "Channel not found"
} ,
{
"code" : 409 ,
"reason" : "Channel not in a Stasis application"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-11-01 14:38:21 +00:00
}
]
}
]
} ,
2013-04-22 14:58:53 +00:00
{
"path" : "/channels/{channelId}/mute" ,
"description" : "Mute a channel" ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-04-22 14:58:53 +00:00
"summary" : "Mute a channel." ,
2013-11-07 21:10:31 +00:00
"nickname" : "mute" ,
2013-04-22 14:58:53 +00:00
"responseClass" : "void" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "direction" ,
"description" : "Direction in which to mute audio" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string" ,
"defaultValue" : "both" ,
"allowableValues" : {
"valueType" : "LIST" ,
"values" : [
"both" ,
"in" ,
"out"
]
}
}
] ,
"errorResponses" : [
{
"code" : 404 ,
"reason" : "Channel not found"
} ,
{
"code" : 409 ,
"reason" : "Channel not in a Stasis application"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-04-22 14:58:53 +00:00
}
]
2013-11-07 21:10:31 +00:00
} ,
2013-04-22 14:58:53 +00:00
{
2013-11-07 21:10:31 +00:00
"httpMethod" : "DELETE" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-04-22 14:58:53 +00:00
"summary" : "Unmute a channel." ,
2013-11-07 21:10:31 +00:00
"nickname" : "unmute" ,
2013-04-22 14:58:53 +00:00
"responseClass" : "void" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "direction" ,
"description" : "Direction in which to unmute audio" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string" ,
"defaultValue" : "both" ,
"allowableValues" : {
"valueType" : "LIST" ,
"values" : [
"both" ,
"in" ,
"out"
]
}
}
] ,
"errorResponses" : [
{
"code" : 404 ,
"reason" : "Channel not found"
} ,
{
"code" : 409 ,
"reason" : "Channel not in a Stasis application"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-04-22 14:58:53 +00:00
}
]
}
]
} ,
{
"path" : "/channels/{channelId}/hold" ,
"description" : "Put a channel on hold" ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-04-22 14:58:53 +00:00
"summary" : "Hold a channel." ,
2013-11-07 21:10:31 +00:00
"nickname" : "hold" ,
2013-04-22 14:58:53 +00:00
"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"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-04-22 14:58:53 +00:00
}
]
2013-11-07 21:10:31 +00:00
} ,
2013-04-22 14:58:53 +00:00
{
2013-10-15 15:30:39 +00:00
"httpMethod" : "DELETE" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-04-22 14:58:53 +00:00
"summary" : "Remove a channel from hold." ,
2013-11-07 21:10:31 +00:00
"nickname" : "unhold" ,
2013-04-22 14:58:53 +00:00
"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"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-04-22 14:58:53 +00:00
}
]
}
]
} ,
2013-07-19 19:40:27 +00:00
{
2013-10-15 15:30:39 +00:00
"path" : "/channels/{channelId}/moh" ,
2013-07-19 19:40:27 +00:00
"description" : "Play music on hold to a channel" ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-07-19 19:40:27 +00:00
"summary" : "Play music on hold to a channel." ,
2013-11-21 15:56:34 +00:00
"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." ,
2013-11-07 21:10:31 +00:00
"nickname" : "startMoh" ,
2013-07-19 19:40:27 +00:00
"responseClass" : "void" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "mohClass" ,
"description" : "Music on hold class to use" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
}
] ,
"errorResponses" : [
{
"code" : 404 ,
"reason" : "Channel not found"
} ,
{
"code" : 409 ,
"reason" : "Channel not in a Stasis application"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-07-19 19:40:27 +00:00
}
]
2013-11-07 21:10:31 +00:00
} ,
2013-07-19 19:40:27 +00:00
{
2013-10-15 15:30:39 +00:00
"httpMethod" : "DELETE" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-07-19 19:40:27 +00:00
"summary" : "Stop playing music on hold to a channel." ,
2013-11-07 21:10:31 +00:00
"nickname" : "stopMoh" ,
2013-07-19 19:40:27 +00:00
"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"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-07-19 19:40:27 +00:00
}
]
}
]
} ,
2013-11-21 15:56:34 +00:00
{
"path" : "/channels/{channelId}/silence" ,
"description" : "Play silence to a channel" ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-11-21 15:56:34 +00:00
"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" ,
"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"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-11-21 15:56:34 +00:00
}
]
} ,
{
"httpMethod" : "DELETE" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-11-21 15:56:34 +00:00
"summary" : "Stop playing silence to a channel." ,
"nickname" : "stopSilence" ,
"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"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-11-21 15:56:34 +00:00
}
]
}
]
} ,
2013-04-22 14:58:53 +00:00
{
"path" : "/channels/{channelId}/play" ,
"description" : "Play media to a channel" ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-04-22 14:58:53 +00:00
"summary" : "Start playback of media." ,
2014-04-17 21:57:36 +00:00
"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.)" ,
2013-11-07 21:10:31 +00:00
"nickname" : "play" ,
2013-04-22 14:58:53 +00:00
"responseClass" : "Playback" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "media" ,
2016-04-18 18:17:08 -05:00
"description" : "Media URIs to play." ,
2013-04-22 14:58:53 +00:00
"paramType" : "query" ,
"required" : true ,
2016-04-18 18:17:08 -05:00
"allowMultiple" : true ,
2013-04-22 14:58:53 +00:00
"dataType" : "string"
2013-05-23 20:11:35 +00:00
} ,
{
"name" : "lang" ,
2013-05-23 20:21:16 +00:00
"description" : "For sounds, selects language for sound." ,
2013-05-23 20:11:35 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2013-05-23 20:21:16 +00:00
} ,
{
"name" : "offsetms" ,
2016-04-18 18:17:08 -05:00
"description" : "Number of milliseconds to skip before playing. Only applies to the first URI if multiple media URIs are specified." ,
2013-05-23 20:21:16 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int"
} ,
2014-03-07 15:47:55 +00:00
{
"name" : "skipms" ,
"description" : "Number of milliseconds to skip for forward/reverse operations." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int" ,
"defaultValue" : 3000
} ,
{
"name" : "playbackId" ,
"description" : "Playback ID." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
}
] ,
"errorResponses" : [
{
"code" : 404 ,
"reason" : "Channel not found"
} ,
{
"code" : 409 ,
"reason" : "Channel not in a Stasis application"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2014-03-07 15:47:55 +00:00
}
]
}
]
} ,
{
"path" : "/channels/{channelId}/play/{playbackId}" ,
"description" : "Play media to a channel" ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.2.0"
] ,
2014-03-07 15:47:55 +00:00
"summary" : "Start playback of media and specify the playbackId." ,
2015-01-27 17:21:03 +00:00
"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.)" ,
2014-03-07 15:47:55 +00:00
"nickname" : "playWithId" ,
"responseClass" : "Playback" ,
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "playbackId" ,
"description" : "Playback ID." ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "media" ,
2016-04-18 18:17:08 -05:00
"description" : "Media URIs to play." ,
2014-03-07 15:47:55 +00:00
"paramType" : "query" ,
"required" : true ,
2016-04-18 18:17:08 -05:00
"allowMultiple" : true ,
2014-03-07 15:47:55 +00:00
"dataType" : "string"
} ,
{
"name" : "lang" ,
"description" : "For sounds, selects language for sound." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "offsetms" ,
2016-04-18 18:17:08 -05:00
"description" : "Number of milliseconds to skip before playing. Only applies to the first URI if multiple media URIs are specified." ,
2014-03-07 15:47:55 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int"
} ,
2013-05-23 20:21:16 +00:00
{
"name" : "skipms" ,
"description" : "Number of milliseconds to skip for forward/reverse operations." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int" ,
"defaultValue" : 3000
2013-04-22 14:58:53 +00:00
}
] ,
"errorResponses" : [
{
"code" : 404 ,
"reason" : "Channel not found"
} ,
{
"code" : 409 ,
"reason" : "Channel not in a Stasis application"
2016-06-01 13:48:00 -05:00
} ,
{
"code" : 412 ,
"reason" : "Channel in invalid state"
2013-04-22 14:58:53 +00:00
}
]
}
]
} ,
{
"path" : "/channels/{channelId}/record" ,
"description" : "Record audio from a channel" ,
"operations" : [
{
"httpMethod" : "POST" ,
2025-01-27 08:30:40 -07:00
"since" : [
"12.0.0"
] ,
2013-04-22 14:58:53 +00:00
"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." ,
2013-11-07 21:10:31 +00:00
"nickname" : "record" ,
2013-07-19 19:35:21 +00:00
"responseClass" : "LiveRecording" ,
2013-04-22 14:58:53 +00:00
"parameters" : [
{
"name" : "channelId" ,
"description" : "Channel's id" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "name" ,
"description" : "Recording's filename" ,
"paramType" : "query" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "format" ,
"description" : "Format to encode audio in" ,
"paramType" : "query" ,
"required" : true ,
2013-08-02 14:36:32 +00:00
"allowMultiple" : false ,
2013-04-22 14:58:53 +00:00
"dataType" : "string"
} ,
{
"name" : "maxDurationSeconds" ,
"description" : "Maximum duration of the recording, in seconds. 0 for no limit" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int" ,
2013-07-03 17:58:45 +00:00
"defaultValue" : 0 ,
"allowableValues" : {
"valueType" : "RANGE" ,
"min" : 0
}
2013-04-22 14:58:53 +00:00
} ,
{
"name" : "maxSilenceSeconds" ,
"description" : "Maximum duration of silence, in seconds. 0 for no limit" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "int" ,
2013-07-03 17:58:45 +00:00
"defaultValue" : 0 ,
"allowableValues" : {
"valueType" : "RANGE" ,
"min" : 0
}
2013-04-22 14:58:53 +00:00
} ,
{
2013-07-03 17:58:45 +00:00
"name" : "ifExists" ,
"description" : "Action to take if a recording with the same name already exists." ,
2013-04-22 14:58:53 +00:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
2013-07-03 17:58:45 +00:00
"dataType" : "string" ,
"defaultValue" : "fail" ,
"allowableValues" : {
"valueType" : "LIST" ,
"values" : [
"fail" ,
"overwrite" ,
"append"
]
}
2013-04-22 14:58:53 +00:00
} ,
{
"name" : "beep" ,
"description" : "Play beep when recording begins" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "boolean" ,
"defaultValue" : false
} ,
{
"name" : "terminateOn" ,
"description" : "DTMF input to terminate recording" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string" ,
"defaultValue" : "none" ,
"allowableValues" : {
"valueType" : "LIST" ,
"values" : [
"none" ,
"any" ,
"*" ,
" # "
]
}
}
],
" e r r o r R e s p o n s e s ": [
2013-07-03 17:58:45 +00:00
{
" c o d e ": 400,
" r e a s o n ": " I n v a l i d p a r a m e t e r s "
},
2013-04-22 14:58:53 +00:00
{
" c o d e ": 404,
" r e a s o n ": " C h a n n e l n o t f o u n d "
},
{
" c o d e ": 409,
2025-04-28 10:39:50 -06:00
" r e a s o n ": " C h a n n e l i s n o t i n a S t a s i s a p p l i c a t i o n ; t h e c h a n n e l i s c u r r e n t l y b r i d g e d w i t h o t h e r c h a n n e l s ; A r e c o r d i n g w i t h t h e s a m e n a m e a l r e a d y e x i s t s o n t h e s y s t e m a n d c a n n o t b e o v e r w r i t t e n b e c a u s e i t i s i n p r o g r e s s o r i f E x i s t s = f a i l "
2013-10-25 22:01:43 +00:00
},
{
" c o d e ": 422,
" r e a s o n ": " T h e f o r m a t s p e c i f i e d i s u n k n o w n o n t h i s s y s t e m "
2013-04-22 14:58:53 +00:00
}
]
}
]
2013-07-08 14:46:20 +00:00
},
{
" p a t h ": " / c h a n n e l s / { c h a n n e l I d } / v a r i a b l e ",
" d e s c r i p t i o n ": " V a r i a b l e s o n a c h a n n e l ",
" o p e r a t i o n s ": [
{
" h t t p M e t h o d ": " G E T ",
2025-01-27 08:30:40 -07:00
" s i n c e ": [
" 12.0 . 0 "
],
2013-07-08 14:46:20 +00:00
" s u m m a r y ": " G e t t h e v a l u e o f a c h a n n e l v a r i a b l e o r f u n c t i o n . ",
" n i c k n a m e ": " g e t C h a n n e l V a r ",
2013-07-10 13:50:48 +00:00
" r e s p o n s e C l a s s ": " V a r i a b l e ",
2013-07-08 14:46:20 +00:00
" p a r a m e t e r s ": [
{
" n a m e ": " c h a n n e l I d ",
" d e s c r i p t i o n ": " C h a n n e l ' s i d ",
" p a r a m T y p e ": " p a t h ",
" r e q u i r e d ": true,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " v a r i a b l e ",
" d e s c r i p t i o n ": " T h e c h a n n e l v a r i a b l e o r f u n c t i o n t o g e t ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": true,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
}
],
" e r r o r R e s p o n s e s ": [
2013-08-21 16:23:59 +00:00
{
" c o d e ": 400,
" r e a s o n ": " M i s s i n g v a r i a b l e p a r a m e t e r . "
},
2013-07-08 14:46:20 +00:00
{
" c o d e ": 404,
2015-02-21 20:48:17 +00:00
" r e a s o n ": " C h a n n e l o r v a r i a b l e n o t f o u n d "
2013-07-08 14:46:20 +00:00
},
{
" c o d e ": 409,
" r e a s o n ": " C h a n n e l n o t i n a S t a s i s a p p l i c a t i o n "
}
]
},
{
" h t t p M e t h o d ": " P O S T ",
2025-01-27 08:30:40 -07:00
" s i n c e ": [
" 12.0 . 0 "
],
2013-07-08 14:46:20 +00:00
" s u m m a r y ": " S e t t h e v a l u e o f a c h a n n e l v a r i a b l e o r f u n c t i o n . ",
" n i c k n a m e ": " s e t C h a n n e l V a r ",
" r e s p o n s e C l a s s ": " v o i d ",
" p a r a m e t e r s ": [
{
" n a m e ": " c h a n n e l I d ",
" d e s c r i p t i o n ": " C h a n n e l ' s i d ",
" p a r a m T y p e ": " p a t h ",
" r e q u i r e d ": true,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " v a r i a b l e ",
" d e s c r i p t i o n ": " T h e c h a n n e l v a r i a b l e o r f u n c t i o n t o s e t ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": true,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " v a l u e ",
" d e s c r i p t i o n ": " T h e v a l u e t o s e t t h e v a r i a b l e t o ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": false,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
}
],
" e r r o r R e s p o n s e s ": [
2013-08-21 16:23:59 +00:00
{
" c o d e ": 400,
" r e a s o n ": " M i s s i n g v a r i a b l e p a r a m e t e r . "
},
2013-07-08 14:46:20 +00:00
{
" c o d e ": 404,
" r e a s o n ": " C h a n n e l n o t f o u n d "
},
{
" c o d e ": 409,
" r e a s o n ": " C h a n n e l n o t i n a S t a s i s a p p l i c a t i o n "
}
]
}
]
2013-11-23 12:40:46 +00:00
},
{
" p a t h ": " / c h a n n e l s / { c h a n n e l I d } / s n o o p ",
" d e s c r i p t i o n ": " S n o o p ( s p y / w h i s p e r ) o n a c h a n n e l ",
" o p e r a t i o n s ": [
{
" h t t p M e t h o d ": " P O S T ",
2025-01-27 08:30:40 -07:00
" s i n c e ": [
" 12.0 . 0 "
],
2013-11-23 12:40:46 +00:00
" s u m m a r y ": " S t a r t s n o o p i n g . ",
" n o t e s ": " S n o o p ( s p y / w h i s p e r ) o n a s p e c i f i c c h a n n e l . ",
" n i c k n a m e ": " s n o o p C h a n n e l ",
" r e s p o n s e C l a s s ": " C h a n n e l ",
" p a r a m e t e r s ": [
{
" n a m e ": " c h a n n e l I d ",
" d e s c r i p t i o n ": " C h a n n e l ' s i d ",
" p a r a m T y p e ": " p a t h ",
" r e q u i r e d ": true,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " s p y ",
" d e s c r i p t i o n ": " D i r e c t i o n o f a u d i o t o s p y o n ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": false,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g ",
" d e f a u l t V a l u e ": " n o n e ",
" a l l o w a b l e V a l u e s ": {
" v a l u e T y p e ": " L I S T ",
" v a l u e s ": [
" n o n e ",
" b o t h ",
" o u t ",
" i n "
]
}
},
{
" n a m e ": " w h i s p e r ",
" d e s c r i p t i o n ": " D i r e c t i o n o f a u d i o t o w h i s p e r i n t o ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": false,
2014-03-07 15:47:55 +00:00
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g ",
" d e f a u l t V a l u e ": " n o n e ",
" a l l o w a b l e V a l u e s ": {
" v a l u e T y p e ": " L I S T ",
" v a l u e s ": [
" n o n e ",
" b o t h ",
" o u t ",
" i n "
]
}
},
{
" n a m e ": " a p p ",
" d e s c r i p t i o n ": " A p p l i c a t i o n t h e s n o o p i n g c h a n n e l i s p l a c e d i n t o ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": true,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " a p p A r g s ",
" d e s c r i p t i o n ": " T h e a p p l i c a t i o n a r g u m e n t s t o p a s s t o t h e S t a s i s a p p l i c a t i o n ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": false,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " s n o o p I d ",
" d e s c r i p t i o n ": " U n i q u e I D t o a s s i g n t o s n o o p i n g c h a n n e l ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": false,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
}
],
" e r r o r R e s p o n s e s ": [
{
" c o d e ": 400,
" r e a s o n ": " I n v a l i d p a r a m e t e r s "
},
{
" c o d e ": 404,
" r e a s o n ": " C h a n n e l n o t f o u n d "
}
]
}
]
},
{
" p a t h ": " / c h a n n e l s / { c h a n n e l I d } / s n o o p / { s n o o p I d } ",
" d e s c r i p t i o n ": " S n o o p ( s p y / w h i s p e r ) o n a c h a n n e l ",
" o p e r a t i o n s ": [
{
" h t t p M e t h o d ": " P O S T ",
2025-01-27 08:30:40 -07:00
" s i n c e ": [
" 12.2 . 0 "
],
2014-03-07 15:47:55 +00:00
" s u m m a r y ": " S t a r t s n o o p i n g . ",
" n o t e s ": " S n o o p ( s p y / w h i s p e r ) o n a s p e c i f i c c h a n n e l . ",
" n i c k n a m e ": " s n o o p C h a n n e l W i t h I d ",
" r e s p o n s e C l a s s ": " C h a n n e l ",
" p a r a m e t e r s ": [
{
" n a m e ": " c h a n n e l I d ",
" d e s c r i p t i o n ": " C h a n n e l ' s i d ",
" p a r a m T y p e ": " p a t h ",
" r e q u i r e d ": true,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " s n o o p I d ",
" d e s c r i p t i o n ": " U n i q u e I D t o a s s i g n t o s n o o p i n g c h a n n e l ",
" p a r a m T y p e ": " p a t h ",
" r e q u i r e d ": true,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " s p y ",
" d e s c r i p t i o n ": " D i r e c t i o n o f a u d i o t o s p y o n ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": false,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g ",
" d e f a u l t V a l u e ": " n o n e ",
" a l l o w a b l e V a l u e s ": {
" v a l u e T y p e ": " L I S T ",
" v a l u e s ": [
" n o n e ",
" b o t h ",
" o u t ",
" i n "
]
}
},
{
" n a m e ": " w h i s p e r ",
" d e s c r i p t i o n ": " D i r e c t i o n o f a u d i o t o w h i s p e r i n t o ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": false,
2013-11-23 12:40:46 +00:00
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g ",
" d e f a u l t V a l u e ": " n o n e ",
" a l l o w a b l e V a l u e s ": {
" v a l u e T y p e ": " L I S T ",
" v a l u e s ": [
" n o n e ",
" b o t h ",
" o u t ",
" i n "
]
}
},
{
" n a m e ": " a p p ",
" d e s c r i p t i o n ": " A p p l i c a t i o n t h e s n o o p i n g c h a n n e l i s p l a c e d i n t o ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": true,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " a p p A r g s ",
" d e s c r i p t i o n ": " T h e a p p l i c a t i o n a r g u m e n t s t o p a s s t o t h e S t a s i s a p p l i c a t i o n ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": false,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
}
],
" e r r o r R e s p o n s e s ": [
{
" c o d e ": 400,
" r e a s o n ": " I n v a l i d p a r a m e t e r s "
},
{
" c o d e ": 404,
" r e a s o n ": " C h a n n e l n o t f o u n d "
}
]
}
]
2016-03-30 17:18:39 -05:00
},
{
" p a t h ": " / c h a n n e l s / { c h a n n e l I d } / d i a l ",
" d e s c r i p t i o n ": " D i a l a c h a n n e l ",
" o p e r a t i o n s ": [
{
" h t t p M e t h o d ": " P O S T ",
2025-01-27 08:30:40 -07:00
" s i n c e ": [
" 14.0 . 0 "
],
2016-03-30 17:18:39 -05:00
" s u m m a r y ": " D i a l a c r e a t e d c h a n n e l . ",
" n i c k n a m e ": " d i a l ",
" r e s p o n s e C l a s s ": " v o i d ",
" p a r a m e t e r s ": [
{
" n a m e ": " c h a n n e l I d ",
" d e s c r i p t i o n ": " C h a n n e l ' s i d ",
" p a r a m T y p e ": " p a t h ",
" r e q u i r e d ": true,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " c a l l e r ",
" d e s c r i p t i o n ": " C h a n n e l I D o f c a l l e r ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": false,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " t i m e o u t ",
" d e s c r i p t i o n ": " D i a l t i m e o u t ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": false,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " i n t ",
" d e f a u l t V a l u e ": 0,
" a l l o w a b l e V a l u e s ": {
" v a l u e T y p e ": " R A N G E ",
" m i n ": 0
}
}
],
" e r r o r R e s p o n s e s ": [
{
" c o d e ": 404,
" r e a s o n ": " C h a n n e l c a n n o t b e f o u n d . "
},
{
" c o d e ": 409,
" r e a s o n ": " C h a n n e l c a n n o t b e d i a l e d . "
}
]
}
]
2019-03-02 12:37:21 +01:00
},
{
" p a t h ": " / c h a n n e l s / { c h a n n e l I d } / r t p _ s t a t i s t i c s ",
" d e s c r i p t i o n ": " G e t R T P s t a t i s t i c s i n f o r m a t i o n f o r R T P o n a c h a n n e l ",
" o p e r a t i o n s ": [
{
" h t t p M e t h o d ": " G E T ",
2025-01-27 08:30:40 -07:00
" s i n c e ": [
" 13.27 . 0 ",
" 16.4 . 0 "
],
2019-03-02 12:37:21 +01:00
" s u m m a r y ": " R T P s t a t s o n a c h a n n e l . ",
" n i c k n a m e ": " r t p s t a t i s t i c s ",
" r e s p o n s e C l a s s ": " R T P s t a t ",
" p a r a m e t e r s ": [
{
" n a m e ": " c h a n n e l I d ",
" d e s c r i p t i o n ": " C h a n n e l ' s i d ",
" p a r a m T y p e ": " p a t h ",
" r e q u i r e d ": true,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
}
],
" e r r o r R e s p o n s e s ": [
{
" c o d e ": 404,
" r e a s o n ": " C h a n n e l c a n n o t b e f o u n d . "
}
]
}
]
2019-08-05 05:59:59 -06:00
},
{
" p a t h ": " / c h a n n e l s / e x t e r n a l M e d i a ",
" d e s c r i p t i o n ": " C r e a t e a c h a n n e l t o a n E x t e r n a l M e d i a s o u r c e / s i n k . ",
" o p e r a t i o n s ": [
{
" h t t p M e t h o d ": " P O S T ",
2025-01-27 08:30:40 -07:00
" s i n c e ": [
" 16.6 . 0 ",
" 17.1 . 0 "
],
2019-08-05 05:59:59 -06:00
" s u m m a r y ": " S t a r t a n E x t e r n a l M e d i a s e s s i o n . ",
2025-04-28 10:39:50 -06:00
" n o t e s ": " C r e a t e a c h a n n e l t o a n E x t e r n a l M e d i a s o u r c e / s i n k . T h e c o m b i n a t i o n o f t r a n s p o r t a n d e n c a p s u l a t i o n w i l l s e l e c t o n e o f c h a n _ r t p ( u d p / r t p ) , c h a n _ a u d i o s o c k e t ( t c p / a u d i o s o c k e t ) o r c h a n _ w e b s o c k e t ( w e b s o c k e t / n o n e ) c h a n n e l d r i v e r s . ",
2019-08-05 05:59:59 -06:00
" n i c k n a m e ": " e x t e r n a l M e d i a ",
2019-10-18 05:36:12 -06:00
" r e s p o n s e C l a s s ": " C h a n n e l ",
2019-08-05 05:59:59 -06:00
" p a r a m e t e r s ": [
{
" n a m e ": " c h a n n e l I d ",
" d e s c r i p t i o n ": " T h e u n i q u e i d t o a s s i g n t h e c h a n n e l o n c r e a t i o n . ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": false,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " a p p ",
" d e s c r i p t i o n ": " S t a s i s A p p l i c a t i o n t o p l a c e c h a n n e l i n t o ",
" p a r a m T y p e ": " q u e r y ",
" r e q u i r e d ": true,
" a l l o w M u l t i p l e ": false,
" d a t a T y p e ": " s t r i n g "
},
{
" n a m e ": " v a r i a b l e s ",
" d e s c r i p t i o n ": " T h e \ "variables\" key in the body object holds variable key/value pairs to set on the channel on creation. Other keys in the body object are interpreted as query parameters. Ex. { \"endpoint\": \"SIP/Alice\", \"variables\": { \"CALLERID(name)\": \"Alice\" } }" ,
"paramType" : "body" ,
"required" : false ,
"dataType" : "containers" ,
"allowMultiple" : false
} ,
{
"name" : "external_host" ,
2025-04-28 10:39:50 -06:00
"description" : "Hostname/ip:port or websocket_client connection ID of external host. May be empty for a websocket server connection." ,
2019-08-05 05:59:59 -06:00
"paramType" : "query" ,
2025-04-28 10:39:50 -06:00
"required" : false ,
2019-08-05 05:59:59 -06:00
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "encapsulation" ,
2025-04-28 10:39:50 -06:00
"description" : "Payload encapsulation protocol. Must be 'none' for the websocket transport." ,
2019-08-05 05:59:59 -06:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string" ,
"defaultValue" : "rtp" ,
"allowableValues" : {
"valueType" : "LIST" ,
"values" : [
2019-07-17 20:47:50 -04:00
"rtp" ,
2025-04-28 10:39:50 -06:00
"audiosocket" ,
"none"
2019-08-05 05:59:59 -06:00
]
}
} ,
{
"name" : "transport" ,
"description" : "Transport protocol" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string" ,
"defaultValue" : "udp" ,
"allowableValues" : {
"valueType" : "LIST" ,
"values" : [
2019-07-17 20:47:50 -04:00
"udp" ,
2025-04-28 10:39:50 -06:00
"tcp" ,
"websocket"
2019-08-05 05:59:59 -06:00
]
}
} ,
{
"name" : "connection_type" ,
2025-04-28 10:39:50 -06:00
"description" : "Connection type (client/server). 'server' is only valid for the websocket transport." ,
2019-08-05 05:59:59 -06:00
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string" ,
"defaultValue" : "client" ,
"allowableValues" : {
"valueType" : "LIST" ,
"values" : [
2025-04-28 10:39:50 -06:00
"client" ,
"server"
2019-08-05 05:59:59 -06:00
]
}
} ,
{
"name" : "format" ,
"description" : "Format to encode audio in" ,
"paramType" : "query" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
} ,
{
"name" : "direction" ,
"description" : "External media direction" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string" ,
"defaultValue" : "both" ,
"allowableValues" : {
"valueType" : "LIST" ,
"values" : [
"both"
]
}
2019-07-17 20:47:50 -04:00
} ,
{
"name" : "data" ,
"description" : "An arbitrary data field" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2025-10-22 06:23:31 -06:00
} ,
{
"name" : "transport_data" ,
"description" : "Transport-specific data. For websocket this is appended to the dialstring." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "string"
2019-08-05 05:59:59 -06:00
}
] ,
"errorResponses" : [
{
"code" : 400 ,
"reason" : "Invalid parameters"
} ,
{
"code" : 409 ,
"reason" : "Channel is not in a Stasis application; Channel is already bridged"
}
]
}
]
2024-06-15 16:01:58 +08:00
} ,
{
"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"
}
]
}
]
2013-04-22 14:58:53 +00:00
}
] ,
"models" : {
"Dialed" : {
"id" : "Dialed" ,
2013-07-03 16:32:41 +00:00
"description" : "Dialed channel information." ,
2013-04-22 14:58:53 +00:00
"properties" : { }
} ,
"DialplanCEP" : {
"id" : "DialplanCEP" ,
2013-07-03 16:32:41 +00:00
"description" : "Dialplan location (context/extension/priority)" ,
2013-04-22 14:58:53 +00:00
"properties" : {
"context" : {
"required" : true ,
"type" : "string" ,
"description" : "Context in the dialplan"
} ,
"exten" : {
"required" : true ,
"type" : "string" ,
"description" : "Extension in the dialplan"
} ,
"priority" : {
"required" : true ,
"type" : "long" ,
"description" : "Priority in the dialplan"
2019-03-22 00:09:14 +01:00
} ,
"app_name" : {
"required" : true ,
"type" : "string" ,
"description" : "Name of current dialplan application"
} ,
"app_data" : {
"required" : true ,
"type" : "string" ,
"description" : "Parameter of current dialplan application"
2013-04-22 14:58:53 +00:00
}
}
} ,
"CallerID" : {
"id" : "CallerID" ,
2013-07-03 16:32:41 +00:00
"description" : "Caller identification" ,
2013-04-22 14:58:53 +00:00
"properties" : {
"name" : {
"required" : true ,
"type" : "string"
} ,
"number" : {
"required" : true ,
"type" : "string"
}
}
} ,
2019-03-02 12:37:21 +01:00
"RTPstat" : {
"id" : "RTPstat" ,
"description" : "A statistics of a RTP." ,
"properties" : {
"txcount" : {
"required" : true ,
"type" : "int" ,
"description" : "Number of packets transmitted."
} ,
"rxcount" : {
"required" : true ,
"type" : "int" ,
"description" : "Number of packets received."
} ,
"txjitter" : {
"required" : false ,
"type" : "double" ,
"description" : "Jitter on transmitted packets."
} ,
"rxjitter" : {
"required" : false ,
"type" : "double" ,
"description" : "Jitter on received packets."
} ,
"remote_maxjitter" : {
"required" : false ,
"type" : "double" ,
"description" : "Maximum jitter on remote side."
} ,
"remote_minjitter" : {
"required" : false ,
"type" : "double" ,
"description" : "Minimum jitter on remote side."
} ,
"remote_normdevjitter" : {
"required" : false ,
"type" : "double" ,
"description" : "Average jitter on remote side."
} ,
"remote_stdevjitter" : {
"required" : false ,
"type" : "double" ,
"description" : "Standard deviation jitter on remote side."
} ,
"local_maxjitter" : {
"required" : false ,
"type" : "double" ,
"description" : "Maximum jitter on local side."
} ,
"local_minjitter" : {
"required" : false ,
"type" : "double" ,
"description" : "Minimum jitter on local side."
} ,
"local_normdevjitter" : {
"required" : false ,
"type" : "double" ,
"description" : "Average jitter on local side."
} ,
"local_stdevjitter" : {
"required" : false ,
"type" : "double" ,
"description" : "Standard deviation jitter on local side."
} ,
"txploss" : {
"required" : true ,
"type" : "int" ,
"description" : "Number of transmitted packets lost."
} ,
"rxploss" : {
"required" : true ,
"type" : "int" ,
"description" : "Number of received packets lost."
} ,
"remote_maxrxploss" : {
"required" : false ,
"type" : "double" ,
"description" : "Maximum number of packets lost on remote side."
} ,
"remote_minrxploss" : {
"required" : false ,
"type" : "double" ,
"description" : "Minimum number of packets lost on remote side."
} ,
"remote_normdevrxploss" : {
"required" : false ,
"type" : "double" ,
"description" : "Average number of packets lost on remote side."
} ,
"remote_stdevrxploss" : {
"required" : false ,
"type" : "double" ,
"description" : "Standard deviation packets lost on remote side."
} ,
"local_maxrxploss" : {
"required" : false ,
"type" : "double" ,
"description" : "Maximum number of packets lost on local side."
} ,
"local_minrxploss" : {
"required" : false ,
"type" : "double" ,
"description" : "Minimum number of packets lost on local side."
} ,
"local_normdevrxploss" : {
"required" : false ,
"type" : "double" ,
"description" : "Average number of packets lost on local side."
} ,
"local_stdevrxploss" : {
"required" : false ,
"type" : "double" ,
"description" : "Standard deviation packets lost on local side."
} ,
"rtt" : {
"required" : false ,
"type" : "double" ,
"description" : "Total round trip time."
} ,
"maxrtt" : {
"required" : false ,
"type" : "double" ,
"description" : "Maximum round trip time."
} ,
"minrtt" : {
"required" : false ,
"type" : "double" ,
"description" : "Minimum round trip time."
} ,
"normdevrtt" : {
"required" : false ,
"type" : "double" ,
"description" : "Average round trip time."
} ,
"stdevrtt" : {
"required" : false ,
"type" : "double" ,
"description" : "Standard deviation round trip time."
} ,
"local_ssrc" : {
"required" : true ,
"type" : "int" ,
"description" : "Our SSRC."
} ,
"remote_ssrc" : {
"required" : true ,
"type" : "int" ,
"description" : "Their SSRC."
} ,
"txoctetcount" : {
"required" : true ,
"type" : "int" ,
"description" : "Number of octets transmitted."
} ,
"rxoctetcount" : {
"required" : true ,
"type" : "int" ,
"description" : "Number of octets received."
} ,
"channel_uniqueid" : {
"required" : true ,
"type" : "string" ,
"description" : "The Asterisk channel's unique ID that owns this instance."
}
}
} ,
2013-04-22 14:58:53 +00:00
"Channel" : {
"id" : "Channel" ,
2013-07-03 16:32:41 +00:00
"description" : "A specific communication connection between Asterisk and an Endpoint." ,
2013-04-22 14:58:53 +00:00
"properties" : {
2013-07-03 16:32:41 +00:00
"id" : {
2013-04-22 14:58:53 +00:00
"required" : true ,
"type" : "string" ,
2013-07-03 16:32:41 +00:00
"description" : "Unique identifier of the channel.\n\nThis is the same as the Uniqueid field in AMI."
2013-04-22 14:58:53 +00:00
} ,
2022-04-26 00:40:49 +02:00
"protocol_id" : {
"required" : true ,
"type" : "string" ,
2022-11-28 13:05:21 -07:00
"description" : "Protocol id from underlying channel driver (i.e. Call-ID for chan_pjsip; will be empty if not applicable or not implemented by driver)."
2022-04-26 00:40:49 +02:00
} ,
2013-04-22 14:58:53 +00:00
"name" : {
"required" : true ,
"type" : "string" ,
"description" : "Name of the channel (i.e. SIP/foo-0000a7e3)"
} ,
"state" : {
"required" : true ,
2013-07-03 16:32:41 +00:00
"type" : "string" ,
"allowableValues" : {
"valueType" : "LIST" ,
"values" : [
"Down" ,
"Rsrved" ,
"OffHook" ,
"Dialing" ,
"Ring" ,
"Ringing" ,
"Up" ,
"Busy" ,
"Dialing Offhook" ,
"Pre-ring" ,
"Unknown"
]
}
2013-04-22 14:58:53 +00:00
} ,
2013-07-03 16:32:41 +00:00
"caller" : {
2013-04-22 14:58:53 +00:00
"required" : true ,
2013-07-03 16:32:41 +00:00
"type" : "CallerID"
2013-04-22 14:58:53 +00:00
} ,
2013-07-03 16:32:41 +00:00
"connected" : {
2013-04-22 14:58:53 +00:00
"required" : true ,
2013-07-03 16:32:41 +00:00
"type" : "CallerID"
2013-04-22 14:58:53 +00:00
} ,
2013-07-03 16:32:41 +00:00
"accountcode" : {
2013-04-22 14:58:53 +00:00
"required" : true ,
"type" : "string"
} ,
"dialplan" : {
"required" : true ,
"type" : "DialplanCEP" ,
"description" : "Current location in the dialplan"
} ,
"creationtime" : {
"required" : true ,
"type" : "Date" ,
"description" : "Timestamp when channel was created"
2014-12-09 20:20:27 +00:00
} ,
"language" : {
"required" : true ,
"type" : "string" ,
"description" : "The default spoken language"
2016-11-11 11:45:37 -05:00
} ,
"channelvars" : {
"required" : false ,
"type" : "object" ,
"description" : "Channel variables"
2023-10-14 15:48:10 +08:00
} ,
"caller_rdnis" : {
"type" : "string" ,
"description" : "The Caller ID RDNIS"
2024-05-21 11:11:26 -05:00
} ,
"tenantid" : {
"required" : false ,
"type" : "string" ,
"description" : "The Tenant ID for the channel"
2013-04-22 14:58:53 +00:00
}
}
}
}
}