Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / Asterisk & Radius

Asterisk & Radius

1 2>
Сообщений: 58

Asterisk & Radius

Доброго времени суток.
Снова подниму вопрос, который когда-то был задан.. но ничего внятного не увидено.
Стоит задача совместной работы asterisk'а с сервером RADIUS... т.е. авторизация пользователей через него, CDR в него.
Смотрел такие возможные решения как realtime, ast_data (в этих двух пока вообще нет реализации), appradius, porta..
В porta есть CDR, но так же странно... неправильно и ненадёжно.

Сейчас смотрю в сторону res_perl и самостоятельно написания этих модулей... но грустно это.
Меня сильно удивляет что нет видимой востребованности в связке с распространённым и зарекомендовавшим себя radius. Может быть я чего-то не знаю?

Пожалуйста, сообщите где я неправ.
2005-06-03 16:07

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Asterisk & Radius

Да прав ты...
Есть b2bua скрипты для Radius AAA по ANI. Смотрел?
А вообще, если есть желание плотно поработать над Radius клиентом для Asterisk, могу дать человека, которому будешь ставить ТЗ и он будет писать. Бесплатно.
Думаю, нужен следуюший IVR с AAA по Radius:
- prepaid cards
- ANI prepaid
- ANI postpaid
- ANI silent (no ivr) - для транзита.
Авторизацию можно делать по пину/номеру, так как из AGI в астере вытащить IP адреса src_ip/dst_ip сложно и через ж...

http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2005-06-04 02:54

Сообщений: 58

Re: Asterisk & Radius

вот такой же подход реализован в appradius :(
Лично для моего случая нужна именно авторизация для протокола SIP прямо на входе (регистрации) в asterisk... Ну к чему ещё запрашивать разные пин коды и внешние номера если пользователь уже авторизовался.. и набирает нужный ему номер?
Более универсально конечно их запрашивать... но в случае когда этого не нужно это очень сильно усложняет задачу пользователю.

Многие "подобные" разработки типа ejabberd с самого начала закладывают внешнюю авторизацию. Почему же этого не было сделано в asterisk?

А работать там вроде бы не так уж много.. К сожалению у меня нет большого опыта в perl'е и си (под линукс).. но строительные кирпичики есть в porta и res_perl.

К сожалению, мой опыт с realtime был невпечатляющь.. т.к. элементарные действия (просмотр списка sip show peers и звонка на offline extensions) работали не так как хотелось бы. В результате пришёл к тому, что текстовые файлы формируются по mysql базе.
Есть серьёзные опасения, что использование res_perl через realtime приведёт к тому же.
2005-06-04 12:36

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Asterisk & Radius

В SER есть поддержка радиус (тебе же SIP нужен?)
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2005-06-04 16:06

Сообщений: 58

Re: Asterisk & Radius

Не так уж давно я перепробовал несколько voip-серверов, в том числе и SER.. и некоторое время использовал связку SER-Asterisk (на двух объектах инсталляции нужен таки и h.323 для выхода в город), после отказался от SER как от явно лишнего звена..
Мне не понравился в SER довольно непростой язык и отсутствие простой произвольной работы с субд.. что-то ещё.. уже забыл.
Понравилась тогда концепция архитектуры asterisk'а.. и я остановился на нём.
Конечно возврат к связке с SER мог бы быть выходом и решением задачи.. но как-то не хочется только ради этого городить такой огород.
2005-06-04 20:49

Откуда: Vladivostok
Сообщений: 23

Re: Asterisk & Radius

нужна работа с радиусом, IVR - чтоб Asterisk отдавал все по Cisco VSA
и для транзита чтоб авторизация была по IP

в каком виде нужно ТЗ для человека?
2005-06-08 05:16

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Asterisk & Radius

Человек - программер, поэтому тонкостей VoIP не знает.
Но знает нутро астериск и IVR.
Думаю что ТЗ должно дать ему максимум информации, готовой к кодированию.

Пример:

Конфигурация prepaid callings cards. Необходимо запросить пин код, проверить пин код в базе. Если пин совпадает, получить остаток на счете и предложить вветси номер. Если не ПИН неверен, запросить его еще 2 раза и повесить трубку. Подсчитать сколько абонент может говорить в данном направлении, сказать ему это. Установить максимальную продолжительность разговора в соотв. с деньгами на счете и направлением, позвонить. После завершения разговора обновить состояние счета в соотв. с разговором.

Для решения данной задачи использовать radius запросы access-request и accounting-request в виде:

1) Проверка ПИНА:


1 Code = Access-Request (1)
1 ID = 3 (Note that this changes.)
2 Length = 67
16 Request Authenticator

Attributes:
7 User-Name = "mopsy"
18 User-Password
6 NAS-IP-Address (4) = 192.168.1.16
6 NAS-Port (5) = 7
10 State (24)

Точный лог не нашел, просто пример. Должны быть описаны атрибуты отправляемые и получаемые и что с ними делать.

Ну и так далее...
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2005-06-09 14:50

Откуда: Москва
Сообщений: 135

Re: Asterisk & Radius

Aquar
в каком виде нужно ТЗ для человека?
litnimax
Пример:

Конфигурация prepaid callings cards. Необходимо запросить пин код, проверить пин код в базе. Если пин совпадает, получить остаток на счете и предложить вветси номер. Если не ПИН неверен, запросить его еще 2 раза и повесить трубку. Подсчитать сколько абонент может говорить в данном направлении, сказать ему это. Установить максимальную продолжительность разговора в соотв. с деньгами на счете и направлением, позвонить. После завершения разговора обновить состояние счета в соотв. с разговором.
При таком описании ТЗ желательно сразу в виде скрипта
2005-06-09 16:54

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Asterisk & Radius

Ну вот и напишите...
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2005-06-09 17:16

Сообщений: 58

Re: Asterisk & Radius

Поделюсь своим опытом решения поставленной задачи.
Прикрутил res_perl к asterisk.. Для этого пришлось пересобрать perl с многопоточностью.. (не есть хорошо - нестандартная поставка пакета).
В итоге, очень просто сделать cdr и realtime (users и extensions) на perl с взятием данных откуда угодно. Например, из того же radius сервера.
Недостатки:
1. Как и у любого realtime пользователи реально не осядают в данных asterisk'а и посмотреть их и их состояние средствами asterisk не получается :(
2. Обновил asterisk-addons cvs и заметил что res_perl теперь в него не включается... нету его теперь нигде.
2005-06-20 13:28

1 2>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru