VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Применение конфигурации FreePBX

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Sanek
Сообщения: 81
Зарегистрирован: 17 май 2012, 14:55

Применение конфигурации FreePBX

Сообщение Sanek »

Всем привет. Имеется астер 1.8.15.0 и пбх 2.10.1.2 Написал скрипт, который мониторит звонки по транкам и в случае какого либо сбоя должен транки отключать.
Суть моего скрипта заключается в следующем: он просматривает CDR записи в БД по каждому транку, и если пошли звонки с нулевой длительностью он отключает транк. Транк я отключаю путем изменения информации в БД, так вот FreePBX эти изменения видит, но посит нажать кнопочку "применения конфигов".
Вопрос к спецам: как автоматизировать применение конфига прямо из РНР скрипта (желательно с кусочком кода).
SVoy
Сообщения: 953
Зарегистрирован: 31 авг 2010, 10:24

Re: Применение конфигурации FreePBX

Сообщение SVoy »

открываете код странички с кнопкой применить и смотрите что выполняет данная кнопка. Потом копируете этот кусок кода в ваш пхп-скрипт
Готов к труду и обороне!
http://svoy.in.ua - для своих
Sanek
Сообщения: 81
Зарегистрирован: 17 май 2012, 14:55

Re: Применение конфигурации FreePBX

Сообщение Sanek »

Запуск retrieve_conf результата не дает.
При ковырянии РВХ заметил следующее: изменение БД нужного результата не приносит. Действительно, при открытии странички параметров транка РВХ показывает, что якобы транк выключен, даже показывает кнопочку применения конфигов, при нажатии на которую происходит релоад конфигов. Но сам астер транк не отключает. Нужно страничку открыть, нажать кнопку "сохранить" и потом применить конфиг - тогда транк астером отключится.

В общем пока буду ковырять код РВХ, а если у кого появятся мысли буду рад помощи.
Sanek
Сообщения: 81
Зарегистрирован: 17 май 2012, 14:55

Re: Применение конфигурации FreePBX

Сообщение Sanek »

switch, на счет функции need_reload наверное Вы ошиблись. Пока нашел только строку в БД с таким именем имеющую параметр enable disable. Эта переменная отвечает за вывод кнопки "применить конфиг".

При ковырянии кода понял следующее: всё крутится вокруг config.php
Вызов странички с транком: config.php?display=trunks&extdisplay=OUT_id (id - номер транка в БД)
Применение конфига: config.php?handler=reload

В общем стоит такая задача:
1)вызвать страничку с транком (см. выше) и сохранить изменения (пока не знаю как)
2)применить изменения (config.php?handler=reload)

На сегодня у меня пока всё, завтра продолжу муч... ковыряние кода.

P.S. Если будут мысли - пишите. Буду очень благодарен и с удовольствием поделюсь своим скриптом (мож кому пригодится ;) )
ded
Сообщения: 15626
Зарегистрирован: 26 авг 2010, 19:00

Re: Применение конфигурации FreePBX

Сообщение ded »

Sanek писал(а):Суть моего скрипта заключается в следующем: он просматривает CDR записи в БД по каждому транку, и если пошли звонки с нулевой длительностью он отключает транк.
Изучите как работает fail2ban, он делает именно то же самое: анализирует любой лог, который подсунуть, и по установленной частоте любого события (например - неправильный логин smtp) заносит ИП в черный список. Может модифицировать fail2ban для задачи отключения транков? Записи CDR можно для удобства кроме БД выгружать также в CSV для анализа fail2ban.
Samael28
Сообщения: 1057
Зарегистрирован: 08 янв 2011, 18:32
Откуда: Киев
Контактная информация:

Re: Применение конфигурации FreePBX

Сообщение Samael28 »

А если просто в системе выполнить amportal restart?
Мой профайл на Upwork
Sanek
Сообщения: 81
Зарегистрирован: 17 май 2012, 14:55

Re: Применение конфигурации FreePBX

Сообщение Sanek »

ded писал(а):Изучите как работает fail2ban
Он блочит по айпишнику, а если на одном айпи несколько транков?
Sanek
Сообщения: 81
Зарегистрирован: 17 май 2012, 14:55

Re: Применение конфигурации FreePBX

Сообщение Sanek »

Samael28 писал(а):А если просто в системе выполнить amportal restart?
Если не ошибаюсь (если ошибаюсь - поправьте) amportal рестартит ядро астера полностью, в связи с этим будут разорваны текущие звонки (либо затянется время на рестарт), в случае если идет поток - это не приемлемо.
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: Применение конфигурации FreePBX

Сообщение zzuz »

Веб-фрейморк использует для применения конфигурации скрипт
/var/lib/asterisk/bin/module_admin reload

, а не retrieve_conf .
Линия24 - Системы Массового Телефонного Обслуживания
Sanek
Сообщения: 81
Зарегистрирован: 17 май 2012, 14:55

Re: Применение конфигурации FreePBX

Сообщение Sanek »

В дополнение к моему посту http://forum.asterisk.ru/viewtopic.php? ... 396#p27040

Суть моего скрипта заключается в следующем:
На астере поднято много транков на разные направления и на разных пользователей (астер работает в роли sip-прокси для пробития nat). Иногда транки "падают", т.е. через них начинают идти звонки с нулевой длительностью; так вот мой скрипт отслеживает такое поведение транка и его отключает. Так же в некоторых случаях бывает необходимость через определенные транки пропустить не более какого-то количества минут, при достижении которого транк необходимо вырубить.
Так же в моем скрипте есть админка, зайдя в которую под своим логином-паролем юзверь видит параметры только своих транков (префикс канала и статус). Если какой-то из его каналов отключен (это видно в админке, так же указывается дата и время отключения) юзеру достаточно проверить канал (исправить) и нажать на спец. ссылку для его включения - остальное должен делать скрипт.

Для включения-отключения транков у меня возникла мысль (сегодня к астеру доступ ограничен, так что ее проверю завтра): Как я понял, РВХ должна конфиги из БД перенести в астеровские конфиги. Так что попробую допилить свой скрипт, что бы переписать файлы конфигов для транков (как это делает РВХ) и выполнить retrieve_conf.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH