- AsteriskInfo
- BuildInfo
- ConfigInfo
- SetId
- StatusInfo
- SystemInfo
- Variable
- Endpoint
- CallerID
- Channel
- Dialed
- DialplanCEP
- Bridge
- LiveRecording
- StoredRecording
- FormatLangPair
- Sound
- Playback
- ApplicationReplaced
- BridgeCreated
- BridgeDestroyed
- BridgeMerged
- ChannelCallerId
- ChannelCreated
- ChannelDestroyed
- ChannelDialplan
- ChannelDtmfReceived
- ChannelEnteredBridge
- ChannelHangupRequest
- ChannelLeftBridge
- ChannelStateChange
- ChannelUserevent
- ChannelVarset
- Event
- Message
- MissingParams
- PlaybackFinished
- PlaybackStarted
- StasisEnd
- StasisStart
AsteriskInfo
Asterisk system information
{ "properties": { "status": { "required": false, "type": "StatusInfo", "description": "Info about Asterisk status" }, "config": { "required": false, "type": "ConfigInfo", "description": "Info about Asterisk configuration" }, "build": { "required": false, "type": "BuildInfo", "description": "Info about how Asterisk was built" }, "system": { "required": false, "type": "SystemInfo", "description": "Info about the system running Asterisk" } }, "id": "AsteriskInfo", "description": "Asterisk system information" }
- build: BuildInfo (optional) - Info about how Asterisk was built
- config: ConfigInfo (optional) - Info about Asterisk configuration
- status: StatusInfo (optional) - Info about Asterisk status
- system: SystemInfo (optional) - Info about the system running Asterisk
BuildInfo
Info about how Asterisk was built
{ "properties": { "kernel": { "required": true, "type": "string", "description": "Kernel version Asterisk was built on." }, "machine": { "required": true, "type": "string", "description": "Machine architecture (x86_64, i686, ppc, etc.)" }, "user": { "required": true, "type": "string", "description": "Username that build Asterisk" }, "date": { "required": true, "type": "string", "description": "Date and time when Asterisk was built." }, "os": { "required": true, "type": "string", "description": "OS Asterisk was built on." }, "options": { "required": true, "type": "string", "description": "Compile time options, or empty string if default." } }, "id": "BuildInfo", "description": "Info about how Asterisk was built" }
- date: string - Date and time when Asterisk was built.
- kernel: string - Kernel version Asterisk was built on.
- machine: string - Machine architecture (x86_64, i686, ppc, etc.)
- options: string - Compile time options, or empty string if default.
- os: string - OS Asterisk was built on.
- user: string - Username that build Asterisk
ConfigInfo
Info about Asterisk configuration
{ "properties": { "name": { "required": true, "type": "string", "description": "Asterisk system name." }, "default_language": { "required": true, "type": "string", "description": "Default language for media playback." }, "max_load": { "required": false, "type": "double", "description": "Maximum load avg on system." }, "setid": { "required": true, "type": "SetId", "description": "Effective user/group id for running Asterisk." }, "max_open_files": { "required": false, "type": "int", "description": "Maximum number of open file handles (files, sockets)." }, "max_channels": { "required": false, "type": "int", "description": "Maximum number of simultaneous channels." } }, "id": "ConfigInfo", "description": "Info about Asterisk configuration" }
- default_language: string - Default language for media playback.
- max_channels: int (optional) - Maximum number of simultaneous channels.
- max_load: double (optional) - Maximum load avg on system.
- max_open_files: int (optional) - Maximum number of open file handles (files, sockets).
- name: string - Asterisk system name.
- setid: SetId - Effective user/group id for running Asterisk.
SetId
Effective user/group id
{ "properties": { "group": { "required": true, "type": "string", "description": "Effective group id." }, "user": { "required": true, "type": "string", "description": "Effective user id." } }, "id": "SetId", "description": "Effective user/group id" }
- group: string - Effective group id.
- user: string - Effective user id.
StatusInfo
Info about Asterisk status
{ "properties": { "last_reload_time": { "required": true, "type": "Date", "description": "Time when Asterisk was last reloaded." }, "startup_time": { "required": true, "type": "Date", "description": "Time when Asterisk was started." } }, "id": "StatusInfo", "description": "Info about Asterisk status" }
- last_reload_time: Date - Time when Asterisk was last reloaded.
- startup_time: Date - Time when Asterisk was started.
SystemInfo
Info about Asterisk
{ "properties": { "entity_id": { "required": true, "type": "string", "description": "" }, "version": { "required": true, "type": "string", "description": "Asterisk version." } }, "id": "SystemInfo", "description": "Info about Asterisk" }
- entity_id: string
- version: string - Asterisk version.
Variable
The value of a channel variable
{ "properties": { "value": { "required": true, "type": "string", "description": "The value of the variable requested" } }, "id": "Variable", "description": "The value of a channel variable" }
- value: string - The value of the variable requested
Endpoint
An external device that may offer/accept calls to/from Asterisk.
Unlike most resources, which have a single unique identifier, an endpoint is uniquely identified by the technology/resource pair.
{ "properties": { "resource": { "required": true, "type": "string", "description": "Identifier of the endpoint, specific to the given technology." }, "state": { "allowableValues": { "valueType": "LIST", "values": [ "unknown", "offline", "online" ] }, "required": false, "type": "string", "description": "Endpoint's state" }, "technology": { "required": true, "type": "string", "description": "Technology of the endpoint" }, "channel_ids": { "required": true, "type": "List[string]", "description": "Id's of channels associated with this endpoint" } }, "id": "Endpoint", "description": "An external device that may offer/accept calls to/from Asterisk.\n\nUnlike most resources, which have a single unique identifier, an endpoint is uniquely identified by the technology/resource pair." }
- channel_ids: List[string] - Id's of channels associated with this endpoint
- resource: string - Identifier of the endpoint, specific to the given technology.
- state: string (optional) - Endpoint's state
- technology: string - Technology of the endpoint
CallerID
Caller identification
{ "properties": { "name": { "required": true, "type": "string" }, "number": { "required": true, "type": "string" } }, "id": "CallerID", "description": "Caller identification" }
- name: string
- number: string
Channel
A specific communication connection between Asterisk and an Endpoint.
{ "properties": { "accountcode": { "required": true, "type": "string" }, "name": { "required": true, "type": "string", "description": "Name of the channel (i.e. SIP/foo-0000a7e3)" }, "caller": { "required": true, "type": "CallerID" }, "creationtime": { "required": true, "type": "Date", "description": "Timestamp when channel was created" }, "state": { "allowableValues": { "valueType": "LIST", "values": [ "Down", "Rsrved", "OffHook", "Dialing", "Ring", "Ringing", "Up", "Busy", "Dialing Offhook", "Pre-ring", "Unknown" ] }, "required": true, "type": "string" }, "connected": { "required": true, "type": "CallerID" }, "dialplan": { "required": true, "type": "DialplanCEP", "description": "Current location in the dialplan" }, "id": { "required": true, "type": "string", "description": "Unique identifier of the channel.\n\nThis is the same as the Uniqueid field in AMI." } }, "id": "Channel", "description": "A specific communication connection between Asterisk and an Endpoint." }
- accountcode: string
- caller: CallerID
- connected: CallerID
- creationtime: Date - Timestamp when channel was created
- dialplan: DialplanCEP - Current location in the dialplan
- id: string - Unique identifier of the channel.
This is the same as the Uniqueid field in AMI.
- name: string - Name of the channel (i.e. SIP/foo-0000a7e3)
- state: string
Dialed
Dialed channel information.
{ "properties": {}, "id": "Dialed", "description": "Dialed channel information." }
DialplanCEP
Dialplan location (context/extension/priority)
{ "properties": { "priority": { "required": true, "type": "long", "description": "Priority in the dialplan" }, "exten": { "required": true, "type": "string", "description": "Extension in the dialplan" }, "context": { "required": true, "type": "string", "description": "Context in the dialplan" } }, "id": "DialplanCEP", "description": "Dialplan location (context/extension/priority)" }
- context: string - Context in the dialplan
- exten: string - Extension in the dialplan
- priority: long - Priority in the dialplan
Bridge
The merging of media from one or more channels.
Everyone on the bridge receives the same audio.
{ "properties": { "channels": { "required": true, "type": "List[string]", "description": "Ids of channels participating in this bridge" }, "bridge_type": { "allowableValues": { "valueType": "LIST", "values": [ "mixing", "holding" ] }, "required": true, "type": "string", "description": "Type of bridge technology" }, "technology": { "required": true, "type": "string", "description": "Name of the current bridging technology" }, "id": { "required": true, "type": "string", "description": "Unique identifier for this bridge" }, "bridge_class": { "required": true, "type": "string", "description": "Bridging class" } }, "id": "Bridge", "description": "The merging of media from one or more channels.\n\nEveryone on the bridge receives the same audio." }
- bridge_class: string - Bridging class
- bridge_type: string - Type of bridge technology
- channels: List[string] - Ids of channels participating in this bridge
- id: string - Unique identifier for this bridge
- technology: string - Name of the current bridging technology
LiveRecording
A recording that is in progress
{ "properties": { "state": { "required": true, "type": "string" }, "name": { "required": true, "type": "string" }, "format": { "required": true, "type": "string" } }, "id": "LiveRecording", "description": "A recording that is in progress" }
- format: string
- name: string
- state: string
StoredRecording
A past recording that may be played back.
{ "properties": { "time": { "required": false, "type": "Date", "description": "Time recording was started" }, "id": { "required": true, "type": "string" }, "duration_seconds": { "required": false, "type": "int" }, "formats": { "required": true, "type": "List[string]" } }, "id": "StoredRecording", "description": "A past recording that may be played back." }
- duration_seconds: int (optional)
- formats: List[string]
- id: string
- time: Date (optional) - Time recording was started
FormatLangPair
Identifies the format and language of a sound file
{ "properties": { "language": { "required": true, "type": "string" }, "format": { "required": true, "type": "string" } }, "id": "FormatLangPair", "description": "Identifies the format and language of a sound file" }
- format: string
- language: string
Sound
A media file that may be played back.
{ "properties": { "text": { "required": false, "type": "string", "description": "Text description of the sound, usually the words spoken." }, "id": { "required": true, "type": "string", "description": "Sound's identifier." }, "formats": { "required": true, "type": "List[FormatLangPair]", "description": "The formats and languages in which this sound is available." } }, "id": "Sound", "description": "A media file that may be played back." }
- formats: List[FormatLangPair] - The formats and languages in which this sound is available.
- id: string - Sound's identifier.
- text: string (optional) - Text description of the sound, usually the words spoken.
Playback
Object representing the playback of media to a channel
{ "properties": { "language": { "type": "string", "description": "For media types that support multiple languages, the language requested for playback." }, "media_uri": { "required": true, "type": "string", "description": "URI for the media to play back." }, "id": { "required": true, "type": "string", "description": "ID for this playback operation" }, "target_uri": { "required": true, "type": "string", "description": "URI for the channel or bridge to play the media on" }, "state": { "allowableValues": { "valueType": "LIST", "values": [ "queued", "playing", "complete" ] }, "required": true, "type": "string", "description": "Current state of the playback operation." } }, "id": "Playback", "description": "Object representing the playback of media to a channel" }
- id: string - ID for this playback operation
- language: string (optional) - For media types that support multiple languages, the language requested for playback.
- media_uri: string - URI for the media to play back.
- state: string - Current state of the playback operation.
- target_uri: string - URI for the channel or bridge to play the media on
ApplicationReplaced
Base type: Event
Notification that another WebSocket has taken over for an application.
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": {}, "extends": "Event", "id": "ApplicationReplaced", "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." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
BridgeCreated
Base type: Event
Notification that a bridge has been created.
{ "properties": { "bridge": { "required": true, "type": "Bridge" } }, "extends": "Event", "id": "BridgeCreated", "description": "Notification that a bridge has been created." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- bridge: Bridge
BridgeDestroyed
Base type: Event
Notification that a bridge has been destroyed.
{ "properties": { "bridge": { "required": true, "type": "Bridge" } }, "extends": "Event", "id": "BridgeDestroyed", "description": "Notification that a bridge has been destroyed." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- bridge: Bridge
BridgeMerged
Base type: Event
Notification that one bridge has merged into another.
{ "properties": { "bridge": { "required": true, "type": "Bridge" }, "bridge_from": { "required": true, "type": "Bridge" } }, "extends": "Event", "id": "BridgeMerged", "description": "Notification that one bridge has merged into another." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- bridge: Bridge
- bridge_from: Bridge
ChannelCallerId
Base type: Event
Channel changed Caller ID.
{ "properties": { "caller_presentation_txt": { "required": true, "type": "string", "description": "The text representation of the Caller Presentation value." }, "caller_presentation": { "required": true, "type": "int", "description": "The integer representation of the Caller Presentation value." }, "channel": { "required": true, "type": "Channel", "description": "The channel that changed Caller ID." } }, "extends": "Event", "id": "ChannelCallerId", "description": "Channel changed Caller ID." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- caller_presentation: int - The integer representation of the Caller Presentation value.
- caller_presentation_txt: string - The text representation of the Caller Presentation value.
- channel: Channel - The channel that changed Caller ID.
ChannelCreated
Base type: Event
Notification that a channel has been created.
{ "properties": { "channel": { "required": true, "type": "Channel" } }, "extends": "Event", "id": "ChannelCreated", "description": "Notification that a channel has been created." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- channel: Channel
ChannelDestroyed
Base type: Event
Notification that a channel has been destroyed.
{ "properties": { "cause": { "required": true, "type": "int", "description": "Integer representation of the cause of the hangup" }, "cause_txt": { "required": true, "type": "string", "description": "Text representation of the cause of the hangup" }, "channel": { "required": true, "type": "Channel" } }, "extends": "Event", "id": "ChannelDestroyed", "description": "Notification that a channel has been destroyed." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- cause: int - Integer representation of the cause of the hangup
- cause_txt: string - Text representation of the cause of the hangup
- channel: Channel
ChannelDialplan
Base type: Event
Channel changed location in the dialplan.
{ "properties": { "dialplan_app_data": { "required": true, "type": "string", "description": "The data to be passed to the application." }, "channel": { "required": true, "type": "Channel", "description": "The channel that changed dialplan location." }, "dialplan_app": { "required": true, "type": "string", "description": "The application about to be executed." } }, "extends": "Event", "id": "ChannelDialplan", "description": "Channel changed location in the dialplan." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- channel: Channel - The channel that changed dialplan location.
- dialplan_app: string - The application about to be executed.
- dialplan_app_data: string - The data to be passed to the application.
ChannelDtmfReceived
Base type: Event
DTMF received on a channel.
This event is sent when the DTMF ends. There is no notification about the start of DTMF
{ "properties": { "duration_ms": { "required": true, "type": "int", "description": "Number of milliseconds DTMF was received" }, "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" } }, "extends": "Event", "id": "ChannelDtmfReceived", "description": "DTMF received on a channel.\n\nThis event is sent when the DTMF ends. There is no notification about the start of DTMF" }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- channel: Channel - The channel on which DTMF was received
- digit: string - DTMF digit received (0-9, A-E, # or *)
- duration_ms: int - Number of milliseconds DTMF was received
ChannelEnteredBridge
Base type: Event
Notification that a channel has entered a bridge.
{ "properties": { "bridge": { "required": true, "type": "Bridge" }, "channel": { "type": "Channel" } }, "extends": "Event", "id": "ChannelEnteredBridge", "description": "Notification that a channel has entered a bridge." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- bridge: Bridge
- channel: Channel (optional)
ChannelHangupRequest
Base type: Event
A hangup was requested on the channel.
{ "properties": { "soft": { "type": "boolean", "description": "Whether the hangup request was a soft hangup request." }, "cause": { "type": "int", "description": "Integer representation of the cause of the hangup." }, "channel": { "required": true, "type": "Channel", "description": "The channel on which the hangup was requested." } }, "extends": "Event", "id": "ChannelHangupRequest", "description": "A hangup was requested on the channel." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- cause: int (optional) - Integer representation of the cause of the hangup.
- channel: Channel - The channel on which the hangup was requested.
- soft: boolean (optional) - Whether the hangup request was a soft hangup request.
ChannelLeftBridge
Base type: Event
Notification that a channel has left a bridge.
{ "properties": { "bridge": { "required": true, "type": "Bridge" }, "channel": { "required": true, "type": "Channel" } }, "extends": "Event", "id": "ChannelLeftBridge", "description": "Notification that a channel has left a bridge." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- bridge: Bridge
- channel: Channel
ChannelStateChange
Base type: Event
Notification of a channel's state change.
{ "properties": { "channel": { "required": true, "type": "Channel" } }, "extends": "Event", "id": "ChannelStateChange", "description": "Notification of a channel's state change." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- channel: Channel
ChannelUserevent
Base type: Event
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." } }, "extends": "Event", "id": "ChannelUserevent", "description": "User-generated event with additional user-defined fields in the object." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- channel: Channel - The channel that signaled the user event.
- eventname: string - The name of the user event.
ChannelVarset
Base type: Event
Channel variable changed.
{ "properties": { "variable": { "required": true, "type": "string", "description": "The variable that changed." }, "channel": { "required": false, "type": "Channel", "description": "The channel on which the variable was set.\n\nIf missing, the variable is a global variable." }, "value": { "required": true, "type": "string", "description": "The new value of the variable." } }, "extends": "Event", "id": "ChannelVarset", "description": "Channel variable changed." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- channel: Channel (optional) - The channel on which the variable was set.
If missing, the variable is a global variable.
- value: string - The new value of the variable.
- variable: string - The variable that changed.
Event
Base type: Message
Subtypes: ApplicationReplaced BridgeCreated BridgeDestroyed BridgeMerged ChannelCallerId ChannelCreated ChannelDestroyed ChannelDialplan ChannelDtmfReceived ChannelEnteredBridge ChannelHangupRequest ChannelLeftBridge ChannelStateChange ChannelUserevent ChannelVarset PlaybackFinished PlaybackStarted StasisEnd StasisStart
Base type for asynchronous events from Asterisk.
{ "properties": { "application": { "required": true, "type": "string", "description": "Name of the application receiving the event." }, "timestamp": { "required": false, "type": "Date", "description": "Time at which this event was created." } }, "extends": "Message", "id": "Event", "description": "Base type for asynchronous events from Asterisk." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
Message
Subtypes: ApplicationReplaced BridgeCreated BridgeDestroyed BridgeMerged ChannelCallerId ChannelCreated ChannelDestroyed ChannelDialplan ChannelDtmfReceived ChannelEnteredBridge ChannelHangupRequest ChannelLeftBridge ChannelStateChange ChannelUserevent ChannelVarset Event MissingParams PlaybackFinished PlaybackStarted StasisEnd StasisStart
Base type for errors and events
{ "discriminator": "type", "properties": { "type": { "required": true, "type": "string", "description": "Indicates the type of this message." } }, "id": "Message", "description": "Base type for errors and events" }
- type: string - Indicates the type of this message.
MissingParams
Base type: Message
Error event sent when required params are missing.
{ "properties": { "params": { "required": true, "type": "List[string]", "description": "A list of the missing parameters" } }, "extends": "Message", "id": "MissingParams", "description": "Error event sent when required params are missing." }
- type: string - Indicates the type of this message.
- params: List[string] - A list of the missing parameters
PlaybackFinished
Base type: Event
Event showing the completion of a media playback operation.
{ "properties": { "playback": { "required": true, "type": "Playback", "description": "Playback control object" } }, "extends": "Event", "id": "PlaybackFinished", "description": "Event showing the completion of a media playback operation." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- playback: Playback - Playback control object
PlaybackStarted
Base type: Event
Event showing the start of a media playback operation.
{ "properties": { "playback": { "required": true, "type": "Playback", "description": "Playback control object" } }, "extends": "Event", "id": "PlaybackStarted", "description": "Event showing the start of a media playback operation." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- playback: Playback - Playback control object
StasisEnd
Base type: Event
Notification that a channel has left a Stasis appliction.
{ "properties": { "channel": { "required": true, "type": "Channel" } }, "extends": "Event", "id": "StasisEnd", "description": "Notification that a channel has left a Stasis appliction." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- channel: Channel
StasisStart
Base type: Event
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" } }, "extends": "Event", "id": "StasisStart", "description": "Notification that a channel has entered a Stasis appliction." }
- type: string - Indicates the type of this message.
- application: string - Name of the application receiving the event.
- timestamp: Date (optional) - Time at which this event was created.
- args: List[string] - Arguments to the application
- channel: Channel