* и radius
Добрый день!
Вот надумал смарганить взаимодействие asterisk'а с radius'ом БЕЗ патча на сам asterisk!
К сожалению мои познания radius'а не очень велики, но небольшую биллинговую систему для аналоговой cisco и radius'а я делал.
Если я правильно понимаю, взаимодействие должно включать: start, alive и stop -запросы к radius'у.
Если сделать AGI скрипт, который обращается к radius'у (start), вызывает Dial, а по его завершению (опция 'g') обращается к radius'у (stop) выйдет половина дела.
Нужно еще решить вопрос с alive, с которыми проблема из-за того, что Dial не прерывается, пока работает.
Вторая проблема -- "прибить" Dial, если средства исчерпались.
Тут я не знаю не то, чтобы как это можно реализовать (прибить Dial, точнее канал, можно через Monitor), а как биллинг посредством radius'а собирается сообщить клиенту, что хватит ему болтать.
По поводу решения первой проблемы с alive есть мысль -- AGI скрипт может в другом треде посылать alive на radius сервер.
Хотя проще это реализовать по таймеру -- конечно это мое мнение, т.к. с тредами я работать не умею. ;)
Но тут возникает еще одна проблема -- как узнать, что Dial уже установил соединение?!! Опять лезть через monitor?
Короче говоря, хотелось бы услышать мнение других умудренных опытом господ. ;)
|