Настройка Radius

Здравствуйте,

Пытаюсь настроить аккаунтинг исходящих вызовов на внешнем Radius сервере.

Создал Radius Accounting Profiles повесил его на один из gateways. В настройках sems загрузку модуля radius_client без доп параметров.

В логе sems получаю следующее:

Nov 11 17:31:43 178-238-113-4 sems[26343]: [26375/apps/radius_client/RadiusClient.cpp:454] WARNING: epoll_ctl error on delete operation for socket 163: Bad file descriptor
Nov 11 17:31:43 178-238-113-4 sems[26343]: [26375/apps/radius_client/RadiusClient.cpp:436] ERROR: can't add acc connection socket 163 to epoll
Nov 11 17:31:43 178-238-113-4 sems[26343]: [26375/yeti:yeti_radius.cpp:147] ERROR: can't add radius acc connection for profile 2
Nov 11 17:31:43 178-238-113-4 sems[26343]: [26375/yeti:yeti_radius.cpp:161] ERROR: got exception during radius module configuration: can't add radius acc connection
Nov 11 17:31:43 178-238-113-4 sems[26343]: [26375/yeti:yeti_rpc.cpp:989] ERROR: intializing radius acc profiles
Nov 11 17:31:43 178-238-113-4 sems[26343]: [26375/apps/jsonrpc/JsonRPCServer.cpp:551] INFO: got JsonRpcError. code 500, message 'profiles cleared but exception occured during reinit. you have no loaded profiles for now. examine logs and check your configuration', data: '', method: yeti.request.radius.accounting.profiles.reload, id: evClaHqyE0MTfnCSi4KZbnMbGpiCuEfa, params: '[]'

Подскажите как это можно исправить.

Заранее спасибо.

покажите dpkg-l | grep sems

попробуйте добавить use_radius = true в секцию routing в system.cfg(и рестартануть yeti-management)

После изменения use_radius = true и рестарта yeti-managemen и sems сообщения из лога sems пропали. Буду разбираться дальше. Вот на всякий случай вывод dpkg -l | grep sems

dpkg -l | grep sems
ii  libsems1                      1.26.0                       amd64        SIP Express Media Server, shared library
ii  sems                          1.26.0                       amd64        SIP Express Media Server, very fast and flexible SIP media server
ii  sems-modules-base             1.26.0                       amd64        SIP Express Media Server, base applications, plugins and codecs
ii  sems-modules-g729-bcg         0.0.1                        amd64        g729 codec for SEMS project
ii  sems-modules-yeti             1.9.12core26                 amd64        YETI SBC application module for SEMS
ii  sems-sounds                   1.26.0                       amd64        SIP Express Media Server, audio files

Как уже писал я создал Radius Accounting Profiles повесил его на один из gateways. После решения проблемы с ошибками в логе sems попробовал совершить исходящий вызов через geteways (на котором включил Radius Accounting Profiles).
Вызов отбился с причиной No Routes. В логах больше никаких ошибок не вижу. Подскажите какие настройки ещё можно посмотреть.

Стоит сначала добиться правильной маршрутизации звонков без радиуса, а уже затем включать радиус. No Routes значит что нет подходящих диалпиров

Да вроде всё есть. Звонки перестали ходить как только в наcтройках getways был выбран Radius Accounting Profiles.
Даже если использовать Routing Simulation то Dialpeer находится, но дальше переход непосредственно к gateway не происходит.
Попробую сегодня уровень логирования на sems увеличить. Возможно там найду какую-то ошибку.

С помощью yeti-cli> all core.request.log.dump получил лог во время вызова.
В логе нашел вот такую информацию:

Nov 18 18:24:14 [16923:16985/yeti:SqlRouter.cpp:491] DEBUG: PROFILING: SQL routing query took 0.006416
Nov 18 18:24:14 [16923:16985/yeti:SqlRouter.cpp:505] DEBUG: _getprofiles() database returned 1 profiles
Nov 18 18:24:14 [16923:16985/yeti:SqlCallProfile.cpp:307] DEBUG: Yeti: loaded SQL profile
Nov 18 18:24:14 [16923:16985/yeti:SqlCallProfile.cpp:848] DEBUG: skip resources parsing for refusing profile
Nov 18 18:24:14 [16923:16985/yeti:SqlCallProfile.cpp:324] DEBUG: refusing calls with code '113'
Nov 18 18:24:14 [16923:16985/yeti:cdr/Cdr.cpp:103] DEBUG: Cdr[0x7eff280d7910]()
Nov 18 18:24:14 [16923:16985/yeti:cdr/Cdr.cpp:147] DEBUG: Cdr[0x7eff280d7910](profile = 0x7eff2833c340)
Nov 18 18:24:14 [16923:16985/yeti:cdr/Cdr.cpp:175] DEBUG: Cdr::update_sql(SqlCallProfile)
Nov 18 18:24:14 [16923:16985/yeti:SBC.cpp:226] DEBUG: PROFILING: get profiles took 0.007535
Nov 18 18:24:14 [16923:16985/yeti:CodesTranslator.cpp:346] DEBUG: translate_db_code: 113, override_id: 0
Nov 18 18:24:14 [16923:16985/yeti:CodesTranslator.cpp:334] DEBUG: translation result: internal = <404:'No routes'>, response = <404:'No routes'>, silently_drop = 0, store_cdr = 1
Nov 18 18:24:14 [16923:16985/yeti:cdr/Cdr.cpp:422] DEBUG: Cdr[0x7eff280d7910]::update_internal_reason(initiator = 0,reason = 'No routes',code = 404) cdr.disconnect_initiator_writed = 0

На сколько я понимаю отсутствует некий профиль для разбора полученного ответа.

Нет, это не правда.

Nov 18 18:24:14 [16923:16985/yeti:SqlCallProfile.cpp:324] DEBUG: refusing calls with code ‘113’

Тут явно говориться что звонок режектится во время роутинга, ранее я писал почему.

Нет, это не правда.

Похоже я пошел неправильным путём при включении radius. Ошибка описанная мной
возникает если создать Radius Accounting Profiles и повесить его на gateway, не сделав предварительно изменений в cfg файлах.

т.е. сначала необходимо изменит use_radius = true в секции routing в system.cfg(и рестартануть yeti-management). Далее добавить модуль module "radius_client"{} в настройки sems (и рестартануть sems). А уже после всего этого создавать Radius Accounting Profiles и включать эту настройку на gateways.

Свою задачу я решил, спасибо.