Вопрос уже поднимался, но очень давно и ответы на него ситуацию не прояснили.
В
документации сказано:
Цитата:
При принятии решении о доступе пользователя к услуге по субдоговору используется остаток на едином балансе и лимит субдоговора.
Получается, чтобы сервисы на субдоговорах были включены и абонент мог подключаться, нужно чтобы лимит на всех субдоговорах был меньше исходящего остатка на основном договоре, при этом лимит основного договора можно оставить равным нулю. Например, на супер договоре нет сервисов и тарифов, приходы и расходы отсутсвуют. На субдоговоре 1 стоит тариф 900 руб./мес, а на субдоговоре 2 - 1500 руб./мес. В результате исходящий остаток на супер договоре равен -2400 и на суб договорах нужно выставить лимит -2400 руб. Создаём нужные договоры в биллинге и при попытке подключения в логах:
Код:
InetApplication - inetServ[id=36441] balance is out of limit: -2400.00 [0]
Т. е. поведение биллинга не соответствует тому, что написано в документации. При подключении проверяется лимит и баланс только супер договора.
Экспериментируем дальше и заново создаём договоры только теперь на супер договоре устанавливаем лимит -2500 руб., а на субдоговорах оставляем нулевые лимиты. Пробуем подключиться и в логах видим:
Код:
inetServ[id=36443] balance ok: -2400.00 [-2500.00]
Т. е. лимит субдоговоров никак не учитывается.
Продолжаем эксперимент и делаем лимиты на субдоговорах -700 и -1000 соответсвенно. И тут происходит неожиданное - сервисы переходят в состояние "Отключен" и, как следствие, подключиться уже не получится. Теперь вручную включим сервисы, попробуем подключиться и успешно подключаемся.
Получается, что определение состояния сервиса работает по одному алгоритму, а возможность подключения клиента - по другому. Что интересно, при заведении субдоговоров с нулевым лимитом, сервисы сразу не переходят в состояние "Отключен" и клиент может полноценно работать.
Дальше попробуем изменить лимиты на -1000 и -1600 соответственно (лимиты больше наработки). Как результат, сервисы опять отключились. При ручном их включении подключиться опять можно.
Ну и на последок, делаем лимиты -2500 на обоих субдоговорах - сервисы переходят в состояние "Включен", подключение проходит успешно.
В общем, вопросы в следующем:
Как всё-таки должны влиять лимиты на супер и субдоговорах на состояние сервиса и на возможность авторизации?
Почему в примерах выше состояние сервиса и возможность авторазиции определяются разными методами?
Почему при создании субдоговоров с лимитом 0 сервисы не отключаются.
P. S. Всё это не теоретические изыскания а следствие реальной проблемы: при уменьшении лимита или приходе платежа сервисы на субдоговорах отключаются и абонент перестаёт работать. Причём субдоговоры используются только у юриков, соответственно, несколько юриков уже пострадали.