forum.bitel.ru
http://forum.bitel.ru/

Отключение абонентов на АТС через скрипт.
http://forum.bitel.ru/viewtopic.php?f=10&t=13539
Страница 1 из 1

Автор:  Eug [ 04 фев 2020, 15:11 ]
Заголовок сообщения:  Отключение абонентов на АТС через скрипт.

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

Автор:  skn [ 04 фев 2020, 17:05 ]
Заголовок сообщения:  Re: Отключение абонентов на АТС через скрипт.

нет такого механизма, если только планировщике периодически запускать задачу по поиску тех кто выработал лимит.

Автор:  zavndw [ 04 фев 2020, 22:07 ]
Заголовок сообщения:  Re: Отключение абонентов на АТС через скрипт.

Только скриптом, проверять остаток минут и отключать когда минут нет. А если они появляются, надо включать

Автор:  Cromeshnic [ 05 фев 2020, 08:11 ]
Заголовок сообщения:  Re: Отключение абонентов на АТС через скрипт.

Нужен скрипт планировщика 100%.
Объёмы проще всего задавать через параметр объекта договора (либо число напрямую, либо списоковый параметр с объёмом). Но можно и по id тарифа.

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

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

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

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/