60 lines
1003 B
Markdown
60 lines
1003 B
Markdown
# Asterisk UserEvent Contract
|
|
|
|
Track 9 uses dialplan-generated `UserEvent` frames over AMI as the stable bridge contract
|
|
between Asterisk and the platform.
|
|
|
|
The bridge listens only for `UserEvent` names starting with `MVPCC`.
|
|
|
|
## `MVPCCCallStarted`
|
|
|
|
Required fields:
|
|
|
|
- `CallID`
|
|
- `LinkedID`
|
|
- `CallerNumber`
|
|
- `CallerName`
|
|
- `QueueCode`
|
|
- `Extension`
|
|
- `Context`
|
|
- `Direction`
|
|
|
|
Example:
|
|
|
|
```text
|
|
Event: UserEvent
|
|
UserEvent: MVPCCCallStarted
|
|
CallID: 1740912000.12
|
|
LinkedID: 1740912000.12
|
|
CallerNumber: 1001
|
|
CallerName: Lab Caller
|
|
QueueCode: voice_lab
|
|
Extension: 7000
|
|
Context: from-softphones
|
|
Direction: inbound
|
|
```
|
|
|
|
## `MVPCCCallEnded`
|
|
|
|
Required fields:
|
|
|
|
- `CallID`
|
|
- `LinkedID`
|
|
- `HangupCause`
|
|
- `DurationSeconds`
|
|
|
|
## `MVPCCRecordingReady`
|
|
|
|
Required fields:
|
|
|
|
- `CallID`
|
|
- `LinkedID`
|
|
- `RemotePath`
|
|
- `FileName`
|
|
- `MimeType`
|
|
- `DurationSeconds`
|
|
|
|
Notes:
|
|
|
|
- `RemotePath` is the absolute path on the Asterisk Linux VM.
|
|
- The platform downloads the file over SFTP, then uploads it into `recording-service`.
|