| Автоматические звонки пользователям через Asterisk. |
Подключается к 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-запросов.
| Параметр | Пример | Описание |
|---|---|---|
| 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: Базовая версия с настройками по умолчанию.