{ "_copyright": "Copyright (C) 2012 - 2013, Digium, Inc.", "_author": "David M. Lee, II ", "_svn_revision": "$Revision$", "apiVersion": "0.0.1", "swaggerVersion": "1.1", "basePath": "http://localhost:8088/stasis", "resourcePath": "/api-docs/events.{format}", "apis": [ { "path": "/events", "description": "Events from Asterisk to applications", "operations": [ { "httpMethod": "GET", "summary": "WebSocket connection for events.", "nickname": "eventWebsocket", "responseClass": "Event", "parameters": [ { "name": "app", "description": "Comma seperated list of applications to subscribe to.", "paramType": "query", "required": true, "allowMultiple": true, "dataType": "string" }, { "name": "Upgrade", "description": "RFC6455 header for upgrading a connection to a websocket.", "paramType": "header", "required": true, "dataType": "string", "allowableValues": { "valueType": "LIST", "values": [ "websocket" ] } } ] } ] } ], "models": { "Event": { "id": "Event", "description": "Asynchronous events from Asterisk. The non-required fields of this object are mutually exclusive.", "properties": { "application": { "type": "string", "description": "Name of the application receiving the event.", "required": true }, "application_replaced": { "type": "ApplicationReplaced" }, "channel_created": { "type": "ChannelCreated" }, "channel_destroyed": { "type": "ChannelDestroyed" }, "channel_snapshot": { "type": "ChannelSnapshot" }, "channel_state_change": { "type": "ChannelStateChange" }, "channel_dtmf_received": { "type": "ChannelDtmfReceived" }, "channel_dialplan": { "type": "ChannelDialplan" }, "channel_caller_id": { "type": "ChannelCallerId" }, "channel_userevent": { "type": "ChannelUserevent" }, "channel_hangup_request": { "type": "ChannelHangupRequest" }, "channel_varset": { "type": "ChannelVarset" }, "stasis_end": { "type": "StasisEnd" }, "stasis_start": { "type": "StasisStart" } } }, "ApplicationReplaced": { "id": "ApplicationReplaced", "description": "Notification that another WebSocket has taken over for an application.", "notes": "An 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": { "application": { "required": true, "type": "string" } } }, "ChannelCreated": { "id": "ChannelCreated", "description": "Notification that a channel has been created.", "properties": { "channel": { "required": true, "type": "Channel" } } }, "ChannelSnapshot": { "id": "ChannelSnapshot", "description": "Some part of channel state changed.", "properties": { "channel": { "required": true, "type": "Channel" } } }, "ChannelDestroyed": { "id": "ChannelDestroyed", "description": "Notification that a channel has been destroyed.", "properties": { "cause": { "required": true, "description": "Integer representation of the cause of the hangup", "type": "integer" }, "cause_txt": { "required": true, "description": "Text representation of the cause of the hangup", "type": "string" }, "channel": { "required": true, "type": "Channel" } } }, "ChannelStateChange": { "id": "ChannelStateChange", "description": "Notification of a channel's state change.", "properties": { "channel": { "required": true, "type": "Channel" } } }, "ChannelDtmfReceived": { "id": "ChannelDtmfReceived", "description": "DTMF received on a channel.", "notes": "This event is sent when the DTMF ends. There is no notification about the start of DTMF", "properties": { "digit": { "required": true, "type": "string", "description": "DTMF digit received (0-9, A-E, # or *)" }, "channel": { "required": true, "type": "Channel", "description": "The channel on which DTMF was received" } } }, "ChannelDialplan": { "id": "ChannelDialplan", "description": "Channel changed location in the dialplan.", "properties": { "application": { "required": true, "type": "string", "description": "The application that the channel is currently in." }, "application_data": { "required": true, "type": "string", "description": "The data that was passed to the application when it was invoked." }, "channel": { "required": true, "type": "Channel", "description": "The channel that changed dialplan location." } } }, "ChannelCallerId": { "id": "ChannelCallerId", "description": "Channel changed Caller ID.", "properties": { "caller_presentation": { "required": true, "type": "integer", "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": { "required": true, "type": "Channel", "description": "The channel that signaled the user event." } } }, "ChannelHangupRequest": { "id": "ChannelHangupRequest", "description": "A hangup was requested on the channel.", "properties": { "cause": { "type": "integer", "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": { "required": true, "type": "Channel", "description": "The channel on which the variable was set." } } }, "StasisEnd": { "id": "StasisEnd", "description": "Notification that a channel has left a Stasis appliction.", "properties": { "channel": { "required": true, "type": "Channel" } } }, "StasisStart": { "id": "StasisStart", "description": "Notification that a channel has entered a Stasis appliction.", "properties": { "args": { "required": true, "type": "List[string]", "description": "Arguments to the application" }, "channel": { "required": true, "type": "Channel" } } } } }