Re: Написание Radius клиента в Asterisk
Есть функция
RadAuthen(varretcode[&varamt][|[uname]&upass][|nas_ip&client_ip])
ей передается логин, пассворд и необязательные
ip ацесс сервера и клиента. Вообще, логин и пассворд
тоже необязательны, она их сама пытается взять
из параметров логинящегося блочка.
Если же логин и пассворд передаются параметрами,
то они имеют приоритет.
Перед этой функцией примените допустим, Read() для
ввода пароля и передайте его RadAuthen()
По возврату заполняются переменные, имена котрых
были переданы.
В общем, используя функции диалплана можно написать
любые макро.
В поставке есть примеры макро с аутентификацией по параметрам
блочка и по вводу пароля клиентом.
Аналогично работает RadAuthorize() плюс ей передается
дестинейшен номер и она возвращает дополнительно
максимальное время.
Вызовы Радиуса аналогично формату Циско.
При работе через гейткипер, дополнительно к сейшен ID
астериска передается сейшен ID гейткипера для увязки
себестоимости вызова через провайдера, выбранного
гейткипером.
|