Настройка связки UTM5 + asterisk через radius

Технические вопросы по UTM 5.0
Ответить
angelium
Сообщения: 3
Зарегистрирован: Пн ноя 15, 2010 13:13

Настройка связки UTM5 + asterisk через radius

Сообщение angelium »

Уважаемые коллеги!
Нужен совет по настройке UTM5 и Asterisk. Работаю с UTM5 и radius в первый раз поэтому предполагаю что где то допустил глупые ошибки.

Есть локальная сеть в которой находятся:
машина с asterisk 192.168.1.10
шлюз на провайдера 192.168.1.2
машина с биллингом и модулем радиуса 192.168.1.3

Как я это делал:

Собрал radiusclient-ng
cd ./radiusclient-ng-*
./configure
make install

собрал asterisk
cd ../asterisk-1.4.13
./configure
make menuconfig
та этом этапе проверил что radius включен.

применил патч
patch -p0 < cdr_radius.patch

собрал
make install
всё встало без ошибок.

При попытке входа ругалось на libradiusclient-ng.so.2, но добавив libradiusclient-ng.so.2.0.0 и libradiusclient-ng.so.2 в /usr/lib/ это поборол.

Модуль подгрузился о чём свидетельствует вывод module show

далее сделал линк как рекомендовалось
ln -s /usr/local/etc/radiusclient-ng /etc

далее настроил radiusclient-ng
в etc/radiusclient-ng/radiusclient.conf добавил
auth_order radius
login_tries 4
login_timeout 60
nologin /etc/nologin
issue /usr/local/etc/radiusclient-ng/issue
authserver 192.168.1.3:1812
acctserver 192.168.1.3:1813
servers /usr/local/etc/radiusclient-ng/servers
dictionary /usr/local/etc/radiusclient-ng/dictionary
login_radius /usr/local/sbin/login.radius
seqfile /var/run/radius.seq
mapfile /usr/local/etc/radiusclient-ng/port-id-map
default_realm
radius_timeout 10
radius_retries 3
bindaddr *
login_local /bin/login

в файл /etc/radiusclient-ng/servers прописал
192.168.1.3 secret

добавил либу /usr/local/etc/radiusclient-ng/dictionary.cisco

в конце файла /usr/local/etc/radiusclient-ng/dictionary добавил
$INCLUDE dictionary.cisco

в /etc/asterisk/cdr.conf раскомментировал
[radius]
usegmtime=no ; log date/time in GMT
loguniqueid=yes ; log uniqueid
loguserfield=yes ; log user field
radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf

Дальше принялся за настройку UTM

в файл прописал
core_host=127.0.0.1
core_port=12758
radius_auth_mppe=yes
radius_card_autoadd=no
radius_login=radius
radius_password=secret
radius_auth_vap=1
log_level=1
log_file_main=/netup/utm5/log/radius_main.log
log_file_debug=/netup/utm5/log/radius_main.log
radius_acct_host=192.168.1.3
radius_auth_host=192.168.1.3
radius_acct_port=1813
radius_auth_port=1812
radius_ssl_type=none
radius_ippool_acct_timeout=0
rotate_logs=yes
max_logfile_size=1048576
max_logfile_count=10

перезапустил utm5_radius, asterisk, radiusclient-ng

В биллинге создал тариф телефонии добавил его юзеру и добавил номер 302 и имя акаунта 302.

Делаю вызов через астериск, вызов проходит, в биллинге пусто.

Лог астериска:

Код: Выделить всё

Really destroying SIP dialog 'a682ad71-c006-e011-9330-485b395bdc48@sin' Method&#58; SUBSCRIBE
    -- Executing &#91;79171234567@phones&#58;1&#93; Answer&#40;"SIP/302-08bf1bb0", ""&#41; in new stack
    -- Executing &#91;79171234567@phones&#58;2&#93; Dial&#40;"SIP/302-08bf1bb0", "SIP/79171234567@192.168.1.2"&#41; in new stack
    -- Called 79171234567@192.168.1.2
    -- SIP/192.168.1.2-08bf8508 answered SIP/302-08bf1bb0
&#91;Dec 15 16&#58;54&#58;15&#93; WARNING&#91;2196&#93;&#58; rtp.c&#58;1142 ast_rtp_read&#58; RTP Read too short
&#91;Dec 15 16&#58;54&#58;15&#93; WARNING&#91;2196&#93;&#58; rtp.c&#58;1142 ast_rtp_read&#58; RTP Read too short
Really destroying SIP dialog '5d3c1e425ef0f3284bad07df5a25da1e@192.168.1.10' Method&#58; REGISTER
Really destroying SIP dialog '00eea671-c006-e011-9330-485b395bdc48@sin' Method&#58; REGISTER
  == Spawn extension &#40;phones, 79171234567, 2&#41; exited non-zero on 'SIP/302-08bf1bb0'
Really destroying SIP dialog '02119e983567d9fd400cba2b6b768b45@1942.168.1.10' Method&#58; BYE
на UTM в этот период в логах ничего нет

вот вывод netstat -tap

Код: Выделить всё

Proto Recv-Q Send-Q Local Address Foreign Address State       PID/Program name
tcp        0      0 localhost&#58;11778         *&#58;*                     LISTEN      13206/utm5_core 
tcp        0      0 localhost&#58;mysql         *&#58;*                     LISTEN      2875/mysqld     
tcp        0      0 *&#58;11758                 *&#58;*                     LISTEN      13206/utm5_core 
tcp        0      0 *&#58;webmin                *&#58;*                     LISTEN      1088/perl       
tcp        0      0 *&#58;www                   *&#58;*                     LISTEN      1060/apache2    
tcp        0      0 *&#58;12758                 *&#58;*                     LISTEN      13206/utm5_core 
tcp        0      0 *&#58;ssh                   *&#58;*                     LISTEN      998/sshd        
tcp        0      0 bill.test.com&#58;11758   mail.test.com&#58;35690   ESTABLISHED 13206/utm5_core 
tcp        0      0 bill.test.com&#58;11758   mail.test.com&#58;35688   ESTABLISHED 13206/utm5_core 
tcp        0      0 localhost&#58;12758         localhost&#58;40807         ESTABLISHED 13206/utm5_core 
tcp        0      0 bill.test.com&#58;ssh     mail.test.com&#58;60282   ESTABLISHED 11935/sshd&#58; volna &#91;
tcp        0      0 bill.test.com&#58;11758   mail.test.com&#58;35689   ESTABLISHED 13206/utm5_core 
tcp        0      0 localhost&#58;40807         localhost&#58;12758         ESTABLISHED 13284/utm5_rfw  
tcp6       0      0 &#91;&#58;&#58;&#93;&#58;ssh                &#91;&#58;&#58;&#93;&#58;*                  LISTEN      998/sshd

Avdoshkin
Сообщения: 156
Зарегистрирован: Вт май 10, 2005 19:28
Откуда: Ачинск
Контактная информация:

Сообщение Avdoshkin »

все гораздо проще делается, тебе нужна библиотека pyrad для python и pyst пишешь скрипт и все ок!

Avdoshkin
Сообщения: 156
Зарегистрирован: Вт май 10, 2005 19:28
Откуда: Ачинск
Контактная информация:

Сообщение Avdoshkin »

все гораздо проще делается, тебе нужна библиотека pyrad для python и pyst пишешь скрипт и все ок!

Ответить