Asterisk (AMI interface): настройка SMDR и формат CDR
На этой странице описано, как получить записи о вызовах (SMDR/CDR) от Asterisk (AMI interface) в Advanced PBX Data Logger: параметры подключения, выбор парсера и 15 полей, которые логгер извлекает для отчётов или базы данных. Настройки относятся к нашему логгеру; другие программы тарификации могут требовать иной конфигурации.
Кратко
| Параметр | Asterisk (AMI interface) |
|---|---|
| Интерфейс | Локальная сеть. АТС принимает подключение на TCP-порт 5038; логгер подключается к IP-адресу АТС. |
| Порт | 5038 |
| Парсер | Asterisk (AMI interface) |
| Извлекаемых полей | 15 |
Настраиваемая конфигурация
Введение
Asterisk Manager Interface (AMI) представляет собой модель клиент/сервер поверх TCP. С помощью manager-интерфейса вы сможете управлять АТС, инициировать вызовы, проверять статус почтовых ящиков, отслеживать каналы и очереди, а также выполнять команды Asterisk.
AMI — это стандартный интерфейс управления вашим сервером Asterisk. AMI настраивается в файле manager.conf. По умолчанию AMI доступен на TCP-порту 5038, если вы включите его в manager.conf.
Решение
Вам нужно изменить/создать файл 'cdr_manager.conf' в каталоге /etc/asterisk/. Чтобы включить CDR через Manager API, необходимо включить его в cdr_manager.conf:
; ; Asterisk Call Management CDR ; [general] enabled = yes
После сохранения файла нужно войти в Asterisk CLI. Из CLI необходимо перезагрузить модуль cdr_manager.so. Выполните следующее:
module reload cdr_manager.so
Если появляется ошибка, что модуль не загружен, загрузите этот модуль:
module load cdr_manager.so
Затем, чтобы убедиться, что модуль загружен, введите:
cdr show status
Вы должны увидеть что-то вроде этого:
pbx*CLI> cdr show status Call Detail Record (CDR) settings ---------------------------------- Logging: Enabled Mode: Simple Log unanswered calls: No Log congestion: No * Registered Backends ------------------- cdr_manager Adaptive ODBC cdr-custom
Настройки PBX Data Logger
Логгер должен работать в режиме TCP-клиента. АТС постоянно прослушивает порт 5038, поэтому необходимо указать x.x.x.x:5038, где x.x.x.x — IP-адрес вашей АТС (например, 10.0.0.150).
Настройка логгера в режиме TCP клиента
Наша программа должна работать в режиме TCP клиента. Это означает, что логгер сам инициирует подключение с АТС, которая работает в режиме сервера. Добавьте один или несколько IP адресов вашей АТС (Asterisk [AMI interface]). Номер порта должен соответствовать номеру порта, установленному в настройках АТС или производителем (в этом примере - 5038).
1. Добавьте новую конфигурацию с источником данных типа TCP, если не сделали это ранее.

2. Настройте параметры TCP подключения как показано ниже.
![Режим TCP клиента - Asterisk [AMI interface]](/pbx/shared/tcp-client-mode.png)
192.168.1.220
5038
192.168.1.220:5038
Выбор правильного модуля-парсера для Asterisk (AMI interface)

Asterisk (AMI interface)
Asterisk (AMI interface)
Данные, извлекаемые PBX Data Logger
| Описание | Тип данных | Имя колонки |
|---|---|---|
| Код абонента | string | ACC |
| Конечный number | string | DIALED_PHONE |
| Caller ID Name | string | FLAG1 |
| Вызывающий телефон | string | CALLER_PHONE |
| Тип звонка | string | CALL_TYPE |
| Направление | string | DIRECTION |
| Линия | string | TRUNK |
| Расширение | string | EXT |
| Время звонка | datetime | CALL_TIME |
| Длительность звонка (sec) | integer | CALL_DURATION_S |
| Длительность звонка | datetime | CALL_DURATION |
| Total duration (sec) | integer | TOTAL_DURATION_S |
| Длительность ожидания ответа (с) | integer | RING_S |
| Длительность ожидания ответа | datetime | RING |
| Идентификатор вызова | string | FLAG2 |
Пример записи
Запись в том виде, в каком её выдаёт система; телефонные номера, имена и внешние адреса скрыты.
Event: Cdr Privilege: cdr,all AccountCode: Source: 514xxxxxxx Destination: 701 DestinationContext: ext-group CallerID: "514xxxxxxx" <514xxxxxxx> Channel: SIP/DigiumGateway-000xxxxx DestinationChannel: SIP/221-000xxxxx LastApplication: Dial LastData: UCX/200@200&SIP/221,20,trM(auto-blkvm) StartTime: 2018-12-20 08:04:09 AnswerTime: EndTime: 2018-12-20 08:04:29 Duration: 20 BillableSeconds: 0
Отчёты и база данных
Полученные записи логгер сохраняет в текстовый файл, в любую базу данных через ODBC в реальном времени или передаёт в утилиту PBX Reports, которая строит ручные, запланированные и отправляемые по e-mail отчёты и имеет встроенный веб-сервер. Настройка базы данных описана в статье о записи истории звонков в базу данных.
Похожие системы Asterisk
Aristel AV38Aristel AV38 (DD MM)
Asterisk (CSV)
Asterisk (Master CSV)
Все поддерживаемые АТС
Замечание: Продукты и компании, указанные здесь используются только для обозначения и идентификации, и могут быть торговыми и/или зарегистрированными марками соответствующих компаний.
Advanced PBX Data Logger, связанные темы:
здесьПоследовательный интерфейс RS232 разводка и сигналы Кабели и сигналы Кабели мониторинга данных