Структура взаимодействия основных частей модуля VoicеIP изображена на рисунке
NAS (Network Access Server) - сервер, через который происходит звонок клиента. В роли NASа могут выступать специализированные компьютеры типа Cisco или любое другое оборудование поддерживающее Radius.
Обрабатываются следующие виды Radius-запросов:
- авторизационный(access),
- accounting(start/stop/update)
Обрабатываются 3 типа запросов: авторизационный, старт и стоп.
Базовые сведения о протоколе RADIUS и конфигурировании атрибутов.
Протокол RADIUS основан на UDP, представляет из себя пакет определённого типа с набором атрибутов. Рассмотрим ход типового соединения по логу RADIUS запросов (radius.log).
Time: 12.09.2017 12:18:30
Packet type: Accounting-Request
Identifier: 198
Authenticator: {29 3C ED 92 11 62 3F B4 45 60 B5 83 EC 3B 8F FD}
Attributes:
NAS-IP-Address=192.168.103.98
NAS-Port=0
Acct-Status-Type=1
Acct-Delay-Time=0
Acct-Session-Id=a18a094e-630d-436b-ab3d-82ad11f8fa6e
Called-Station-Id=44178312622020
Called-Station-Id=44178312622020
Login-Service=0
Calling-Station-Id=8612170985
cisco-avpair=h323-call-id=a18a094e-630d-436b-ab3d-82ad11f8fa6e
cisco-avpair=src-gw-ip=192.168.103.100
cisco-avpair=src-gw-name=8612170985
cisco-avpair=src-number-in=8612170985
cisco-avpair=src-number-out=8612170985
cisco-avpair=dst-gw-ip=192.168.103.98
cisco-avpair=dst-gw-name=44178312622020
cisco-avpair=dst-number-in=44178312622020
cisco-avpair=dst-number-out=44178312622020
h323-conf-id=a18a094e-630d-436b-ab3d-82ad11f8fa6e
h323-conf-id=a18a094e-630d-436b-ab3d-82ad11f8fa6e
h323-setup-time=2017-09-12T12:18:26.100131+0300
h323-call-origin=originate
Time: 12.09.2017 12:18:30
Packet type: Access-Request
Identifier: 201
Authenticator: {54 F5 0C 3D 7F FF D8 B3 0A EF 3C 91 5B C4 C9 D1}
Attributes:
User-Name=78612170985
User-Password=�3ot�����g�� ZzT
NAS-IP-Address=192.168.103.98
NAS-Port=0
NAS-Port-Id=ISDN 3/0:D:14
Acct-Session-Id=a18a094e-630d-436b-ab3d-82ad11f8fa6e
NAS-Port-Type=44
Called-Station-Id=78312622020
Calling-Station-Id=78612170985
h323-conf-id=a18a094e-630d-436b-ab3d-82ad11f8fa6e
cisco-avpair=h323-call-type=outgoing
cisco-avpair=h323-ivr-out=transactionID:1234-42232
h323-gw-id=FREESW
h323-prompt-id=78312622020
h323-call-origin=outgoing
Time: 12.09.2017 12:18:30
Packet type: Access-Accept
Identifier: 201
Authenticator: {E8 6C BD C2 6D CF ED 8D 49 DD EC 45 93 83 F4 EF}
Attributes:
Callback-Number=192.168.103.100
h323-credit-amount=499324.60
h323-credit-time=8609044
h323-return-code=0
Process time auth: 0
Time: 12.09.2017 12:24:39
Packet type: Accounting-Request
Identifier: 228
Authenticator: {76 4C 55 00 2B 5B 3F D3 75 3C 6A CE 46 20 E0 D0}
Attributes:
NAS-IP-Address=192.168.103.98
NAS-Port=0
Acct-Status-Type=2
Acct-Delay-Time=0
Acct-Session-Id=e6889347-45b8-4094-a74a-014cdbb35ff2
Called-Station-Id=44478312622020
Acct-Session-Time=366
Login-Service=0
Calling-Station-Id=78612170985
cisco-avpair=h323-call-id=e6889347-45b8-4094-a74a-014cdbb35ff2
cisco-avpair=src-gw-ip=192.168.103.100
cisco-avpair=src-gw-name=78612170985
cisco-avpair=src-number-in=78612170985
cisco-avpair=src-number-out=78612170985
cisco-avpair=dst-gw-ip=192.168.103.100
cisco-avpair=dst-gw-name=44478312622020
cisco-avpair=dst-number-in=44478312622020
cisco-avpair=pdd-time=0
cisco-avpair=dst-number-out=44478312622020
h323-conf-id=a18a094e-630d-436b-ab3d-82ad11f8fa6e
h323-setup-time=2017-09-12T12:18:26.180100+0300
h323-call-origin=originate
h323-connect-time=2017-09-12T12:18:28.420120+0300
h323-disconnect-time=2017-09-12T12:24:34.560111+0300
h323-disconnect-cause=10
Модуль обрабатывает access запросы и accounting( start, update, stop ).
Заводим тип устройства. Настраиваем атрибуты, вендора и т.п.
Плюс PtotocolHalder если нужно.