forum.bitel.ru http://forum.bitel.ru/ |
|
Вопрос по активации сервиса в модуле Inet. http://forum.bitel.ru/viewtopic.php?f=44&t=9157 |
Страница 1 из 1 |
Автор: | Dipress [ 15 апр 2014, 13:28 ] |
Заголовок сообщения: | Вопрос по активации сервиса в модуле Inet. |
Добрый день. Сейчас, поставлена задача написать приложение которое будет принимать платежи различного рода и добавлять их в биллинг (используя БД биллинга). Теперь по порядку. Для примера взят договор у которого статус «Отключен» и сервис в модуле Inet тоже «отключен[договор приостановлен]». Через табличку contract_payment делаем платеж, потом обновляем баланс (таблица contract_balance) и если он положительный, то выставляем статус договора как «Активен»(таблица contract, поле status). Тут вроде все просто. А вот какие надо сделать манипуляции для экземпляра модуля Inet в договоре, чтобы сервис тоже стал активным и клиент мог работать? Если я правильно понимаю то в таблице inet_serv_xx есть поля deviceState, accessCode которые имеют следующее значения - deviceState=0, accessCode=12. Через БД ставим им значения deviceState=1, accessCode=0. В таблице новые данные сохранились. Пробуем снова соединится с биллингом получаем вот такой вот лог от радиуса: Код: Authenticator: {EE 5F B1 C3 1E C9 C3 B3 16 CC 21 87 15 73 21 48} Attributes: User-Name=zig_test NAS-Identifier=smf-nas1 Tunnel-Type:0=1 NAS-IP-Address= NAS-Port=2 Service-Type=2 Framed-Protocol=1 Calling-Station-Id=172.28.230.124 NAS-Port-Type=5 Called-Station-Id= MS-CHAP2-Response={01 00 C5 DC 0B 0A 32 B0 00 A2 AD DC A0 CF F8 7A 56 05 00 00 00 00 00 00 00 00 37 CE 71 CF 42 8F C2 1C 28 D1 74 70 E3 E1 61 54 27 02 46 C8 03 85 DD 72} MS-CHAP-Challenge={03 C4 F9 0B EA 7B 8A 64 0D 1D 39 E1 EB F1 D0 CE} 04-15/10:28:48 INFO [rdsLstnr-p-8-t-3] InetNas - Search by username=zig_test 04-15/10:28:48 INFO [rdsLstnr-p-8-t-3] InetRadiusProcessor - [username=zig_test] Authenticated as inetServId:228 04-15/10:28:48 INFO [rdsLstnr-p-8-t-3] InetApplication - inetServ[id=228] deviceState not active (accessCode=12). 04-15/10:28:48 INFO [rdsLstnr-p-8-t-3] InetRadiusProcessor - Return code=12 04-15/10:28:48 INFO [rdsLstnr-p-8-t-3] InetRadiusProcessor - Т.е. радиус откуда-то все равно берет accessCode=12. Откуда не понятно. Может я что-то пропустил или не понял. Опишите, если это возможно конечно, алгоритм активации сервиса inet в договоре, что и где меняется в БД чтобы радиус перестал ругаться. |
Автор: | Amir [ 15 апр 2014, 14:52 ] |
Заголовок сообщения: | Re: Вопрос по активации сервиса в модуле Inet. |
Не стоит делать напрямую через БД. Там много что делается кроме добавления в БД. Например, отправляются события через activeMQ. Лучше воспользоваться нашим API, запуская скрипт, созданный в динамических классах. Или использовать HTTP-обрАзный протокол дилерских платежей бесплатного модуля Card. Или делать так, как делает клиент биллинга, точно не помню сейчас, там просто HTTP-запрос или Web-сервис. Или использовать загрузку платежей из файла. Или использовать один из протоколов модуля MPS. |
Автор: | Dipress [ 15 апр 2014, 16:08 ] |
Заголовок сообщения: | Re: Вопрос по активации сервиса в модуле Inet. |
Amir писал(а): Не стоит делать напрямую через БД. Там много что делается кроме добавления в БД. Например, отправляются события через activeMQ. Лучше воспользоваться нашим API, запуская скрипт, созданный в динамических классах. Или использовать HTTP-обрАзный протокол дилерских платежей бесплатного модуля Card. Или делать так, как делает клиент биллинга, точно не помню сейчас, там просто HTTP-запрос или Web-сервис. Или использовать загрузку платежей из файла. Или использовать один из протоколов модуля MPS. А как Вы тогда себе представляете интеграцию с любой платежной системой, если на прямую в БД не желательно ничего вносить? Вернее, не на прямую, а через какой-либо интерфейс который в конечном итоге вносит конечный результат в БД. В моем конкретном случае, вноситься платеж, обновляется баланс на основании этого, меняется статус договора. Как я писал выше, это все легко. Более того, этого хватало для модуля DialUp с головой. А вот под Inet какие-то свои заморочки, которые я как раз и хотел узнать от Вас, как от разработчиков. |
Автор: | Amir [ 15 апр 2014, 17:44 ] |
Заголовок сообщения: | Re: Вопрос по активации сервиса в модуле Inet. |
Цитата: А как Вы тогда себе представляете интеграцию с любой платежной системой, если на прямую в БД не желательно ничего вносить? Через один из вариантов API, как я писал выше. Обычно используют протокол модуля Card http://wiki.bitel.ru/index.php/%D0%9F%D ... 0%B5%D0%B9 , например http://wiki.bitel.ru/index.php/%D0%98%D ... D1%8F_Card или один из протоколов, поддерживаемый модулем MPS. Dialup всегда лез в базу, Inet использует кэширование. В этом разница и по этой причине простое добавление в БД или изменение в БД Inet может не увидеть без перезапуска. |
Автор: | Dipress [ 15 апр 2014, 18:10 ] |
Заголовок сообщения: | Re: Вопрос по активации сервиса в модуле Inet. |
Хорошо. Спасибо за подсказку. Будем разбираться. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |