есть AS53xx, раздающая диалап и терминирующая VoIP трафик из PSTN-сети через 2 порта E1 в IP-сеть.аккаунтинг и авторизация воипа производится через древненький xtradius и внешний скрипт, ходящий за логинами в mysql, на одной машинке.
авторизация и аккаунтинг диалапа производиться через радиус на другой машине.
проблема заключается в том, что несмотря на то, что Simultaneous-Use=1 в конфиге воипного радиуса указан, всё равно существует возможность авторизоваться двум пользователям одновременно. (воип-клиенты ходят по пин-кодам, через IVR)
Бегло изучив ситуацию обнаружилось, что в /var/log/radutmp ничего не пишется и соотвественно у радиуса нет никакой возможности контролировать присутствие двух и более одинаковых пользователей, одновременно авторизвавшихся в системе.
Погуглив, выяснилось что, радиусу для ведения записей в radutmp необходимо как минимум знать Nas-Port-Id, куда юзверь пришел, Acct-Session-Id, User-Name, NAS-Ip-Address и наличие старт-рекордов. Всё эти атрибуты присутствуют в радиус-пакетах, относящихся к диалапу, radutmp ведется и radwho реально отображает картину залогиненных пользователей. А вот после авторизации воипных пользователей приходят все атрибуты за исключением NAS-Port-Id, из-за которого радиус не добавляет записей в radutmp.
Прав ли я или в чем-то ошибся ? И можно ли как-то циске насильно сказать, чтобы она присылала этот пресловутый nas-port-id. или же я чего в теории не понял ? :)
IOS: ROM: System Bootstrap, Version 12.2(1r)1, RELEASE SOFTWARE (fc1)
BOOTLDR: 5400 Software (C5400-BOOT-M), Version 12.1(1)XD1, EARLY DEPLOYMENT RELEASE SOFTWARE (fc2)
кстати, на циске с иосом 12.3 почему-то при аналогично настроенной системе, за исключением наличия 2х FXS портов вместо E1, все необходимые атрибуты от циски в радиус приходят.