BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 05 дек 2021, 21:01

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 04 фев 2020, 15:11 
Не в сети

Зарегистрирован: 13 окт 2017, 12:51
Сообщения: 1
Карма: 0
Доброго времени!
Подскажите возможность реализовать фичу - отключение номеров (пойнтов) в договоре через скрипт.
Задача - на пойнт вешается тариф например с пакетом 200 минут, при достижении этих 200 мин в bgbilling срабатывает скрипт, который по ssh подключается к IP-АТС и вводит пару команд на отключение этого номера.
Посмотрев - https://docs.bitel.ru/pages/viewpage.ac ... d=43386256 , ясность не пришла как это организовать, тк там это дело привязано к статусу договора.
Как это организовать?!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 фев 2020, 17:05 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4482
Откуда: Уфа, Россия
Карма: 186
нет такого механизма, если только планировщике периодически запускать задачу по поиску тех кто выработал лимит.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 фев 2020, 22:07 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2644
Откуда: Парагвай
Карма: 69
Только скриптом, проверять остаток минут и отключать когда минут нет. А если они появляются, надо включать


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 фев 2020, 08:11 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Нужен скрипт планировщика 100%.
Объёмы проще всего задавать через параметр объекта договора (либо число напрямую, либо списоковый параметр с объёмом). Но можно и по id тарифа.

Главное: если вы скриптом будете напрямую ходить и отключать номера, это будет в обход логики шлюзов, елси она у вас есть.
Поэтому правильнее написать скрипт шлюза, который будет отключать/включать номер. Это пригодится для любых отключений, например по статусу.

Дальше можно поступить 2 способами:
1. Скрипт в планировщике ставит на договор статус "приостановлен" или другой специально для этого предназначенный статус ("отключен по лимиту"), если нужно прописать, чтобы в этом статусе ничего не работало, но абонка снималась например.
Тогда статус договора сменит статус шлюза Phone и отработает скрипт шлюза.
2. В самом скрипте шлюза проверять выполнение условий лимита и выключать номера, даже если состояние шлюза "отключен". Но это дорого - нужно делать запросы на проверку лимита. Кроме того, это неочевидно при диагностике: заходит техподдержка на договор, а там статус договора и шлюза "активен"/"открыт", а номер не работает.

ps. Мы у себя пошли всё равно по 2 пути, но с доработками:
1. Задача планировщика делает тяжёлые запросы на проверку лимитов.
2. Если кого-то нужно отключить, то ставим галку "отключен по лимиту" в объекте с лимитами и "дёргаем" шлюз Phone
3. В теле скрипта на шлюзе Phone проверяется галка и номер отключается, если есть галка, независимо от состояния шлюза.
4. Чтобы визуально видеть, что номера отключены, в интерфейсе номера подсвечиваются красным, если есть объект с включенной галкой.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.079s | 28 Queries | GZIP : On ]