====== Мониторинг состояния линий ====== [[:faq|Обратно к перечню инструкций]]\\ \\ При работе с поставщиками услуг связи периодически могут возникать проблемы. К примеру сервер поставщика не отвечает / не доступен. В рамках данной статьи будет предложен механизм оповещения на email системного администратора. - Создайте новое "[[:dialplan-applications|Приложение диалплан]]" - Укажите произвольное название, к примеру **Blacklist** - Выберите "**Тип кода**" - "**PHP AGI Скрипт**" - Укажите короткий номер для приложения, к примеру 99 - На вкладке "**Программный код**" вставьте: 'getRegistry']); $adminMail = null; $localIP = ''; $message = ''; foreach ($result->data as $provider) { if ($provider['state'] !== 'OFF' && $provider['state'] !== 'REGISTERED') { if ($adminMail === null) { $adminMail = PbxSettings::getValueByKey('SystemNotificationsEmail'); $interfaces = LanInterfaces::find("disabled='0'"); foreach ($interfaces as $interface) { if (!empty($interface->ipaddr)) { $localIP = $interface->ipaddr; break; } } } $message .= "Provider state: {$provider['state']}
" . "Url (local): http://{$localIP}/admin-cabinet/providers/modifysip/{$provider['id']}

"; } } if (!empty($message) && !empty($adminMail)) { $notify = new Notifications(); try { $notify->sendMail($adminMail, 'Provider invalid state...', $message); } catch (\Throwable $e) { } }
- Сохраните изменения и скопируйте идентификатор приложения из адресной строки браузера, он имеет вид "**DIALPLAN-APP-A13D9FEC**" - Перейдите в раздел **Система** -> **Кастомизация системных файлов**, откройте для редактирования файл **/var/spool/cron/crontabs/root** - Выберите режим **"Добавлять в конец файла"**, внизу в черное поле для редактирования вставьте следующие строки: */5 * * * * /usr/bin/php -f /var/lib/asterisk/agi-bin/DIALPLAN-APP-A13D9FEC.php start > /dev/null 2> /dev/null - Скорректируйте имя файла согласно вашему идентификатору приложения "**DIALPLAN-APP-A13D9FEC**" Для работы оповещений потребуется настроить SMTP клиент. См. инструкции в разделе "[[:mail-settings|Почта и уведомления]]" [[:faq|Обратно к перечню инструкций]]\\ \\