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-10-24 20:48:17 +00:00
"swaggerVersion" : "1.2" ,
2014-09-20 23:41:55 +00:00
"basePath" : "http://localhost:8088/ari" ,
2013-04-22 14:58:53 +00:00
"resourcePath" : "/api-docs/events.{format}" ,
2018-01-18 10:01:26 -05:00
"requiresModules" : [
"res_http_websocket"
],
2013-04-22 14:58:53 +00:00
"apis" : [
{
"path" : "/events" ,
"description" : "Events from Asterisk to applications" ,
"operations" : [
{
"httpMethod" : "GET" ,
2013-07-03 16:32:00 +00:00
"upgrade" : "websocket" ,
"websocketProtocol" : "ari" ,
2013-04-22 14:58:53 +00:00
"summary" : "WebSocket connection for events." ,
"nickname" : "eventWebsocket" ,
2013-07-05 19:15:27 +00:00
"responseClass" : "Message" ,
2013-04-22 14:58:53 +00:00
"parameters" : [
{
"name" : "app" ,
2013-08-02 14:36:32 +00:00
"description" : "Applications to subscribe to." ,
2013-04-22 14:58:53 +00:00
"paramType" : "query" ,
"required" : true ,
"allowMultiple" : true ,
"dataType" : "string"
2015-09-04 12:25:07 -05:00
},
{
"name" : "subscribeAll" ,
"description" : "Subscribe to all Asterisk events. If provided, the applications listed will be subscribed to all events, effectively disabling the application specific subscriptions. Default is 'false'." ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "boolean"
2013-04-22 14:58:53 +00:00
}
]
}
]
2014-05-22 16:09:51 +00:00
},
{
"path" : "/events/user/{eventName}" ,
"description" : "Stasis application user events" ,
"operations" : [
{
"httpMethod" : "POST" ,
"summary" : "Generate a user event." ,
"nickname" : "userEvent" ,
"responseClass" : "void" ,
"parameters" : [
{
"name" : "eventName" ,
"description" : "Event name" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
},
{
"name" : "application" ,
"description" : "The name of the application that will receive this event" ,
"paramType" : "query" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
},
{
"name" : "source" ,
"description" : "URI for event source (channel:{channelId}, bridge:{bridgeId}, endpoint:{tech}/{resource}, deviceState:{deviceName}" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : true ,
"dataType" : "string"
},
{
"name" : "variables" ,
2014-07-03 16:14:39 +00:00
"description" : "The \"variables\" key in the body object holds custom key/value pairs to add to the user event. Ex. { \"variables\": { \"key\": \"value\" } }" ,
2014-05-22 16:09:51 +00:00
"paramType" : "body" ,
"required" : false ,
"allowMultiple" : false ,
"dataType" : "containers"
}
],
"errorResponses" : [
{
"code" : 404 ,
"reason" : "Application does not exist."
},
{
"code" : 422 ,
"reason" : "Event source not found."
},
{
"code" : 400 ,
"reason" : "Invalid even tsource URI or userevent data."
}
]
}
]
2013-04-22 14:58:53 +00:00
}
],
"models" : {
2013-07-05 19:15:27 +00:00
"Message" : {
"id" : "Message" ,
"description" : "Base type for errors and events" ,
2013-07-03 16:32:41 +00:00
"discriminator" : "type" ,
2013-04-22 14:58:53 +00:00
"properties" : {
2013-07-03 16:32:41 +00:00
"type" : {
"type" : "string" ,
"required" : true ,
2013-07-05 19:15:27 +00:00
"description" : "Indicates the type of this message."
2016-10-15 20:05:05 -05:00
},
"asterisk_id" : {
"type" : "string" ,
"required" : false ,
"description" : "The unique ID for the Asterisk instance that raised this event."
2013-07-05 19:15:27 +00:00
}
2013-10-24 20:48:17 +00:00
},
"subTypes" : [
"MissingParams" ,
"Event"
]
2013-07-05 19:15:27 +00:00
},
"MissingParams" : {
"id" : "MissingParams" ,
"description" : "Error event sent when required params are missing." ,
"properties" : {
"params" : {
"required" : true ,
"type" : "List[string]" ,
"description" : "A list of the missing parameters"
}
}
},
"Event" : {
"id" : "Event" ,
"description" : "Base type for asynchronous events from Asterisk." ,
"properties" : {
2013-04-22 14:58:53 +00:00
"application" : {
"type" : "string" ,
"description" : "Name of the application receiving the event." ,
"required" : true
},
2013-07-03 16:32:41 +00:00
"timestamp" : {
"type" : "Date" ,
"description" : "Time at which this event was created." ,
"required" : false
}
2013-10-24 20:48:17 +00:00
},
"subTypes" : [
2013-11-23 17:48:28 +00:00
"DeviceStateChanged" ,
2013-10-24 20:48:17 +00:00
"PlaybackStarted" ,
2016-04-18 18:17:08 -05:00
"PlaybackContinuing" ,
2013-10-24 20:48:17 +00:00
"PlaybackFinished" ,
2013-11-30 14:12:50 +00:00
"RecordingStarted" ,
"RecordingFinished" ,
"RecordingFailed" ,
2013-10-24 20:48:17 +00:00
"ApplicationReplaced" ,
"BridgeCreated" ,
"BridgeDestroyed" ,
"BridgeMerged" ,
2014-02-01 16:26:57 +00:00
"BridgeBlindTransfer" ,
"BridgeAttendedTransfer" ,
2016-11-08 10:11:41 -06:00
"BridgeVideoSourceChanged" ,
2013-10-24 20:48:17 +00:00
"ChannelCreated" ,
"ChannelDestroyed" ,
"ChannelEnteredBridge" ,
"ChannelLeftBridge" ,
"ChannelStateChange" ,
"ChannelDtmfReceived" ,
"ChannelDialplan" ,
"ChannelCallerId" ,
"ChannelUserevent" ,
"ChannelHangupRequest" ,
"ChannelVarset" ,
2014-05-30 12:42:57 +00:00
"ChannelTalkingStarted" ,
"ChannelTalkingFinished" ,
2015-04-07 15:22:42 +00:00
"ChannelHold" ,
"ChannelUnhold" ,
2015-09-03 21:19:21 -05:00
"ContactStatusChange" ,
2013-10-24 20:48:17 +00:00
"EndpointStateChange" ,
2013-12-14 17:19:41 +00:00
"Dial" ,
2013-10-24 20:48:17 +00:00
"StasisEnd" ,
2014-08-05 21:44:09 +00:00
"StasisStart" ,
2014-12-08 16:24:36 +00:00
"TextMessageReceived" ,
2015-09-03 21:19:21 -05:00
"ChannelConnectedLine" ,
"PeerStatusChange"
2013-10-24 20:48:17 +00:00
]
2013-05-23 20:11:35 +00:00
},
2015-09-03 21:19:21 -05:00
"ContactInfo" : {
"id" : "ContactInfo" ,
"description" : "Detailed information about a contact on an endpoint." ,
"properties" : {
"uri" : {
"type" : "string" ,
"description" : "The location of the contact." ,
"required" : true
},
"contact_status" : {
"type" : "string" ,
"description" : "The current status of the contact." ,
"required" : true ,
"allowableValues" : {
"valueType" : "LIST" ,
"values" : [
"Unreachable" ,
"Reachable" ,
"Unknown" ,
2017-12-11 15:27:29 -06:00
"NonQualified" ,
2015-09-03 21:19:21 -05:00
"Removed"
]
}
},
"aor" : {
"type" : "string" ,
"description" : "The Address of Record this contact belongs to." ,
"required" : true
},
"roundtrip_usec" : {
"type" : "string" ,
"description" : "Current round trip time, in microseconds, for the contact." ,
"required" : false
}
}
},
"Peer" : {
"id" : "Peer" ,
"description" : "Detailed information about a remote peer that communicates with Asterisk." ,
"properties" : {
"peer_status" : {
"type" : "string" ,
"description" : "The current state of the peer. Note that the values of the status are dependent on the underlying peer technology." ,
"required" : true
},
"cause" : {
"type" : "string" ,
"description" : "An optional reason associated with the change in peer_status." ,
"required" : false
},
"address" : {
"type" : "string" ,
"description" : "The IP address of the peer." ,
"required" : false
},
"port" : {
"type" : "string" ,
"description" : "The port of the peer." ,
"required" : false
},
"time" : {
"type" : "string" ,
"description" : "The last known time the peer was contacted." ,
"required" : false
}
}
},
2013-11-23 17:48:28 +00:00
"DeviceStateChanged" : {
"id" : "DeviceStateChanged" ,
"description" : "Notification that a device state has changed." ,
"properties" : {
"device_state" : {
"type" : "DeviceState" ,
"description" : "Device state object" ,
"required" : true
}
}
},
2013-05-23 20:11:35 +00:00
"PlaybackStarted" : {
"id" : "PlaybackStarted" ,
"description" : "Event showing the start of a media playback operation." ,
"properties" : {
"playback" : {
"type" : "Playback" ,
"description" : "Playback control object" ,
"required" : true
2016-04-18 18:17:08 -05:00
}
}
},
"PlaybackContinuing" : {
"id" : "PlaybackContinuing" ,
"description" : "Event showing the continuation of a media playback operation from one media URI to the next in the list." ,
"properties" : {
"playback" : {
"type" : "Playback" ,
"description" : "Playback control object" ,
"required" : true
2013-05-23 20:11:35 +00:00
}
}
},
"PlaybackFinished" : {
"id" : "PlaybackFinished" ,
"description" : "Event showing the completion of a media playback operation." ,
"properties" : {
"playback" : {
"type" : "Playback" ,
"description" : "Playback control object" ,
"required" : true
}
2013-04-22 14:58:53 +00:00
}
},
2013-10-25 21:28:32 +00:00
"RecordingStarted ": {
" id ": " RecordingStarted ",
" description ": " Event showing the start of a recording operation. ",
" properties ": {
" recording ": {
" type ": " LiveRecording ",
" description ": " Recording control object ",
" required ": true
}
}
},
" RecordingFinished ": {
" id ": " RecordingFinished ",
" description ": " Event showing the completion of a recording operation. ",
" properties ": {
" recording ": {
" type ": " LiveRecording ",
" description ": " Recording control object ",
" required ": true
}
}
},
" RecordingFailed ": {
" id ": " RecordingFailed ",
" description ": " Event showing failure of a recording operation. ",
" properties ": {
" recording ": {
" type ": " LiveRecording ",
" description ": " Recording control object ",
" required ": true
}
}
},
2013-04-22 14:58:53 +00:00
" ApplicationReplaced ": {
" id ": " ApplicationReplaced ",
2013-07-03 16:32:41 +00:00
" 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. ",
" properties ": {}
2013-04-22 14:58:53 +00:00
},
2013-05-21 18:00:22 +00:00
" BridgeCreated ": {
" id ": " BridgeCreated ",
" description ": " Notification that a bridge has been created. ",
" properties ": {
" bridge ": {
" required ": true,
" type ": " Bridge "
}
}
},
" BridgeDestroyed ": {
" id ": " BridgeDestroyed ",
" description ": " Notification that a bridge has been destroyed. ",
" properties ": {
" bridge ": {
" required ": true,
" type ": " Bridge "
}
}
},
2013-06-10 13:07:11 +00:00
" BridgeMerged ": {
" id ": " BridgeMerged ",
" description ": " Notification that one bridge has merged into another. ",
" properties ": {
" bridge ": {
" required ": true,
" type ": " Bridge "
},
" bridge_from ": {
" required ": true,
" type ": " Bridge "
}
}
},
2016-11-08 10:11:41 -06:00
" BridgeVideoSourceChanged ": {
" id ": " BridgeVideoSourceChanged ",
" description ": " Notification that the source of video in a bridge has changed. ",
" properties ": {
" bridge ": {
" required ": true,
" type ": " Bridge "
},
" old_video_source_id ": {
" required ": false,
" type ": " string "
}
}
},
2014-02-01 16:26:57 +00:00
" BridgeBlindTransfer ": {
" id ": " BridgeBlindTransfer ",
" description ": " Notification that a blind transfer has occurred. ",
" properties ": {
" channel ": {
" description ": " The channel performing the blind transfer ",
" required ": true,
" type ": " Channel "
},
2014-08-20 13:06:33 +00:00
" replace_channel ": {
" description ": " The channel that is replacing transferer when the transferee(s) can not be transferred directly ",
" required ": false,
" type ": " Channel "
},
2014-08-07 15:30:19 +00:00
" transferee ": {
" description ": " The channel that is being transferred ",
" required ": false,
" type ": " Channel "
},
2014-02-01 16:26:57 +00:00
" exten ": {
" description ": " The extension transferred to ",
" required ": true,
" type ": " string "
},
" context ": {
" description ": " The context transferred to ",
" required ": true,
" type ": " string "
},
" result ": {
" description ": " The result of the transfer attempt ",
" required ": true,
" type ": " string "
},
" is_external ": {
" description ": " Whether the transfer was externally initiated or not ",
" required ": true,
" type ": " boolean "
},
" bridge ": {
" description ": " The bridge being transferred ",
" type ": " Bridge "
}
}
},
" BridgeAttendedTransfer ": {
" id ": " BridgeAttendedTransfer ",
" description ": " Notification that an attended transfer has occurred. ",
" properties ": {
" transferer_first_leg ": {
" description ": " First leg of the transferer ",
" required ": true,
" type ": " Channel "
},
" transferer_second_leg ": {
" description ": " Second leg of the transferer ",
" required ": true,
" type ": " Channel "
},
2014-08-07 15:30:19 +00:00
" replace_channel ": {
" description ": " The channel that is replacing transferer_first_leg in the swap ",
" required ": false,
" type ": " Channel "
},
" transferee ": {
" description ": " The channel that is being transferred ",
" required ": false,
" type ": " Channel "
},
" transfer_target ": {
" description ": " The channel that is being transferred to ",
" required ": false,
" type ": " Channel "
},
2014-02-01 16:26:57 +00:00
" result ": {
" description ": " The result of the transfer attempt ",
" required ": true,
" type ": " string "
},
" is_external ": {
" description ": " Whether the transfer was externally initiated or not ",
" required ": true,
" type ": " boolean "
},
" transferer_first_leg_bridge ": {
" description ": " Bridge the transferer first leg is in ",
" type ": " Bridge "
},
" transferer_second_leg_bridge ": {
" description ": " Bridge the transferer second leg is in ",
" type ": " Bridge "
},
" destination_type ": {
" description ": " How the transfer was accomplished ",
" required ": true,
" type ": " string "
},
" destination_bridge ": {
" description ": " Bridge that survived the merge result ",
" type ": " string "
},
" destination_application ": {
" description ": " Application that has been transferred into ",
" type ": " string "
},
" destination_link_first_leg ": {
" description ": " First leg of a link transfer result ",
" type ": " Channel "
},
" destination_link_second_leg ": {
" description ": " Second leg of a link transfer result ",
" type ": " Channel "
},
" destination_threeway_channel ": {
" description ": " Transferer channel that survived the threeway result ",
" type ": " Channel "
},
" destination_threeway_bridge ": {
" description ": " Bridge that survived the threeway result ",
" type ": " Bridge "
}
}
},
2013-05-10 13:13:06 +00:00
" ChannelCreated ": {
" id ": " ChannelCreated ",
" description ": " Notification that a channel has been created. ",
2013-04-22 14:58:53 +00:00
" properties ": {
2013-05-10 13:13:06 +00:00
" channel ": {
" required ": true,
" type ": " Channel "
2013-04-22 14:58:53 +00:00
}
}
},
2013-05-10 13:13:06 +00:00
" ChannelDestroyed ": {
" id ": " ChannelDestroyed ",
" description ": " Notification that a channel has been destroyed. ",
2013-04-22 14:58:53 +00:00
" properties ": {
2013-05-10 13:13:06 +00:00
" cause ": {
" required ": true,
" description ": " Integer representation of the cause of the hangup ",
2013-07-03 16:32:41 +00:00
" type ": " int "
2013-05-10 13:13:06 +00:00
},
" cause_txt ": {
" required ": true,
" description ": " Text representation of the cause of the hangup ",
" type ": " string "
2013-04-22 14:58:53 +00:00
},
" channel ": {
2013-05-10 13:13:06 +00:00
" required ": true,
2013-04-22 14:58:53 +00:00
" type ": " Channel "
}
}
},
2013-05-21 18:00:22 +00:00
" ChannelEnteredBridge ": {
" id ": " ChannelEnteredBridge ",
" description ": " Notification that a channel has entered a bridge. ",
" properties ": {
" bridge ": {
" required ": true,
" type ": " Bridge "
},
" channel ": {
" type ": " Channel "
}
}
},
" ChannelLeftBridge ": {
" id ": " ChannelLeftBridge ",
" description ": " Notification that a channel has left a bridge. ",
" properties ": {
" bridge ": {
" required ": true,
" type ": " Bridge "
},
" channel ": {
" required ": true,
" type ": " Channel "
}
}
},
2013-04-22 14:58:53 +00:00
" ChannelStateChange ": {
" id ": " ChannelStateChange ",
" description ": " Notification of a channel's state change. ",
" properties ": {
2013-05-10 13:13:06 +00:00
" channel ": {
" required ": true,
2013-04-22 14:58:53 +00:00
" type ": " Channel "
}
}
},
2013-05-10 13:13:06 +00:00
" ChannelDtmfReceived ": {
" id ": " ChannelDtmfReceived ",
2013-07-03 16:32:41 +00:00
" description ": " DTMF received on a channel.\n\nThis event is sent when the DTMF ends. There is no notification about the start of DTMF ",
2013-04-22 14:58:53 +00:00
" properties ": {
" digit ": {
2013-05-10 13:13:06 +00:00
" required ": true,
2013-04-22 14:58:53 +00:00
" type ": " string ",
" description ": " DTMF digit received ( 0-9 , A-E, # or *) "
},
2013-07-03 16:32:41 +00:00
" duration_ms ": {
" required ": true,
" type ": " int ",
" description ": " Number of milliseconds DTMF was received "
},
2013-04-22 14:58:53 +00:00
" channel ": {
2013-05-10 13:13:06 +00:00
" required ": true,
2013-04-22 14:58:53 +00:00
" type ": " Channel ",
" description ": " The channel on which DTMF was received "
}
}
},
2013-05-10 13:13:06 +00:00
" ChannelDialplan ": {
" id ": " ChannelDialplan ",
" description ": " Channel changed location in the dialplan. ",
" properties ": {
2013-07-03 16:32:41 +00:00
" channel ": {
2013-05-10 13:13:06 +00:00
" required ": true,
2013-07-03 16:32:41 +00:00
" type ": " Channel ",
" description ": " The channel that changed dialplan location. "
2013-05-10 13:13:06 +00:00
},
2013-07-03 16:32:41 +00:00
" dialplan_app ": {
2013-05-10 13:13:06 +00:00
" required ": true,
" type ": " string ",
2013-07-03 16:32:41 +00:00
" description ": " The application about to be executed. "
2013-05-10 13:13:06 +00:00
},
2013-07-03 16:32:41 +00:00
" dialplan_app_data ": {
2013-05-10 13:13:06 +00:00
" required ": true,
2013-07-03 16:32:41 +00:00
" type ": " string ",
" description ": " The data to be passed to the application. "
2013-05-10 13:13:06 +00:00
}
}
},
" ChannelCallerId ": {
" id ": " ChannelCallerId ",
" description ": " Channel changed Caller ID. ",
" properties ": {
" caller_presentation ": {
" required ": true,
2013-07-03 16:32:41 +00:00
" type ": " int ",
2013-05-10 13:13:06 +00:00
" description ": " The integer representation of the Caller Presentation value. "
},
" caller_presentation_txt ": {
" required ": true,
" type ": " string ",
" description ": " The text representation of the Caller Presentation value. "
},
" channel ": {
" required ": true,
" type ": " Channel ",
" description ": " The channel that changed Caller ID. "
}
}
},
" ChannelUserevent ": {
" id ": " ChannelUserevent ",
" description ": " User-generated event with additional user-defined fields in the object. ",
" properties ": {
" eventname ": {
" required ": true,
" type ": " string ",
" description ": " The name of the user event. "
},
" channel ": {
2014-05-22 16:09:51 +00:00
" required ": false,
2013-05-10 13:13:06 +00:00
" type ": " Channel ",
2014-05-22 16:09:51 +00:00
" description ": " A channel that is signaled with the user event. "
},
" bridge ": {
" required ": false,
" type ": " Bridge ",
" description ": " A bridge that is signaled with the user event. "
},
" endpoint ": {
" required ": false,
" type ": " Endpoint ",
" description ": " A endpoint that is signaled with the user event. "
2013-10-04 16:01:48 +00:00
},
" userevent ": {
" required ": true,
" type ": " object ",
" description ": " Custom Userevent data "
2013-05-10 13:13:06 +00:00
}
}
},
" ChannelHangupRequest ": {
" id ": " ChannelHangupRequest ",
" description ": " A hangup was requested on the channel. ",
" properties ": {
" cause ": {
2013-07-03 16:32:41 +00:00
" type ": " int ",
2013-05-10 13:13:06 +00:00
" description ": " Integer representation of the cause of the hangup. "
},
" soft ": {
" type ": " boolean ",
" description ": " Whether the hangup request was a soft hangup request. "
},
" channel ": {
" required ": true,
" type ": " Channel ",
" description ": " The channel on which the hangup was requested. "
}
}
},
" ChannelVarset ": {
" id ": " ChannelVarset ",
" description ": " Channel variable changed. ",
" properties ": {
" variable ": {
" required ": true,
" type ": " string ",
" description ": " The variable that changed. "
},
" value ": {
" required ": true,
" type ": " string ",
" description ": " The new value of the variable. "
},
" channel ": {
2013-07-03 16:32:41 +00:00
" required ": false,
2013-05-10 13:13:06 +00:00
" type ": " Channel ",
2013-07-03 16:32:41 +00:00
" description ": " The channel on which the variable was set.\n\nIf missing , the variable is a global variable. "
2013-05-10 13:13:06 +00:00
}
}
},
2015-04-07 15:22:42 +00:00
" ChannelHold ": {
" id ": " ChannelHold ",
" description ": " A channel initiated a media hold. ",
" properties ": {
" channel ": {
" required ": true,
" type ": " Channel ",
" description ": " The channel that initiated the hold event. "
2015-04-10 14:56:05 +00:00
},
" musicclass ": {
" required ": false,
" type ": " string ",
" description ": " The music on hold class that the initiator requested. "
2015-04-07 15:22:42 +00:00
}
}
},
" ChannelUnhold ": {
" id ": " ChannelUnhold ",
" description ": " A channel initiated a media unhold. ",
" properties ": {
" channel ": {
" required ": true,
" type ": " Channel ",
" description ": " The channel that initiated the unhold event. "
}
}
},
2014-05-30 12:42:57 +00:00
" ChannelTalkingStarted ": {
" id ": " ChannelTalkingStarted ",
" description ": " Talking was detected on the channel. ",
" properties ": {
" channel ": {
" required ": true,
" type ": " Channel ",
" description ": " The channel on which talking started. "
}
}
},
" ChannelTalkingFinished ": {
" id ": " ChannelTalkingFinished ",
" description ": " Talking is no longer detected on the channel. ",
" properties ": {
" channel ": {
" required ": true,
" type ": " Channel ",
" description ": " The channel on which talking completed. "
},
" duration ": {
" required ": true,
" type ": " int ",
" description ": " The length of time , in milliseconds, that talking was detected on the channel "
}
}
},
2015-09-03 21:19:21 -05:00
" ContactStatusChange ": {
" id ": " ContactStatusChange ",
" description ": " The state of a contact on an endpoint has changed. ",
" properties ": {
" endpoint ": {
" required ": true,
" type ": " Endpoint "
},
" contact_info ": {
" required ": true,
" type ": " ContactInfo "
}
}
},
" PeerStatusChange ": {
" id ": " PeerStatusChange ",
" description ": " The state of a peer associated with an endpoint has changed. ",
" properties ": {
" endpoint ": {
" required ": true,
" type ": " Endpoint "
},
" peer ": {
" required ": true,
" type ": " Peer "
}
}
},
2013-10-04 16:01:48 +00:00
" EndpointStateChange ": {
" id ": " EndpointStateChange ",
" description ": " Endpoint state changed. ",
" properties ": {
" endpoint ": {
" required ": true,
" type ": " Endpoint "
}
}
},
2013-12-14 17:19:41 +00:00
" Dial ": {
" id ": " Dial ",
" description ": " Dialing state has changed. ",
" properties ": {
" caller ": {
" required ": false,
" type ": " Channel ",
" description ": " The calling channel. "
},
" peer ": {
" required ": true,
" type ": " Channel ",
" description ": " The dialed channel. "
},
" forward ": {
" required ": false,
" type ": " string ",
" description ": " Forwarding target requested by the original dialed channel. "
},
" forwarded ": {
" required ": false,
" type ": " Channel ",
" description ": " Channel that the caller has been forwarded to. "
},
" dialstring ": {
" required ": false,
" type ": " string ",
" description ": " The dial string for calling the peer channel. "
},
" dialstatus ": {
" required ": true,
" type ": " string ",
" description ": " Current status of the dialing attempt to the peer. "
}
}
},
2013-04-22 14:58:53 +00:00
" StasisEnd ": {
" id ": " StasisEnd ",
2013-11-12 15:27:00 +00:00
" description ": " Notification that a channel has left a Stasis application. ",
2013-04-22 14:58:53 +00:00
" properties ": {
2013-05-10 13:13:06 +00:00
" channel ": {
" required ": true,
2013-04-22 14:58:53 +00:00
" type ": " Channel "
}
}
},
" StasisStart ": {
" id ": " StasisStart ",
2013-11-12 15:27:00 +00:00
" description ": " Notification that a channel has entered a Stasis application. ",
2013-04-22 14:58:53 +00:00
" properties ": {
" args ": {
2013-05-10 13:13:06 +00:00
" required ": true,
2013-04-22 14:58:53 +00:00
" type ": " List [ string ] ",
" description ": " Arguments to the application "
},
2013-05-10 13:13:06 +00:00
" channel ": {
" required ": true,
2013-04-22 14:58:53 +00:00
" type ": " Channel "
2014-08-07 15:30:19 +00:00
},
" replace_channel ": {
" required ": false,
" type ": " Channel "
2013-04-22 14:58:53 +00:00
}
}
2014-08-05 21:44:09 +00:00
},
" TextMessageReceived ": {
" id ": " TextMessageReceived ",
" description ": " A text message was received from an endpoint. ",
" properties ": {
" message ": {
" required ": true,
" type ": " TextMessage "
},
" endpoint ": {
" required ": false,
" type ": " Endpoint "
}
}
2014-12-08 16:24:36 +00:00
},
" ChannelConnectedLine ": {
" id ": " ChannelConnectedLine ",
" description ": " Channel changed Connected Line. ",
" properties ": {
" channel ": {
" required ": true,
" type ": " Channel ",
" description ": " The channel whose connected line has changed."
}
}
2013-04-22 14:58:53 +00:00
}
}
}