Asterisk
Содержание
Подготовка
- Сервер для Asterisk
- IP-телефоны либо какой-либо софтфон
- Арендуем у провайдера телефонный номер
- Готови дистрибутив(бывают сборки, можно с нуля настроить)
Настройка
- 1 Отключаем Selinux
/etc/selinux/config
selinux=DISABLED
Либо apt-get remove selinux*
- 2 yum install -y make wget openssl-devel ncurses-devel newt-devel libxml2-devel kernel-devel gcc gcc-c++
sqlite-devel
- 3 cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.6.0.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
- 4 Распаковываем
tar zxvf dahdi-linux-complete*
tar zxvf libpri*
tar zxvf asterisk*
- 5 Устанавливаем. Заходим в папки dahdi* и libpri. Астериск отдельно настроим
make && make install
- 6 Установка Asterisk
uname -a узнаем разрядность
./configure && make menuselect && make && make install - для 32 битной
./configure --libdir=/usr/lib64 && make menuselect && make && make install - для 64 битной
Известные ошибки при установке Asterisk
yum install uuid uuid-devel libuuid libuuid-devel uuid-c++
./configure
make menuselect
make
make install
make samples
make config
Перезагружовываемся)
Настройка конфигурации (sip.conf) и подключение телефонов
Пока отключаем firewall
systemctl disable firewalld
[1001]
type=friend
regexten=1001
secret=1234
context=outcoling
host=dynamic
callerid="1001"<1001>
disallow=all
allow=alaw
allow=ulaw
language=ru
callgroup=1
pickugropup=1
qualify=yes
careinvite=yes
call-limit=4
nat=no
[1002]
type=friend
host=dynamic
insecure=invite
username=1002
secret=45678
context=outcoling
disallow=all Запретить все кодеки
allow=alaw Разрешить кодек alaw
extensions.con
[outcoling]
Это контекст. Указывается в sip.conf в каждом номере диалплана
exten=>_XXXX,1,Dial(SIP/${EXTEN},,m)
Пояснения:
_XXXX если набрано 4 цифры
1 - приоритет
Dial - совершить звонок
SIP - по протоколу SIP
${EXTEN} - звонить на номер. Глобальная переменная
Объяснение работы Dial-Plan
Звоним наружу
Редактируем sip.conf Эти данные вбиваем перед нашими номерами
[general]
register => 00000:password@sip.zadarma.com/00000
[zadarma]
type=friend
username=00000
secret=password
fromuser=00000
fromdomain=sip.zadarma.com
host=sip.zadarma.com
;nat=yes
nat=force_rport,comedia
insecure=invite
context=incoming
Начиная с версии Asterisk 11: 'nat=yes' устарело, используйте 'nat=force_rport,comedia'
nat=force_rport,comedia
Добавляем в extensions.conf строчки
[outcoling]
exten => _XXXX,1,Dial(SIP/${EXTEN},,m)
exten => _XXXXXXXXXXX,1,Dial(SIP/zadarma/${EXTEN})
[incoming]
exten => _X.,1,Dial(SIP/1001&SIP/1002&SIP/1003,60,m,tT)
Еще раз алгоритм. Проверяем sip.conf смотрим на контекст. Звонок на любой номер.Попадаем на 1001 1002 одновременно