Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных
  • RADIUS (Remote Authorization Dial-In User Service) - протокол безопасности, который предоставляет централизованный метод аутентификации пользователей путем обращения к внешнему серверу. Протокол RADIUS используется для аутентификации, авторизации и учета. Сервер RADIUS использует базу данных пользователей, которая содержит данные проверки подлинности для каждого пользователя. Таким образом, использование протокола RADIUS обеспечивает дополнительную защиту при доступе к ресурсам сети.

В системе поддержаны два независимых режима работы с сервером RADIUS:

  1. Работа с сервером авторизации. Данный режим реализован для аутентификации и авторизации динамических абонентов, все аутентификационные данные в этом случае хранятся на RADIUS-сервере. Используется пакет Аccess-Request.
  2. Работа с сервером учета (аккаунтинга). В этом случае для всех вызовов, совершенных через виртуальную АТС, будут отправляться запросы аккаунтинга (Accounting-Request) на RADIUS-сервер.

Описание каждого из режимов и процедуру настройки смотрите в Части 4 Руководство по управлению системой ECSS-10, раздел Настройка динамических абонентов и системы Radius.

Описание каждого RADIUS-пакета состоит из описания всех пар Атрибут-Значение (Attribute-Value Pair) для этого типа пакета. Атрибуты могут быть как стандартными, так и специфичными атрибутами вендоров (Vendor-Specific Attribute). Если значение атрибута неизвестно (например, при отсутствии исходящего транка невозможно определить значение переменной CdPN_OUT, которое используется в качестве значения некоторых атрибутов), то этот атрибут не добавляется в сообщение.

Для стандартных атрибутов описание имеет вид:

Имя атрибута (Номер атрибута): Значение атрибута

Для специфичных атрибутов вендоров описание имеет вид:

Имя атрибута (Номер атрибута): Имя вендора(Номер вендора): Имя VSA: Значение VSA

где:

  • Имя атрибута всегда Vendor-Specific;
  • Номер атрибута всегда 26;
  • Имя вендора – имя вендора;
  • Номер вендора – номер вендора, присвоенный ему организацией IANA в документе “PRIVATE ENTERPRISE NUMBERS” (http://www.iana.org/assignments/enterprise-numbers);
  • “Имя VSA” – имя атрибута вендора;
  • “Значение VSA” – значение атрибута вендора.

В качестве значения атрибута может использоваться конструкция вида <$NAME>, где NAME – это имя переменной. Описание значения переменных приведено ниже.

Пакет Аccess-Request:

NAS-IP-Address(4): <$SSW_IP>
NAS-Port(5): <$SSW_PORT>
NAS-Port-Type(61): Async(0)
Service-Type(6): Login-User(1)
Framed-Protocol(7): SLIP(2)
User-Name(1): <$CgPN_IN>
Called-Station-Id(30): <$CdPN_IN>
Calling-Station-Id(31): <$CgPN_IN>
Digest-Attributes(207 для draft-sterman, иначе атрибуты передаются как отдельные параметры 104-122)
Digest-Response (206 для draft-sterman, иначе 103)
Message-Authenticator(80): <$Auth>

В ответ на данное сообщение ожидается одно из следующих сообщений: Access-Reject - в случае, если не было дано разрешение на выполнение вызова; Access-Accept - в случае, если разрешение на выполнение вызова было получено. В сообщение Access-Accept могут присутствовать следующие атрибуты:

Acct-Interim-Interval(85): <$INTERIM_INTERVAL>
Session-Timeout(27): <$SESSION_TIMEOUT>
Vendor-Specific(26): Cisco(9): h323-credit-time(102): <$H323_CREDIT_TIME>

Стартовый пакет Accounting-Request (Start):

Acct-Status-Type(40) - Start(1)
Acct-Session-Id(44): <$SESSION_ID>
NAS-IP-Address(4): <$SSW_IP>
User-Name(1): <$CgPN_IN>
Called-Station-Id(30): <$CdPN_IN>
Calling-Station-Id(31): <$CgPN_IN>
Event-Timestamp(55): согласно RFC2869
NAS-Port-Id(87): <$SESSION_ID>
NAS-Port-Type(61): Async(0)
Acct-Delay-Time(41): согласно RFC2866
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-src-number-in=<$CgPN_IN>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-src-number-out=<$CgPN_OUT>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-dst-number-in=<$CdPN_IN>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-dst-number-out=<$CdPN_OUT>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-route-retries=<$ROUTE_RETRIES>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): h323-call-id=<$CALL_ID>
Vendor-Specific(26): Cisco(9): h323-conf-id(24): h323-conf-id=<$CALL_ID>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): escc-domain-name=<$DOMAIN>
Vendor-Specific(26): Cisco(9): h323-setup-time(25): h323-setup-time=<$TIME_SETUP>
Vendor-Specific(26): Cisco(9): h323-call-origin(26): h323-call-origin=originate
Vendor-Specific(26): Cisco(9): h323-call-type(27): h323-call-type=<$CALL_TYPE>
Vendor-Specific(26): Cisco(9): h323-connect-time(28): h323-connect-time=<$TIME_CONNECT>
Vendor-Specific(26): Cisco(9): h323-gw-id(33): h323-gw-address=<$SSW_IP>
Vendor-Specific(26): Cisco(9): h323-gw-id(33): h323-gw-id=<$SSW_IP>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): h323-remote-id=<$OutTrunkGroup>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): in-trunkgroup-label=<$InTrunkGroup>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): out-trunkgroup-label=<$OutTrunkGroup>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): in-iface=<$InIface>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): out-iface=<$OutIface>

В ответ на данное сообщение ожидается сообщение Accounting-Response, в котором может присутствовать следующий атрибут:

Vendor-Specific(26): Cisco(9): h323-credit-time(102): <$H323_CREDIT_TIME>

Промежуточный пакет Interim Accounting Request (Update):

Acct-Status-Type(40) - Start(1)
Acct-Session-Id(44): <$SESSION_ID>
NAS-IP-Address(4): <$SSW_IP>
User-Name(1): <$CgPN_IN>
Called-Station-Id(30): <$CdPN_IN>
Calling-Station-Id(31): <$CgPN_IN>
Event-Timestamp(55): согласно RFC2869
NAS-Port-Id(87): <$SESSION_ID>
NAS-Port-Type(61): Async(0)
Acct-Session-Time(46): <$INTERIM_SESSION_TIME>
Acct-Delay-Time(41): согласно RFC2866
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-src-number-in=<$CgPN_IN>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-src-number-out=<$CgPN_OUT>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-dst-number-in=<$CdPN_IN>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-dst-number-out=<$CdPN_OUT>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-route-retries=<$ROUTE_RETRIES>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): h323-call-id=<$CALL_ID>
Vendor-Specific(26): Cisco(9): h323-conf-id(24): h323-conf-id=<$CALL_ID>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): escc-domain-name=<$DOMAIN>
Vendor-Specific(26): Cisco(9): h323-setup-time(25): h323-setup-time=<$TIME_SETUP>
Vendor-Specific(26): Cisco(9): h323-call-origin(26): h323-call-origin=originate
Vendor-Specific(26): Cisco(9): h323-call-type(27): h323-call-type=<$CALL_TYPE>
Vendor-Specific(26): Cisco(9): h323-connect-time(28): h323-connect-time=<$TIME_CONNECT>
Vendor-Specific(26): Cisco(9): h323-gw-id(33): h323-gw-address=<$SSW_IP>
Vendor-Specific(26): Cisco(9): h323-gw-id(33): h323-gw-id=<$SSW_IP>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): h323-remote-id=<$OutTrunkGroup>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): in-trunkgroup-label=<$InTrunkGroup>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): out-trunkgroup-label=<$OutTrunkGroup>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): in-iface=<$InIface>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): out-iface=<$OutIface>

В ответ на данное сообщение ожидается сообщение Accounting-Response, в котором может присутствовать следующий атрибут:

Vendor-Specific(26): Cisco(9): h323-credit-time(102): <$H323_CREDIT_TIME>

Завершающий пакет Accounting-Request (Stop):

Acct-Status-Type(40) - Stop(2)
Acct-Session-Id(44): <$SESSION_ID>
NAS-IP-Address(4): <$SSW_IP>
User-Name(1): <$CgPN_IN>
Called-Station-Id(30): <$CdPN_IN>
Calling-Station-Id(31): <$CgPN_IN>
Event-Timestamp(55): согласно RFC2869
NAS-Port-Id(87): <$SESSION_ID>
NAS-Port-Type(61): Async(0)
Acct-Session-Time(46): <$SESSION_TIME>
Acct-Delay-Time(41): согласно RFC2866
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-local-disconnect-isup-cause=<DISCONNECT_CAUSE>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-src-number-in=<$CgPN_IN>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-src-number-out=<$CgPN_OUT>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-dst-number-in=<$CdPN_IN>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-dst-number-out=<$CdPN_OUT>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-route-retries=<$ROUTE_RETRIES>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): h323-call-id=<$CALL_ID>
Vendor-Specific(26): Cisco(9): h323-conf-id(24): h323-conf-id=<$CALL_ID>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): escc-domain-name=<$DOMAIN>
Vendor-Specific(26): Cisco(9): h323-setup-time(25): h323-setup-time=<$TIME_SETUP>
Vendor-Specific(26): Cisco(9): h323-call-origin(26): h323-call-origin=originate
Vendor-Specific(26): Cisco(9): h323-call-type(27): h323-call-type=<$CALL_TYPE>
Vendor-Specific(26): Cisco(9): h323-connect-time(28): h323-connect-time=<$TIME_CONNECT>
Vendor-Specific(26): Cisco(9): h323-disconnect-time(29): h323-disconnect-time=<$TIME_DISCONNECT>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(30): h323-disconnect-cause=<$LOCAL_DISCONNECT_CAUSE>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-local-disconnect-cause=<$LOCAL_DISCONNECT_CAUSE>
Vendor-Specific(26): Cisco(9): h323-gw-id(33): h323-gw-address=<$SSW_IP>
Vendor-Specific(26): Cisco(9): h323-gw-id(33): h323-gw-id=<$SSW_IP>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): h323-remote-id=<$OutTrunkGroup>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): in-trunkgroup-label=<$InTrunkGroup>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): out-trunkgroup-label=<$OutTrunkGroup>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): in-iface=<$InIface>
Vendor-Specific(26): Cisco(9): h323-remote-id(1): out-iface=<$OutIface>

Таблица 1 - Описание переменных

ПеременнаяОписание и возможные значения
$CdPN_INномер вызываемого абонента до преобразования (принятого из интерфейса)
$CdPN_OUTномер вызывающего абонента после преобразования (переданного в интерфейс)
$CgPN_INномер вызывающего абонента до преобразования (принятого из интерфейса)
$CgPN_OUTномер вызывающего абонента после преобразования (переданного в интерфейс)
$LOCAL_DISCONNECT_CAUSEпричина завершения вызова в формате системы ECSS-10, описание значений приведено в следующей таблице
$DISCONNECT_CAUSEпричина завершения вызова согласно рекомендации Q.850
$CALL_TYPEтип вызова, всегда "Telephony"
$CALL_IDидентификатор вызова
$SSW_IPIP-адрес интерфейса системы ECSS-10, аутентифицирующего пользователя
$SSW_PORTтранспортный порт интерфейса системы ECSS-10, аутентифицирующего пользователя
$ROUTE_RETRIESтекущий номер попытки, отсчёт начинается с 1 (для первой попытки, соответственно)
$SESSION_IDидентификатор сессии
$INTERIM_SESSION_TIMEвремя разговора к моменту отправки промежуточного сообщения
$SESSION_TIMEвремя продолжительности разговора
$TIME_SETUPвремя поступления инициирующего запроса во входящий интерфейс в формате hh:mm:ss.uuu t www MMM dd yyyy
$TIME_CONNECTвремя ответа вызываемой стороны в формате hh:mm:ss.uuu t www MMM dd yyyy
$TIME_DISCONNECTвремя отбоя вызова одной из сторон в формате hh:mm:ss.uuu t www MMM dd yyyy
$DOMAINимя виртуальной АТС
$Authуникальный идентификатор запроса
$InTrunkGroupимя входящей транковой группы
$OutTrunkGroupимя исходящей транковой группы
$InIfaceимя входящего интерфейса
$OutIfaceимя исходящего интерфейса
$INTERIM_INTERVALинтервал времени (в секундах), через который будут посылаться промежуточные Acct-Interim-Update сообщения. Значение должно быть не меньше 60. В случае, если на уровне домена задано свойство interim_interval (domain/DOMAIN_NAME/aaa/accounting/info), то значение $INTERIM_INTERVAL будет вычислено на основе его значения
$SESSION_TIMEOUTвыделенное время на разговор (в секундах). В случае, если время равно 0 - то вызов запрещен. -1 - вызов не ограничен
$H323_CREDIT_TIMEвыделенное время на разговор (в секундах). В случае, если время равно 0 - то вызов запрещен. -1 - вызов не ограничен. В случае, если данный параметр пришел на Acct-Interim-Update запрос, то это время на оставшуюся часть разговора

Таблица 2 – Описание внутренних системных причин разъединения, которые могут передаваться в LOCAL_DISCONNECT_CAUSE

Внутренняя причинаЗначение причины согласно рекомендации Q.850Описание
normal16нормальное разъединение
originationDenied16абоненту запрещено совершать вызов, возможно административная блокировка
authorisationFailure50ошибка авторизации
aPtyAbandon16вызывающий абонент положил трубку до ответа
invalidCollectedInformation1номер набран неверно, не найден маршрут
collectInformationFailure1ошибка сбора цифр номера, может возникнуть, когда система ожидает дополнительных цифр номера, но они не поступают до истечения таймера
aPtyDisc16разъединение по инициативе вызывающего абонента
bPtyDisc16разъединение по инициативе вызываемого абонента
routeSelectFailure1ошибка установления соединения, обычно возникает, когда все каналы в исходящем интерфейсе заняты либо от интерфейса принята ошибка
oNoAnswer34внутренняя ошибка, возникает, когда таймер ожидания ответа в плече вызывающего абонента истек, а со стороны плеча вызываемого абонента не было ни ответа, ни сообщения отбоя
terminationDenied27вызов на вызываемого абонента запрещен, например абонент заблокирован
notReachable3вызываемый абонент недоступен, например не зарегистрирован или номер не существует
bPtyNoAnswer18вызываемый абонент не отвечает
bPtyBusyUDUB17отбой по инициативе вызываемого абонента до ответа
bPtyBusyNDUB17вызываемый абонент занят
ss7Failure38ошибка на сети ОКС7
calledPartyRejected21вызов к вызываемому абоненту запрещен, например анонимный вызов на абонента с активным сервисом ACB
tException41ошибка обслуживания вызова, возникает обычно в случае системных проблем
routeFailure12ошибка маршрутизации к вызываемому абоненту по причине занятости всех каналов в исходящем транке
routeFailure22ошибка маршрутизации к вызываемому абоненту по причине занятости всех каналов направления на каком-то транзитном участке сети
conversationTimeout31возникает, когда истек таймер, ограничивающий общую продолжительность разговора
systemFailure127внутренняя неустранимая ошибка, детальное описание ошибки доступно в системном журнале

Были добавлены RADIUS атрибуты вендора:

  • xpgk-original-called-number-in - Оригинальный номер вызываемого абонента до преобразования
  • xpgk-redirected-number-in - Номер абонента который совершил переадресацию до преобразования
  • xpgk-original-called-number-out - Оригинальный номер вызываемого абонента после преобразования
  • xpgk-redirected-number-out - Номер абонента который совершил переадресацию после преобразования
  • Нет меток