Jump to content
Калькуляторы

Freeradius+mvts разрыв сессий (звонков)

Мне необходимо реализовать разрыв сессий (звонков) на Mera VTS средствами freeradius. Сессии должны разрываться по окончании средств на счете клиента. Подскажите можно ли реализовать это с помощью добавления атрибута h323-credit-time в пакеты аккаунтинга. Если можно, то как их туда засунуть? Я их и так и сяк пытался.

Если предложеный мною способ неверен, подскажите как это реализовать? Или придется перехватывать пакеты отдельной программой (скриптом)?

Share this post


Link to post
Share on other sites

Неуж-то никто так и не подскажет в какую сторону копать? Должно же быть нечто подобное Exec-Program-Wait, только для аккаунтинга. Простите если вопрос покажется вам глупым, но я не нашел ни одного упоминания об этом.

Share this post


Link to post
Share on other sites
Мне необходимо реализовать разрыв сессий (звонков) на Mera VTS средствами freeradius. Сессии должны разрываться по окончании средств на счете клиента. Подскажите можно ли реализовать это с помощью добавления атрибута h323-credit-time в пакеты аккаунтинга. Если можно, то как их туда засунуть? Я их и так и сяк пытался.

Если предложеный мною способ неверен, подскажите как это реализовать? Или придется перехватывать пакеты отдельной программой (скриптом)?

Ошибка терминологии :)

Не аккаунтинга а авторизации.

У меня этот атрибут понимают все используемое железо и софт то есть стандарт де факто(смотри в самом конце). С мерой не работал. Это лог с циски.

 

Dec 4 10:58:14.922 UKR: RADIUS(002D541F): Send Access-Request to 10.0.3.1:1645 id 1645/23, len 217

Dec 4 10:58:14.922 UKR: RADIUS: authenticator 18 0A 14 A3 C2 58 82 4E - AB 0E B1 19 9C 14 3B 0F

Dec 4 10:58:14.922 UKR: RADIUS: User-Name [1] 12 "XXXXXXXX"

Dec 4 10:58:14.922 UKR: RADIUS: User-Password [2] 18 *

Dec 4 10:58:14.922 UKR: RADIUS: Vendor, Cisco [26] 56

Dec 4 10:58:14.922 UKR: RADIUS: Conf-Id [24] 50 "h323-conf-id=FDF867A1 DFE911DE 9A7DC0B2 BFBB5BAA"

Dec 4 10:58:14.922 UKR: RADIUS: Vendor, Cisco [26] 31

Dec 4 10:58:14.922 UKR: RADIUS: Cisco AVpair [1] 25 "in-intrfc-desc=Asterisk"

Dec 4 10:58:14.922 UKR: RADIUS: Vendor, Cisco [26] 42

Dec 4 10:58:14.922 UKR: RADIUS: Cisco AVpair [1] 36 "h323-ivr-out=transactionID:1439254"

Dec 4 10:58:14.922 UKR: RADIUS: Calling-Station-Id [31] 12 "XXXXXXXXXX"

Dec 4 10:58:14.922 UKR: RADIUS: Called-Station-Id [30] 14 "XXXXXXXXX"

Dec 4 10:58:14.922 UKR: RADIUS: Service-Type [6] 6 Login [1]

Dec 4 10:58:14.922 UKR: RADIUS: NAS-IP-Address [4] 6 10.0.3.5

Dec 4 10:58:14.950 UKR: RADIUS: Received from id 1645/23 10.0.3.1:1645, Access-Accept, len 210

Dec 4 10:58:14.954 UKR: RADIUS: authenticator 19 8E 1D 23 01 0C 82 84 - 10 41 0F 14 69 A6 D7 43

Dec 4 10:58:14.954 UKR: RADIUS: Service-Type [6] 6 Login [1]

Dec 4 10:58:14.954 UKR: RADIUS: Framed-IP-Address [8] 6 255.255.255.255

Dec 4 10:58:14.954 UKR: RADIUS: Vendor, Cisco [26] 28

Dec 4 10:58:14.954 UKR: RADIUS: h323-billing-model [109] 22 "h323-billing-model=0"

Dec 4 10:58:14.954 UKR: RADIUS: Vendor, Cisco [26] 32

Dec 4 10:58:14.954 UKR: RADIUS: h323-credit-amount [101] 26 "h323-credit-amount=57.90"

Dec 4 10:58:14.954 UKR: RADIUS: Vendor, Cisco [26] 63

Dec 4 10:58:14.954 UKR: RADIUS: h323-prompt-id [104] 57 "h323-prompt-id=2,piatdesat,sem,rubley,devianosto,kopeek"

Dec 4 10:58:14.954 UKR: RADIUS: Vendor, Cisco [26] 26

Dec 4 10:58:14.954 UKR: RADIUS: h323-return-code [103] 20 "h323-return-code=0"

Dec 4 10:58:14.954 UKR: RADIUS: Vendor, Cisco [26] 29

Dec 4 10:58:14.954 UKR: RADIUS: h323-credit-time [102] 23 "h323-credit-time=7200"

Share this post


Link to post
Share on other sites

Вот именно, что мне как-то нужно отправить его вместе c accounting-access. Для контроля длины звонка, хотя может я чушь несу, в Мере вроде не разрешено в пакетах аккаунтинга еще что-то отправлять.

П.С. Параметр h323-credit-time в пакетах авторизации у меня тоже с Мерой тоже не сработал.

 

Если в пакеты accounting-access нельзя ничего своего добавить, то нужно будет самому следить за длиной звонка и отправлять disconnect-message?

Share this post


Link to post
Share on other sites

h323-credit-time посылайте в ответ на аутентификацию (авторизацию)

Share this post


Link to post
Share on other sites

В общем-то мера ни в какую не хочет работать с h323-credit-time. Игнорирует, наверное. Теперь пробую работать с сообщениями disconnect. Делаю по мануалу - отправляю в запросе h323-conf-id, однако мера посылает меня с сообщениями disconnect-nack. Разделяемый секрет верный, пробовал с разным сочетанием параметров, но результат все равно нулевой. Может кто работал в этой области, подскажет с какой стороны копать?

 

Все параметры берутся из базы данных. Сообщения отправляются с помощью radclient.

cat packet.txt | radclient -x -S secret.txt X.X.X.X:1646 disconnect
Sending Disconnect-Request of id 127 to X.X.X.X port 1646
        User-Name = "111"
        h323-conf-id = "32671B0030D59C108000000C299B117E"
rad_recv: Disconnect-NAK packet from host X.X.X.X port 1646, id=127, length=20

Share this post


Link to post
Share on other sites

А вы задайте вопрос разработчику, умеет ли Мера этот функционал или нет.

Share this post


Link to post
Share on other sites

Вопрос действительно надо задавать разработчикам.

До версии 3.1.3, включительно - h323-credit-time отрабатывается нормально, начиная с 3.1.4 - нет и даже в доке отсутствует.

 

Share this post


Link to post
Share on other sites
ichbinkubik

aaa pod server ?

Да. Что-то в этом роде. По официальным докам работал, но ничего у меня не получилось.

Версия меры 3.1.2.

Share this post


Link to post
Share on other sites

h323-credit-time нужно посылать в ответ на ARQ.

На MVTS 3.1.3 - отрабатывает, проверенно.

Принудительно дропать звонок можно только через консоль MVTS.

Т.е. биллинг выдёт событие, из pgsql/oracle триггера, например, а внешний скрипт дропает звонок, посылая соответствующие команды в консоль MVTS.

Штатных средств дропнуть звонок через RADIUS accounting - нет.

 

Edited by Deac

Share this post


Link to post
Share on other sites

Понятно, т.е. то что написано в доках о Disconnect-message - относится только к новым версиям Меры?

Share this post


Link to post
Share on other sites

За новые версии - не могу сказать их на тест перестали давать (

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this