Популярные статьи
- Почему скорость 4G/LTE интернета может быть низкой?
1623 просмотра
- 💰 Как проверить баланс
1096 просмотра
- Как правильно набирать номер телефона?
555 просмотра
- 🔌📞Как подключить телефонный номер к ВАТС
447 просмотра
Каталог событий MCN Telecom - часть 2
События (вебхуки и триггеры), которые платформа MCN Telecom отправляет на адрес (URL) клиента. Единый envelope для всех событий, один channel = один event_type.
Часть 2
Часть 1 смотрите здесь:
Часть 3 смотрите здесь;
Часть 4 смотрите здесь;
Часть 5 смотрите здесь;
Часть 6 смотрите здесь
Operations
VpbxReceiveFax - ВАТС: Получение факса
ВАТС: Получение факса
Событие: Получение факса
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
callerID | string | ✓ | ID звонящего (номер телефона) |
accountId | string | ✓ | Номер ЛС |
vpbxId | string | ✓ | Номер Виртуальной АТС |
callId | string | ✓ | Идентификатор звонка |
did | string | ✓ | Номер телефона |
rsid | string | ✓ | Параметр факса rsid |
pages | string | ✓ | Количество страниц полученного факса |
speed | string | ✓ | Скорость передачи факса |
ecm | string | ✓ | Параметр факса ecm |
result | string | ✓ | Результат получения факса |
timestamp | string | ✓ | Время создания события |
eventType | string | ✓ | Тип события |
linkedId | string | ✓ | ID связанного звонка |
dateReceived | string | ✓ | Момент получения события (локальное время сервера) |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 0,
"event_type": "string",
"created_at": "2019-08-24T14:15:22Z",
"idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1",
"data": {
"callerID": "string",
"accountId": "string",
"vpbxId": "string",
"callId": "string",
"did": "string",
"rsid": "string",
"pages": "string",
"speed": "string",
"ecm": "string",
"result": "string",
"timestamp": "string",
"eventType": "string",
"linkedId": "string",
"dateReceived": "string"
}
}
SpeechKitDialog - ВАТС: Реплика элемента «Вопрос-Ответ»
ВАТС: Реплика элемента «Вопрос-Ответ»
Событие: Транскрибация отдельной фразы диалога
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
linkedid | string | ✓ | ID связанного звонка; объединяет все плечи одного вызова |
link_uniqueid_term | string | ✓ | uniqueId принимающей стороны связанного звонка |
speechkit_id | number | ✓ | Уникальный ID блока «Вопрос-Ответ» |
speechkit_dialog_id | number | ✓ | ID события |
eventType | string | ✓ | Тип события |
dialog_value | string | ✓ | Содержание диалога |
server_id | number | ✓ | Внутренний ID сервера, обработавшего событие |
accountId | number | ✓ | Номер лицевого счёта |
vpbx_id | number | ✓ | Номер ВАТС |
number | string | ✓ | Номер звонящего |
account_id | number | ✓ | Номер ЛС |
dialog_type | string | ✓ | Тип диалога |
uniqueid | string | ✓ | Уникальный ID call-leg, формат {systemName}-{timestamp}.{seq} |
event_time | string | ✓ | Дата события |
did | number | ✓ | Номер, на который звонили |
vpbxId | number | ✓ | Номер ВАТС |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "SpeechKitDialog",
"created_at": "2026-07-01T18:38:08.575Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"linkedid": "125-1782920236.12168312",
"link_uniqueid_term": "125-1782920236.12168312-1782920287-1",
"speechkit_id": 2739,
"speechkit_dialog_id": 5357377,
"eventType": "SpeechKitDialog",
"dialog_value": "Назовите пожалуйста цель звонка. Новый клиент! Действующий! Или другое!",
"server_id": 32,
"accountId": 10001,
"vpbx_id": 280,
"number": "196",
"account_id": 10001,
"dialog_type": "question",
"uniqueid": "125-1782920255.12168482",
"event_time": "2026-07-01T15:38:07.542103Z",
"did": 30337,
"vpbxId": 280
}
}
FwCallEnd - ВАТС: Завершение переадресации звонка
ВАТС: Завершение переадресации звонка
Событие: Окончание переадресованного звонка
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
connectedLineNum | string | ✓ | Номер собеседника, с которым установлено соединение (Connected Line); может содержать доп. параметры через * |
userEventType | string | ✓ | Дублирует event_type — тип события на уровне AMI UserEvent |
channel | string | ✓ | Имя канала Asterisk (SIP/PJSIP, Local и др.) |
privilege | string | ✓ | Уровень логирования/видимости события в Asterisk AMI |
dest | string | ✓ | Куда звонили |
exten | string | ✓ | Extension диалплана, где сработало событие (для входящих обычно s) |
channelState | number | ✓ | Код состояния Asterisk-канала (см. channelStateDesc) |
callerIdNum | string | ✓ | Номер вызывающего абонента (Caller ID number) |
file | string | ✓ | Название файла записи разговора, если запись сохранена |
systemName | string | ✓ | Идентификатор Asterisk-сервера (номер хаба) |
dateReceived | string | ✓ | Момент получения события (локальное время сервера) |
record | string | ✓ | Наличие записи: 1 — есть, 0 — нет |
context | string | ✓ | Контекст события |
callerID | string | ✓ | ID звонящего (номер телефона) |
event | string | ✓ | Дублирует event_type — служебное поле Asterisk UserEvent |
billsec | string | ✓ | Длительность звонка после ответа |
timestamp | number | ✓ | Время создания события |
callId | string | ✓ | Идентификатор звонка |
linkedId | string | ✓ | ID связанного звонка |
answered | string | ✓ | Был ли отвечен звонок: 0 или 1 |
callerNumber | string | ✓ | Номер звонящего абонента |
connectedLineName | string | ✓ | Имя/номер собеседника в Connected Line (см. connectedLineNum) |
dateReceivedAtUTC | string | ✓ | Время получения события Kafka-коннектором в UTC, до микросекунд; дублирует dateReceived |
eventType | string | ✓ | Тип события |
internalNumber | string | ✓ | Внутренний номер |
priority | number | ✓ | Приоритет текущего шага диалплана Asterisk |
accountId | number | ✓ | Номер ЛС |
channelStateDesc | string | ✓ | Расшифровка channelState (например Up, Ring, Down) |
did | string | ✓ | Номер телефона |
uniqueId | string | ✓ | Уникальный ID call-leg, формат {systemName}-{timestamp}.{seq} |
vpbxId | string | ✓ | Номер Виртуальной АТС |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "FwCallEnd",
"created_at": "2026-07-01T11:39:17.586Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"connectedLineNum": "79000000003",
"userEventType": "FwCallEnd",
"channel": "Local/+79000000012@redirlch-0002dcb4;1",
"privilege": "user,all",
"dest": "79000000012",
"exten": "s",
"channelState": 6,
"callerIdNum": "5189",
"file": "20260701-113908-79000000003-5189-125178289514811994644",
"systemName": "125",
"dateReceived": "Jul 1, 2026, 11:39:17 AM",
"record": "1",
"context": "vpbx-signal-fw-call-hangup-handler",
"callerID": "79000000003",
"event": "FwCallEnd",
"billsec": "1",
"timestamp": 1782895157,
"callId": "125-1782895148.11994644",
"linkedId": "125-1782895148.11994644",
"answered": "1",
"callerNumber": "79000000003",
"connectedLineName": "79000000003",
"dateReceivedAtUTC": "2026-07-01 08:39:17.366897",
"eventType": "FwCallEnd",
"internalNumber": "5189",
"priority": 6,
"accountId": 10001,
"channelStateDesc": "Up",
"did": "79000000013",
"uniqueId": "125-1782895148.11994650",
"vpbxId": "280"
}
}
Record_upload_done - Загружен файл записи разговора
Загружен файл записи разговора
Событие: Завершение загрузки файла записи разговора
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
callId | string | ✓ | Идентификатор звонка |
linkedId | string | ✓ | ID связанного звонка |
accountId | number | ✓ | Номер лицевого счёта |
fileName | string | ✓ | Название файла |
eventType | string | ✓ | Тип события |
id | string | ✓ | ID события |
type | string | ✓ | Тип |
vpbxId | string | ✓ | Номер ВАТС |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "record_upload_done",
"created_at": "2026-07-01T22:01:22.196Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"callId": "125-1782932380.12198910",
"linkedId": "125-1782932380.12198910",
"accountId": 10001,
"fileName": "20260701-215940-79000000002-79000000001-125178293238012198910",
"data": {
"callId": "125-1782932380.12198910",
"fileName": "20260701-215940-79000000002-79000000001-125178293238012198910",
"eventVersion": 2,
"numA": "79000000002",
"type": "call",
"transcribationLanguage": "ru_RU",
"eventTs": 1782932482063,
"callType": "vpbx",
"numB": "79000000001",
"accountId": 10001,
"transcribationProfile": "",
"transcribationProvider": "yandex",
"transcribation": 1,
"eventName": "record_upload_done",
"vpbxId": "280"
},
"eventType": "record_upload_done",
"id": "563d7a43-90c2-4e97-96ae-c26071b9dec9",
"type": "external_event",
"vpbxId": "280"
}
}
QUEUE_LINK_END - Завершение звонка в очереди
Завершение звонка в очереди
Когда завершается звонок в очереди QUEUE_LINK_END, приходит одно событие на всю очередь.
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
linkedid | string | ✓ | ID связанного звонка; объединяет все плечи одного вызова |
cid_num | string | ✓ | Номер вызывающего (CallerID Num, служебное поле Asterisk CEL) |
eventtime | number | ✓ | Unix-время события в микросекундах, формат Asterisk CEL |
peeraccount | string | ✓ | Код лицевого счёта второй стороны соединения |
eventType | string | ✓ | Тип события |
exten | string | ✓ | Extension диалплана, где сработало событие (для входящих обычно s) |
accountId | string | ✓ | Номер ЛС |
userdeftype | string | ✓ | Пользовательский подтип Asterisk CEL; дублирует event_type |
appname | string | ✓ | Диалплан-приложение Asterisk, создавшее событие (например CELGenUserEvent) |
userfield | string | ✓ | Служебное поле userfield канала Asterisk CEL |
cid_rdnis | string | ✓ | RDNIS — номер переадресовавшей стороны, если был редирект |
peer | string | ✓ | Внутренний ID второй стороны звонка (Asterisk CEL peer) |
cid_dnid | string | ✓ | DNID — номер, на который был направлен вызов |
cid_ani | string | ✓ | ANI — номер, определённый АТС/оператором как исходный |
context | string | ✓ | Контекст события |
cid_name | string | ✓ | Имя вызывающего (CallerID Name, служебное поле Asterisk CEL) |
channame | string | ✓ | Имя канала Asterisk |
eventtype | string | ✓ | Дублирует event_type (нижний регистр, Asterisk CEL) |
id | number | ✓ | Внутренний числовой ID CEL-записи Asterisk |
amaflags | number | ✓ | Флаг тарификации вызова в Asterisk (AMA flag) |
accountcode | string | ✓ | Account code канала; обычно совпадает с account_id, может быть пустым |
uniqueid | string | ✓ | Уникальный ID call-leg, формат {systemName}-{timestamp}.{seq} |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "QUEUE_LINK_END",
"created_at": "2026-07-01T21:33:02.689Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"linkedid": "125-1782930757.12197527",
"cid_num": "79000000008",
"eventtime": 1782930781582635,
"peeraccount": "",
"eventType": "QUEUE_LINK_END",
"exten": "h",
"accountId": "10001",
"userdeftype": "QUEUE_LINK_END",
"appname": "CELGenUserEvent",
"userfield": "280",
"cid_rdnis": "",
"peer": "",
"cid_dnid": "79000000009",
"extra": {
"callid": "125-1782930757.12197527",
"queue_name": "тест2026",
"queue": "124",
"queue_id": "18796",
"scenario_id": "23799",
"status": "LOST"
},
"cid_ani": "79000000008",
"context": "queue",
"cid_name": "[124] 79000000008",
"channame": "SIP/sip-node1-000fa748",
"eventtype": "QUEUE_LINK_END",
"id": 1204108275,
"amaflags": 15,
"accountcode": "10001",
"uniqueid": "125-1782930757.12197527"
}
}
QueueCallEnd - Завершение звонка в очереди
Завершение звонка в очереди
Событие QueueCallEnd приходит на каждого абонента в очереди, т.е будет на 10 номеров в очереди придет 10 событий.
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
callId | string | ✓ | Идентификатор звонка |
queueId | null | ✓ | ID очереди ВАТС |
answered | string | ✓ | Был ли отвечен звонок: 0 или 1 |
callerNumber | string | ✓ | Номер звонящего |
dateReceivedAtUTC | string | ✓ | Время получения события Kafka-коннектором в UTC, до микросекунд; дублирует dateReceived |
eventType | string | ✓ | Тип события |
startGeneralTime | number | ✓ | Unix-время начала звонка до постановки в очередь |
internalNumber | string | ✓ | Внутренний номер оператора |
duration | number | ✓ | Длительность вызова/сессии, секунды |
accountId | number | ✓ | Номер ЛС |
durationWaiting | number | ✓ | Время ожидания ответа/в очереди, секунды |
file | string | ✓ | Название файла записи разговора, если запись сохранена |
queueName | string | ✓ | Название очереди ВАТС, через которую проходил звонок |
record | string | ✓ | Наличие записи: 1 — есть, 0 — нет |
billsec | string | ✓ | Длительность звонка после ответа |
did | string | ✓ | Номер оператора |
uniqueID | string | ✓ | Уникальный ID call-leg, формат {systemName}-{timestamp}.{seq} |
queue | string | ✓ | Очередь |
whoAnswered | boolean | ✓ | Признак того, что именно этот агент ответил на звонок |
timestamp | number | ✓ | Время создания события |
vpbxId | string | ✓ | Номер Виртуальной АТС |
✓— обязательное поле;—— необязательное.
**Пример:** Payload
```json
{
"account_id": 10001,
"event_type": "QueueCallEnd",
"created_at": "2026-07-01T22:01:20.486Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"callId": "125-1782932380.12198910",
"queueId": null,
"answered": "0",
"callerNumber": "79000000002",
"dateReceivedAtUTC": "2026-07-01 19:01:17.951205",
"eventType": "QueueCallEnd",
"startGeneralTime": 1782932380,
"internalNumber": "181",
"duration": 97,
"accountId": 10001,
"durationWaiting": 97,
"file": "0",
"queueName": "SupportQueue",
"record": "0",
"billsec": "0",
"did": "79000000001",
"uniqueID": "125-1782932412.12198975",
"queue": "302",
"whoAnswered": false,
"timestamp": 1782932477,
"vpbxId": "280"
}
}
QUEUE_LINK_START - Начало звонка в очереди
Начало звонка в очереди
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
linkedid | string | ✓ | ID связанного звонка; объединяет все плечи одного вызова |
cid_num | string | ✓ | Номер вызывающего (CallerID Num, Asterisk CEL) |
eventtime | number | ✓ | Unix-время события в микросекундах, формат Asterisk CEL |
peeraccount | string | ✓ | Код лицевого счёта второй стороны соединения |
eventType | string | ✓ | Тип события |
exten | string | ✓ | Extension диалплана, где сработало событие (для входящих обычно s) |
accountId | string | ✓ | Номер ЛС |
userdeftype | string | ✓ | Пользовательский подтип Asterisk CEL; дублирует event_type |
appname | string | ✓ | Приложение Asterisk, создавшее событие (например CELGenUserEvent) |
userfield | string | ✓ | Служебное поле userfield канала Asterisk CEL |
cid_rdnis | string | ✓ | RDNIS — номер переадресовавшей стороны, если был редирект |
peer | string | ✓ | Внутренний ID второй стороны звонка (Asterisk CEL peer) |
cid_dnid | string | ✓ | DNID — номер, на который был направлен вызов |
cid_ani | string | ✓ | ANI — номер, определённый АТС/оператором как исходный |
context | string | ✓ | Контекст события |
cid_name | string | ✓ | Имя вызывающего (CallerID Name, Asterisk CEL) |
channame | string | ✓ | Имя канала Asterisk |
eventtype | string | ✓ | Дублирует event_type (нижний регистр, Asterisk CEL) |
id | number | ✓ | Внутренний числовой ID CEL-записи Asterisk |
amaflags | number | ✓ | Флаг тарификации вызова в Asterisk (AMA flag) |
accountcode | string | ✓ | Account code канала; обычно совпадает с account_id, может быть пустым |
uniqueid | string | ✓ | Уникальный ID call-leg, формат {systemName}-{timestamp}.{seq} |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "QUEUE_LINK_START",
"created_at": "2026-07-01T21:32:38.898Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"linkedid": "125-1782930757.12197527",
"cid_num": "79000000008",
"eventtime": 1782930758210580,
"peeraccount": "",
"eventType": "QUEUE_LINK_START",
"exten": "s",
"accountId": "10001",
"userdeftype": "QUEUE_LINK_START",
"appname": "CELGenUserEvent",
"userfield": "280",
"cid_rdnis": "",
"peer": "",
"cid_dnid": "79000000009",
"extra": {
"callid": "125-1782930757.12197527",
"queue_name": "тест2026",
"queue": "124",
"queue_id": "18796",
"scenario_id": "23799"
},
"cid_ani": "79000000008",
"context": "queue",
"cid_name": "79000000008",
"channame": "SIP/sip-node1-000fa748",
"eventtype": "QUEUE_LINK_START",
"id": 1204108120,
"amaflags": 15,
"accountcode": "10001",
"uniqueid": "125-1782930757.12197527"
}
}
QueueCallStart - Начало звонка через очередь
Начало звонка через очередь
Событие: Начало звонка на очереди
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
linkedID | string | ✓ | ID связанного звонка |
channel | string | ✓ | Имя канала Asterisk (SIP/PJSIP, Local и др.) |
privilege | string | ✓ | Уровень логирования/видимости события в Asterisk AMI |
startGeneralTime | number | ✓ | Unix-время начала звонка до постановки в очередь |
exten | string | ✓ | Extension диалплана, где сработало событие (для входящих обычно s) |
appData | string | ✓ | Служебные параметры приложения Asterisk (сырая строка) |
callerIDani | string | ✓ | ANI — номер, определённый АТС/оператором как исходный |
callerIdNum | string | ✓ | Номер вызывающего абонента (Caller ID number) |
systemName | string | ✓ | ID Asterisk-сервера (номер хаба) |
peer | string | ✓ | Внутренний ID второй стороны звонка (Asterisk CEL peer) |
dateReceived | string | ✓ | Момент получения события (локальное время сервера) |
extra | string | ✓ | JSON-строка с дополнительными данными события (Asterisk CEL) |
eventTime | string | ✓ | Время CEL-события, формат YYYY-MM-DD HH:MM:SS |
context | string | ✓ | Контекст события |
eventName | string | ✓ | Имя CEL-события, например PREDIAL_AGENT_CALLED |
callerIDdnid | string | ✓ | DNID — номер, на который был направлен вызов |
event | string | ✓ | Дублирует event_type — служебное поле Asterisk UserEvent |
callerIDrdnis | string | ✓ | RDNIS — номер переадресовавшей стороны, если был редирект |
uniqueID | string | ✓ | Уникальный ID call-leg, формат {systemName}-{timestamp}.{seq} |
timestamp | number | ✓ | Время создания события |
callId | string | ✓ | Номер звонка |
accountCode | string | ✓ | Account code канала; обычно совпадает с account_id, может быть пустым |
callerNumber | string | ✓ | Номер звонящего |
dateReceivedAtUTC | string | ✓ | Время получения Kafka-коннектором в UTC, до микросекунд; дублирует dateReceived |
eventType | string | ✓ | Тип события |
internalNumber | string | ✓ | Внутренний номер оператора |
accountId | number | ✓ | Номер ЛС |
peerAccount | string | ✓ | Код лицевого счёта второй стороны соединения |
queueName | string | ✓ | Название очереди ВАТС |
application | string | ✓ | Приложение Asterisk, сгенерировавшее событие |
userField | string | ✓ | Служебное поле userfield канала Asterisk CEL |
callerIdName | string | ✓ | Имя вызывающего абонента, если передано АТС/оператором |
queue | string | ✓ | Очередь |
did | string | ✓ | Номер оператора |
amaFlags | string | ✓ | Флаг тарификации Asterisk (AMA flag), например DOCUMENTATION |
vpbxId | string | ✓ | Номер Виртуальной АТС |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "QueueCallStart",
"created_at": "2026-07-01T22:00:13.023Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"linkedID": "125-1782932380.12198910",
"channel": "SIP/70000040-000fa7c7",
"privilege": "call,all",
"startGeneralTime": 1782932380,
"exten": "s",
"appData": "PREDIAL_AGENT_CALLED,sipdevice,SIP/sip-node1-000fa7c1,416,6616,10001,280,193.242.105.39,55627,mobile,09876f14-76e1-6a45-639c-f177ae897897,006a4563-bc00-800b-a244-47d04dd17241",
"callerIDani": "70000040",
"callerIdNum": "70000040",
"systemName": "125",
"peer": "",
"dateReceived": "Jul 1, 2026, 10:00:12 PM",
"extra": "{\"extra\":\"sipdevice,SIP/sip-node1-000fa7c1,416,6616,10001,280,193.242.105.39,55627,mobile,09876f14-76e1-6a45-639c-f177ae897897,006a4563-bc00-800b-a244-47d04dd17241\"}",
"eventTime": "2026-07-01 22:00:12",
"context": "queue-predial-handler",
"eventName": "PREDIAL_AGENT_CALLED",
"callerIDdnid": "",
"event": "CEL",
"callerIDrdnis": "",
"uniqueID": "125-1782932412.12198980",
"timestamp": 1782943212,
"callId": "125-1782932380.12198910",
"headers": {},
"accountCode": "10001",
"callerNumber": "79000000002",
"dateReceivedAtUTC": "2026-07-01 19:00:12.539676",
"eventType": "QueueCallStart",
"internalNumber": "416",
"accountId": 10001,
"peerAccount": "10001",
"queueName": "SupportQueue",
"application": "CELGenUserEvent",
"userField": "",
"callerIdName": "70000040",
"queue": "302",
"did": "79000000001",
"amaFlags": "DOCUMENTATION",
"vpbxId": "280"
}
}
QueueAgentCalled - Начало звонка на внутренний номер в очереди
Начало звонка на внутренний номер в очереди
Событие: Начало звонка на внутренний номер в очереди
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
callerNum | string | ✓ | Номер звонящего |
connectedLineNum | string | ✓ | Номер собеседника (Connected Line); может содержать доп. параметры через * |
userEventType | string | ✓ | Дублирует event_type — тип события AMI UserEvent |
channel | string | ✓ | Имя канала Asterisk (SIP/PJSIP, Local и др.) |
memberName | string | ✓ | Имя того, кому звонили |
callerChan | string | ✓ | Имя канала звонящего агента |
privilege | string | ✓ | Уровень логирования/видимости события в Asterisk AMI |
exten | string | ✓ | Extension диалплана, где сработало событие (для входящих обычно s) |
callerName | string | ✓ | Имя звонящего |
channelState | number | ✓ | Код состояния Asterisk-канала (см. channelStateDesc) |
callerIdNum | string | ✓ | Номер вызывающего абонента (Caller ID number) |
systemName | string | ✓ | ID Asterisk-сервера (номер хаба) |
dateReceived | string | ✓ | Момент получения события (локальное время сервера) |
eventTime | string | ✓ | Время CEL-события, формат YYYY-MM-DD HH:MM:SS |
context | string | ✓ | Контекст события |
event | string | ✓ | Дублирует event_type — служебное поле Asterisk UserEvent |
linkedId | string | ✓ | ID связанного звонка |
connectedLineName | string | ✓ | Имя/номер собеседника в Connected Line (см. connectedLineNum) |
dateReceivedAtUTC | string | ✓ | Время получения Kafka-коннектором в UTC, до микросекунд; дублирует dateReceived |
eventType | string | ✓ | Тип события |
priority | number | ✓ | Приоритет текущего шага диалплана Asterisk |
accountId | number | ✓ | Номер лицевого счёта |
peerAccount | string | ✓ | Код лицевого счёта второй стороны соединения |
queueNumber | string | ✓ | Номер в очереди |
coreUserId | string | ✓ | Внутренний ID пользователя/сотрудника (агента) ВАТС |
channelStateDesc | string | ✓ | Расшифровка channelState (например Up, Ring, Down) |
queue | string | ✓ | Очередь |
uniqueId | string | ✓ | Уникальный ID call-leg, формат {systemName}-{timestamp}.{seq} |
vpbxId | string | ✓ | Номер ВАТС |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "QueueAgentCalled",
"created_at": "2026-07-01T22:00:12.724Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"callerNum": "79000000002",
"connectedLineNum": "79000000002",
"userEventType": "QueueAgentCalled",
"channel": "SIP/71977930-000fa7c4",
"memberName": "181",
"callerChan": "SIP/sip-node1-000fa7c1",
"privilege": "user,all",
"exten": "s",
"callerName": "[302] 79000000002",
"channelState": 0,
"callerIdNum": "71977930",
"systemName": "125",
"dateReceived": "Jul 1, 2026, 10:00:12 PM",
"eventTime": "2026-07-01 22:00:12",
"context": "queue-predial-handler",
"event": "QueueAgentCalled",
"linkedId": "125-1782932380.12198910",
"connectedLineName": "[302] 79000000002",
"dateReceivedAtUTC": "2026-07-01 19:00:12.474839",
"eventType": "QueueAgentCalled",
"priority": 36,
"accountId": 10001,
"peerAccount": "10001",
"queueNumber": "302",
"coreUserId": "111241",
"channelStateDesc": "Down",
"callerIdName": "71977930",
"queue": "6616",
"uniqueId": "125-1782932412.12198975",
"vpbxId": "280"
}
}
QueueCallAnswer - Ответ на звонок через очередь
Ответ на звонок через очередь
Событие: Звонок был отвечен в очереди
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
queueId | string | ✓ | ID очереди ВАТС |
connectedLineNum | string | ✓ | Номер собеседника (Connected Line); может содержать доп. параметры через * |
userEventType | string | ✓ | Дублирует event_type — тип события AMI UserEvent |
channel | string | ✓ | Имя канала Asterisk (SIP/PJSIP, Local и др.) |
privilege | string | ✓ | Уровень логирования/видимости события в Asterisk AMI |
exten | string | ✓ | Extension диалплана, где сработало событие (для входящих обычно s) |
channelState | number | ✓ | Код состояния Asterisk-канала (см. channelStateDesc) |
callerIdNum | string | ✓ | Номер вызывающего абонента (Caller ID number) |
systemName | string | ✓ | ID Asterisk-сервера (номер хаба) |
dateReceived | string | ✓ | Момент получения события (локальное время сервера) |
context | string | ✓ | Контекст события |
startTime | number | ✓ | Unix-время начала звонка/ответа |
callerID | string | ✓ | ID звонящего (номер телефона) |
event | string | ✓ | Дублирует event_type — служебное поле Asterisk UserEvent |
timestamp | number | ✓ | Время события |
callId | string | ✓ | ID звонка (Call_id) |
linkedId | string | ✓ | ID связанного звонка |
callerNumber | string | ✓ | Номер звонящего |
connectedLineName | string | ✓ | Имя/номер собеседника в Connected Line (см. connectedLineNum) |
dateReceivedAtUTC | string | ✓ | Время получения Kafka-коннектором в UTC, до микросекунд; дублирует dateReceived |
eventType | string | ✓ | Тип события |
internalNumber | string | ✓ | Внутренний номер оператора, на который поступил звонок |
priority | number | ✓ | Приоритет текущего шага диалплана Asterisk |
accountId | number | ✓ | Номер лицевого счёта |
durationWaiting | number | ✓ | Время ожидания звонка |
queueName | string | ✓ | Название очереди ВАТС |
coreUserId | string | ✓ | Внутренний ID пользователя/сотрудника (агента) ВАТС |
channelStateDesc | string | ✓ | Расшифровка channelState (например Up, Ring, Down) |
callerIdName | string | ✓ | Имя вызывающего абонента, если передано АТС/оператором |
did | string | ✓ | Телефонный номер оператора (DID, на который поступил звонок) |
queue | string | ✓ | ID очереди |
uniqueId | string | ✓ | Уникальный ID call-leg, формат {systemName}-{timestamp}.{seq} |
vpbxId | string | ✓ | Номер Виртуальной АТС |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "QueueCallAnswer",
"created_at": "2026-07-01T20:32:47.586Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"queueId": "6616",
"connectedLineNum": "79000000017",
"userEventType": "QueueCallAnswer",
"channel": "SIP/70000040-000fa4b6",
"privilege": "user,all",
"exten": "s",
"channelState": 6,
"callerIdNum": "416",
"systemName": "125",
"dateReceived": "Jul 1, 2026, 8:32:47 PM",
"context": "signal-queue-member-answer",
"startTime": 1782927155,
"callerID": "79000000017",
"event": "QueueCallAnswer",
"timestamp": 1782927167,
"callId": "125-1782927123.12191322",
"linkedId": "125-1782927123.12191322",
"callerNumber": "79000000017",
"connectedLineName": "[302] 79000000017",
"dateReceivedAtUTC": "2026-07-01 17:32:47.235915",
"eventType": "QueueCallAnswer",
"internalNumber": "416",
"priority": 6,
"accountId": 10001,
"durationWaiting": 12,
"queueName": "SupportQueue",
"coreUserId": "169479",
"channelStateDesc": "Up",
"callerIdName": "70000040",
"did": "79000000032",
"queue": "302",
"uniqueId": "125-1782927155.12191423",
"vpbxId": "280"
}
}
Также см.:
Каталог событий MCN Telecom - часть 1;
Каталог событий MCN Telecom - часть 3;
Каталог событий MCN Telecom - часть 4;
Каталог событий MCN Telecom - часть 5;
Каталог событий MCN Telecom - часть 6