Asterisk ari-event: Difference between revisions
Line 729: | Line 729: | ||
{ | { | ||
"type": "PlaybackFinished", | "type": "PlaybackFinished", | ||
"timestamp": "2019-03-07T21:18:53.043+0100", | |||
"playback": { | "playback": { | ||
"id": " | "id": "5b8ea8c2-bf67-4282-9c10-55ebf37a07c1", | ||
"media_uri": "sound:https:// | "media_uri": "sound:https://github.com/pchero/asterisk-medias/raw/master/samples_codec/pcm_samples/example-mono_16bit_8khz_pcm.wav", | ||
"target_uri": "channel: | "target_uri": "channel:test_call", | ||
"language": "en", | "language": "en", | ||
"state": "done" | "state": "done" | ||
}, | }, | ||
"asterisk_id": " | "asterisk_id": "00:11:22:33:44:55", | ||
"application": " | "application": "test" | ||
} | } | ||
</pre> | </pre> |
Revision as of 20:20, 7 March 2019
Overview
Asterisk ARI event 내용 정리
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)" }, "language": { "required": true, "type": "string", "description": "The default spoken language" }, "channelvars": { "required": false, "type": "object", "description": "Channel variables" }, "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
- channelvars: object(optional): Channel variables
- 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 filed in AMI
ChannelCreated
Base type: Event
Notification that a channel has been created.
{ "properties": { "channel": { "required": true, "type": "Channel" } }, "id": "ChannelCreated", "description": "Notification that a channel has been created." }
- asterisk_id: string(optional) : The unique ID for the Asterisk instance that raised 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.
- channel : Channel
Example
{ "type": "ChannelCreated", "timestamp": "2019-03-06T23:47:09.077+0100", "channel": { "id": "test_call", "name": "PJSIP/sipp-uac-00000000", "state": "Down", "caller": { "name": "", "number": "" }, "connected": { "name": "", "number": "" }, "accountcode": "", "dialplan": { "context": "sipp-uac", "exten": "s", "priority": 1 }, "creationtime": "2019-03-06T23:47:09.058+0100", "language": "en" }, "asterisk_id": "00:11:22:33:44:55", "application": "test" }
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" } }, "id": "ChannelDestroyed", "description": "Notification that a channel has been destroyed." }
- asetrisk_id: string(optional): The unique ID for the Asterisk instance that raised 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.
- cause: int: Integer representation of the cause of the hangup.
- cause_txt: string: Text representation of the cause of the hangup.
- channel: Channel
Example
{ "type": "ChannelDestroyed", "timestamp": "2018-10-23T12:36:11.110+0000", "cause": 0, "cause_txt": "Unknown", "channel": { "id": "pchero-462475.572686", "name": "PJSIP/pchero-voip-00001b1f", "state": "Up", "caller": { "name": "", "number": "1337" }, "connected": { "name": "", "number": "1337" }, "accountcode": "", "dialplan": { "context": "pchero-voip", "exten": "s", "priority": 2 }, "creationtime": "2018-10-23T12:36:02.671+0000", "language": "en" }, "asterisk_id": "210445d7-73bd-456a-aef2-e0ef847bfa0f", "application": "pchero_voip" }
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." } }, "id": "ChannelDialplan", "description": "Channel changed location in the dialplan." }
- asterisk_id: string(optional): The unique ID for the Asterisk instance that raised 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.
- 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.
Example
{ "type": "ChannelDialplan", "timestamp": "2018-10-23T12:36:11.109+0000", "dialplan_app": "AppDial2", "dialplan_app_data": "(Outgoing Line)", "channel": { "id": "pchero-462475.572686", "name": "PJSIP/pchero-voip-00001b1f", "state": "Up", "caller": { "name": "", "number": "1337" }, "connected": { "name": "", "number": "1337" }, "accountcode": "", "dialplan": { "context": "pchero-voip", "exten": "s", "priority": 2 }, "creationtime": "2018-10-23T12:36:02.671+0000", "language": "en" }, "asterisk_id": "210445d7-73bd-456a-aef2-e0ef847bfa0f", "application": "pchero_voip" }
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." } }, "id": "ChannelHangupRequest", "description": "A hangup was requested on the channel." }
- asterisk_id: string (optional) - The unique ID for the Asterisk instance that raised 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.
- 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.
Example
{ "cause": 32, "soft": true, "type": "ChannelHangupRequest", "timestamp": "2018-12-02T22:11:29.118+0100", "channel": { "id": "1543785048.30", "name": "PJSIP/sippuas-0000000f", "state": "Up", "caller": { "name": "", "number": "" }, "connected": { "name": "", "number": "" }, "accountcode": "", "dialplan": { "context": "sippuas", "exten": "s", "priority": 1 }, "creationtime": "2018-12-02T22:10:48.176+0100", "language": "en" }, "asterisk_id": "08:00:27:2f:9e:d4", "application": "test" }
ChannelStateChange
Base type: Event
Notification of a channel's state change
{ "properties": { "channel": { "required": true, "type": "Channel" } }, "id": "ChannelStateChange", "description": "Notification of a channel's state change." }
- asterisk_id: string(optional): The unique ID for the Asterisk instance that raised 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.
- channel: Channel
Example
{ "type": "ChannelStateChange", "timestamp": "2018-10-23T12:36:07.628+0000", "channel": { "id": "pchero-462475.572686", "name": "PJSIP/pchero-voip-00001b1f", "state": "Ringing", "caller": { "name": "", "number": "1337" }, "connected": { "name": "", "number": "1337" }, "accountcode": "", "dialplan": { "context": "pchero-voip", "exten": "s", "priority": 1 }, "creationtime": "2018-10-23T12:36:02.671+0000", "language": "en" }, "asterisk_id": "210445d7-73bd-456a-aef2-e0ef847bfa0f", "application": "pchero_voip" }
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." } }, "id": "ChannelVarset", "description": "Channel variable changed." }
- asterisk_id: string(optional): The unique ID for the Asterisk instance that raised 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.
- channel: Channel(optional): The channel on which the variable was set.
- If missing, the variable is a global variable.
Example
{ "variable": "STASISSTATUS", "value": "", "type": "ChannelVarset", "timestamp": "2018-10-23T12:36:09.602+0000", "channel": { "id": "pchero-462475.572686", "name": "PJSIP/pchero-voip-00001b1f", "state": "Up", "caller": { "name": "", "number": "1337" }, "connected": { "name": "", "number": "1337" }, "accountcode": "", "dialplan": { "context": "pchero-voip", "exten": "s", "priority": 1 }, "creationtime": "2018-10-23T12:36:02.671+0000", "language": "en" }, "asterisk_id": "210445d7-73bd-456a-aef2-e0ef847bfa0f", "application": "pchero_voip" }
DeviceStateChanged
Represents the state of a device.
{ "properties": { "state": { "allowableValues": { "valueType": "LIST", "values": [ "UNKNOWN", "NOT_INUSE", "INUSE", "BUSY", "INVALID", "UNAVAILABLE", "RINGING", "RINGINUSE", "ONHOLD" ] }, "required": true, "type": "string", "description": "Device's state" }, "name": { "required": true, "type": "string", "description": "Name of the device." } }, "id": "DeviceState", "description": "Represents the state of a device." }
- name: string - Name of the device.
- state: string - Device's state.
Example
{ "type": "DeviceStateChanged", "application": "test", "timestamp": "2018-12-02T22:11:29.121+0100", "device_state": { "name": "PJSIP/sippuas", "state": "NOT_INUSE" }, "asterisk_id": "08:00:27:2f:9e:d4" }
Dial
Base type: Event
Dialing state has changed.
{ "properties": { "forwarded": { "required": false, "type": "Channel", "description": "Channel that the caller has been forwarded to." }, "caller": { "required": false, "type": "Channel", "description": "The calling channel." }, "dialstatus": { "required": true, "type": "string", "description": "Current status of the dialing attempt to the peer." }, "forward": { "required": false, "type": "string", "description": "Forwarding target requested by the original dialed channel." }, "dialstring": { "required": false, "type": "string", "description": "The dial string for calling the peer channel." }, "peer": { "required": true, "type": "Channel", "description": "The dialed channel." } }, "id": "Dial", "description": "Dialing state has changed." }
- asterisk_id: string(optional): The unique ID for the Asterisk instance that raised 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.
- caller: Channel(optional): The calling channel
- dialstatus: string: Current status of the dialing attempt to the peer.
- dialstring: string(optional): The dial string for calling the peer channel.
- forward: string(optional): Forwarding target requested by the original dialed channel.
- forwarded: Channel(optional): Channel that the caller has been forwared to.
- peer: Channel: The dialed channel.
Example
{ "type": "Dial", "timestamp": "2018-10-23T12:36:02.673+0000", "dialstatus": "", "forward": "", "dialstring": "pchero-voip/sip:284712939482@127.0.0.1", "peer": { "id": "pchero-462475.572686", "name": "PJSIP/pchero-voip-00001b1f", "state": "Down", "caller": { "name": "", "number": "1337" }, "connected": { "name": "", "number": "1337" }, "accountcode": "", "dialplan": { "context": "pchero-voip", "exten": "s", "priority": 1 }, "creationtime": "2018-10-23T12:36:02.671+0000", "language": "en" }, "asterisk_id": "210445d7-73bd-456a-aef2-e0ef847bfa0f", "application": "pchero_voip" }
Playback
Object representing the playback of media to a channel.
{ "properties": { "next_media_uri": { "required": false, "type": "string", "description": "If a list of URIs is being played, the next media URI to be played back." }, "target_uri": { "required": true, "type": "string", "description": "URI for the channel or bridge to play the media on" }, "language": { "type": "string", "description": "For media types that support multiple languages, the language requested for playback." }, "state": { "allowableValues": { "valueType": "LIST", "values": [ "queued", "playing", "continuing", "done" ] }, "required": true, "type": "string", "description": "Current state of the playback operation." }, "media_uri": { "required": true, "type": "string", "description": "The URI for the media currently being played back." }, "id": { "required": true, "type": "string", "description": "ID for this 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: The URI for the media currently being played back.
- next_media_uri: string(optional): If a list of URIs is being played, the next media URI to be played back.
- state: string: Current state of the playback operation.
- target_uri: string: URI for the channel or bridge to play the media on.
Example
{ "id": "1b590cfa-5880-493f-8afc-3f9dfed9022a:3f59e78f-acb2-4bd4-bcd0-23da52c1a2c2", "media_uri": "sound:https://pchero21.com/var/spool/asterisk/tts/test.wav", "target_uri": "channel:pchero-462475.572686", "language": "en", "state": "playing" }
PlaybackContinuing
Base type: Event
Event showing the continuation of a media playback operation from one media URI to the next in the list.
{ "properties": { "playback": { "required": true, "type": "Playback", "description": "Playback control object" } }, "id": "PlaybackContinuing", "description": "Event showing the continuation of a media playback operation from one media URI to the next in the list." }
- asterisk_id: string(optional): The unique ID for the Asterisk instance that raised 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.
- playback: Playback: Playback control object.
Example
{ "type": "PlaybackContinuing", "playback": { "id": "5618648a-985c-4c81-a35e-32f6135b43b9", "media_uri": "sound:https://github.com/pchero/asterisk_wavs/raw/master/pcm_samples/example_pcm16_mono_8k_short.wav", "next_media_uri": "sound:https://github.com/pchero/asterisk_wavs/raw/master/pcm_samples/example_pcm16_mono_8k_short.wav", "target_uri": "channel:test-call", "language": "en", "state": "continuing" }, "asterisk_id": "42:01:0a:84:00:12", "application": "pchero_voip" }
PlaybackFinished
Base type: Event
Event showing the completion of a media playback operation.
{ "properties": { "playback": { "required": true, "type": "Playback", "description": "Playback control object" } }, "id": "PlaybackFinished", "description": "Event showing the completion of a media playback operation." }
- asterisk_id: string(optional): The unique ID for the Asterisk instance that raised 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.
- playback: Playback: Playback control object.
Example
{ "type": "PlaybackFinished", "timestamp": "2019-03-07T21:18:53.043+0100", "playback": { "id": "5b8ea8c2-bf67-4282-9c10-55ebf37a07c1", "media_uri": "sound:https://github.com/pchero/asterisk-medias/raw/master/samples_codec/pcm_samples/example-mono_16bit_8khz_pcm.wav", "target_uri": "channel:test_call", "language": "en", "state": "done" }, "asterisk_id": "00:11:22:33:44:55", "application": "test" }
PlaybackStarted
Base type: Event
Event showing the start of a media playback operation.
{ "properties": { "playback": { "required": true, "type": "Playback", "description": "Playback control object" } }, "id": "PlaybackStarted", "description": "Event showing the start of a media playback operation." }
- aserisk_id: string(optional): The unique ID for the Asterisk instance that raised 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.
- playback: Playback: Playback control object.
Example
{ "type": "PlaybackStarted", "timestamp": "2019-03-07T21:17:56.241+0100", "playback": { "id": "5b8ea8c2-bf67-4282-9c10-55ebf37a07c1", "media_uri": "sound:https://github.com/pchero/asterisk-medias/raw/master/samples_codec/pcm_samples/example-mono_16bit_8khz_pcm.wav", "target_uri": "channel:test_call", "language": "en", "state": "playing" }, "asterisk_id": "00:11:22:33:44:55", "application": "test" }
RecordingStarted
Example
{ "type": "RecordingStarted", "recording": { "name": "test_call", "format": "wav", "state": "recording", "target_uri": "channel:test_call" }, "asterisk_id": "42:01:0a:84:00:12", "application": "pchero" }
StasisEnd
Bast type: Event
Notification that a channel has left a Stasis application.
{ "properties": { "channel": { "required": true, "type": "Channel" } }, "id": "StasisEnd", "description": "Notification that a channel has left a Stasis application." }
- asterisk_id: string(optional): The unique ID for the Asterisk instance that raised 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.
- channel: Channel
Example
{ "type": "StasisEnd", "timestamp": "2018-10-23T12:36:11.105+0000", "channel": { "id": "pchero-462475.572686", "name": "PJSIP/pchero-voip-00001b1f", "state": "Up", "caller": { "name": "", "number": "1337" }, "connected": { "name": "", "number": "1337" }, "accountcode": "", "dialplan": { "context": "pchero-voip", "exten": "s", "priority": 2 }, "creationtime": "2018-10-23T12:36:02.671+0000", "language": "en" }, "asterisk_id": "210445d7-73bd-456a-aef2-e0ef847bfa0f", "application": "pchero_voip" }
StasisStart
Base type: Event
Notification that a channel has entered a Stasis application.
{ "properties": { "args": { "required": true, "type": "List[string]", "description": "Arguments to the application" }, "replace_channel": { "required": false, "type": "Channel" }, "channel": { "required": true, "type": "Channel" } }, "id": "StasisStart", "description": "Notification that a channel has entered a Stasis application." }
- asterisk_id: string(optional): The unique ID for the Asterisk instance that raised 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.
- args: List[string]: Arguments to the application.
- channel: Channel
- replace_channel: Channel(optional)
Example
{ "type": "StasisStart", "timestamp": "2018-10-23T12:36:09.603+0000", "args": ["PCHERO_DIALED=1"], "channel": { "id": "pchero-462475.572686", "name": "PJSIP/pchero-voip-00001b1f", "state": "Up", "caller": { "name": "", "number": "1337" }, "connected": { "name": "", "number": "1337" }, "accountcode": "", "dialplan": { "context": "pchero-voip", "exten": "s", "priority": 1 }, "creationtime": "2018-10-23T12:36:02.671+0000", "language": "en" }, "asterisk_id": "210445d7-73bd-456a-aef2-e0ef847bfa0f", "application": "pchero_voip" }