Назначение
Функционал:
Подключается к Asterisk через AMI (Asterisk Manager Interface).
Получает список активных правил (
rules_list) для текущей даты.Для каждого правила:
Получает список пользователей, которым нужно совершить звонок.
Проверяет временные рамки правила (
TIME_STARTиTIME_END).Совершает звонок через
Originate, используя аудиофайл (Playback).Обновляет статус пользователя:
1(успешно), если звонок поставлен в очередь.2(ошибка), если звонок не удался.
Фильтрует правила для текущей даты:
Проверяет диапазон дат (
date_startиdate_end).Обрабатывает ежемесячные правила (
EVERY_MONTH).Сбрасывает статус пользователей на
0(ожидание) при начале нового цикла.
Обновляет список пользователей для правил:
Удаляет старых пользователей (
del_user).Добавляет новых на основе SQL-запроса (
add_users_by_rule).Поддерживает ежедневное (
update_day='*') и выборочное обновление (например, раз в месяц).
Запуск:
# Стандартный запуск для обработки правил звонков /usr/abills/libexec/billd ring_cp DEBUG=2 # Обновление списка пользователей для правил /usr/abills/libexec/billd ring_cp CMD=users DEBUG=3
Сценарии работы:
Подключается к Asterisk через AMI.
Для каждого активного правила (
rules_list) вызывает пользователей (rule_users).Совершает звонки (
Originate), воспроизводя аудиофайлы (Playback).Обновляет статусы пользователей (1 — успешно, 2 — ошибка).
Обновляет список пользователей для правил на основе SQL-запросов.
Описания параметров конфигурации (config.pl) или модуля Config
| Параметр | Пример | Описание |
|---|---|---|
| ASTERISK_AMI_IP | 192.168.1.100 | IP Asterisk AMI |
| ASTERISK_AMI_PORT | 5038 | Порт AMI |
| ASTERISK_AMI_USERNAME | admin | Логин AMI |
| ASTERISK_AMI_SECRET | password | Пароль AMI |
| ASTERISK_CALLERID | 107 | Caller ID |
| TPL_DIR | /var/lib/asterisk/sounds/ | Путь к аудиофайлам |
Дополнительная информация
ring_cp.pm: Для мобильных номеров (
CELL_PHONE).ring_p.pm: Для стационарных номеров (
PHONE).ring.pm: Базовая версия с настройками по умолчанию.