Просмотр Исходного

h3. Установка

Установка Asterisk PBX
{code}
# wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.17.0.tar.gz
# tar xzf asterisk-1.8.17.0.tar.gz
# cd asterisk-1.8.17.0
# contrib/scripts/install_prereq install
# ./configure
# make
# make install
{code}
Если Вы новичок установите сразу дефалтные конфиг файлы.
{code}# make samples{code}
Установка Perl AGI интерфейса к AGI.
{code}# wget http://asterisk.gnuinter.net/files/asterisk-perl-1.03.tar.gz
# tar zxvf asterisk-perl-1.03.tar.gz
# cd asterisk-perl-1.03
# perl Makefile.PL
# make
# make test
# make install{code}
Устанавливаем perl из пакетов и настраиваем.
{code}# perl -MCPAN -e shell
(при первом запуске отвечаем дефолтно на все вопросы)
cpan>install Config::IniFiles
install Crypt::CBC
install Crypt::DES
install Authen::Radius
install Asterisk::AGI
cpan>q
{code}
По умолчанию Asterisk не поддерживает авторизацию через Radius, для этого необходимо использовать специальный AGI скрипт основанный на разработке PortaOne, который находится в биллинге
{code}
# ls -l /usr/local/ics/bin/agi-rad-auth.agi
# scp /usr/local/ics/bin/agi-rad-auth.agi <адрес сервера астериск>:/var/lib/asterisk/agi-bin/
{code}
Это скрипт вызывается перед набором номера и если биллинг разрешает звонок то Asterisk двигается дальше по цепочке.

В файл /etc/asterisk/modules.conf необходимо включить модуль
{code}load => res_agi.so{code}

Примеры настройки:
{code:title=/etc/asterisk/sip.conf}
[general]
context=office ; Default context for incoming calls
allowguest=no ; Allow or reject guest calls (default is yes)
allowoverlap=no ; Disable overlap dialing support. (Default is yes)
udpbindport=5060
udpbindaddr=0.0.0.0
srvlookup=yes
disallow=all
allow=alaw,ulaw,gsm
canreinvite=no
dtmfmode=rfc2833

[200]
type=friend
host=dynamic
username=200
secret=1472514725
nat=no
canreinvite=no
context=office
;context=sip_auth
externalauth=yes
callerid=920620
disallow=all
allow=ulaw
subscribemwi = no
mailbox=200@office
callgroup=1
pickupgroup=1

[201]
type=friend
host=dynamic
username=201
secret=1472514725
nat=no
canreinvite=no
context=office
;context=sip_auth
externalauth=yes
callerid=920621
disallow=all
allow=ulaw
subscribemwi = no
mailbox=100@office
callgroup=1
pickupgroup=1
{code}
{code:title=/etc/asterisk/extensions.conf}
[general]
static=yes
writeprotect=no
;clearglobalvars=no

[globals]
RADIUS_Server=10.1.1.1
RADIUS_Secret=servicem
RADIUS_Auth_Port=2812
RAIUS_Acct_Port=2813
Acct_Update_Timeout=60
NAS_IP_Address=10.1.1.2

[office]
exten => _X.,1,Set(SIP_Authorization=${SIP_HEADER(Authorization)})
exten => _X.,n,AGI(agi-rad-auth.agi,Routing=SIP&AuthorizeBy=SIP)
exten => _X.,n,Dial(${EXTEN},60,tT)
exten => _X.,n,Hangup
exten => h,1,Hangup
{code}