Поддержка Radius в Asterisk (документ незавершённый)

Skip to end of metadata
Go to start of metadata

Поддержка Radius в Asterisk (документ незавершённый)

  • Asterisk SVN res_auth branch
  • [FreeRadius] 2.0.5
  • radiusclient-ng 0.5.6

    Введение

    Исторически Radius можно было получить двумя способами:

  • через pam_radius module для [FreeRadiu]
  • через radiusclient-ng, форк 2003 года Максима Соболева от [FreeRadius] для поддержки SER.
    На протяжении последних лет оба проекта развивались параллельно, с перекрестными слияниями кода (merges). Однако, в 2008 годы было решено объединить оба проекта, и прекратить развитие radiusclient-ng.
  • http://wiki.freeradius.org/Radiusclient
  • Актуальную информацию по поддержке Radius в Asterisk можно найти в файле docs/radius.txt пакета Asterisk.

Установка

Необходимо установить 3 компонента:

  • Radius сервер (freeradius). Для работы с Asterisk требуется freeradius с модулем Digest.
  • Radius клиента (библиотека radiusclient-ng)
  • поддержку в Asterisk

    Настройка radiusclient-ng

    Конфигурационные файлы:

  • /etc/radiusclient-ng/radiusclient.conf, параметры authserver и acctserver
  • /etc/radiusclient-ng/servers, сервер и разделяемый пароль.

    Настройка [FreeRadius]

  • Файл /etc/raddb/clients.conf, описание сервера localhost.

    Настройка Asterisk

    После установки radius сервера и клиента надо пересобрать asterisk (./configure && make menuconfig).

Authentication

Accounting

Вот такие значения Asterisk передает в Radius сервер:

  • "Asterisk-Acc-Code", The account name of detail records
  • "Asterisk-Src",
  • "Asterisk-Dst",
  • "Asterisk-Dst-Ctx", The destination context
  • "Asterisk-Clid",
  • "Asterisk-Chan", The channel
  • "Asterisk-Dst-Chan", (if applicable)
  • "Asterisk-Last-App", Last application run on the channel
  • "Asterisk-Last-Data", Argument to the last channel
  • "Asterisk-Start-Time",
  • "Asterisk-Answer-Time",
  • "Asterisk-End-Time",
  • "Asterisk-Duration", Duration is the whole length that the entire call lasted. ie. call rx'd to hangup "end time" minus "start time"
  • "Asterisk-Bill-Sec", The duration that a call was up after other end answered which will be <= to duration "end time" minus "answer time"
  • "Asterisk-Disposition", ANSWERED, NO ANSWER, BUSY
  • "Asterisk-AMA-Flags", DOCUMENTATION, BILL, IGNORE etc, specified on a per channel basis like accountcode.
  • "Asterisk-Unique-ID", Unique call identifier
  • "Asterisk-User-Field" User field set via [SetCDRUserField]
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.