Решение проблемы Asterisk — нет звука при звонке через NAT

Заметил недавно что нет звука при звонке с IP-телефона на другой IP-телефон которые оба находились за одним и тем же NAT (роутером).

Читать далее «Решение проблемы Asterisk — нет звука при звонке через NAT»

Установка эхоподавителя Oslec и DAHDI

Устанавливал однажды китайскую плату TDM410P для подключения аналоговых телефонных линий и связку Asterisk + Dahdi.
Так как плата не имеет аппаратного шумоподавления, пришлось ставить Oslec.
При звонках, со стороны аналогового телефона эха не было, а вот кто говорил в IP телефон — слышал сам себя.

Читать далее «Установка эхоподавителя Oslec и DAHDI»

Решение ошибки Asterisk «Context ‘local’ tries to include nonexistent context ‘parkedcalls'»

Прикручивал как-то DAHDI плату и заметил следующую ошибку при входящем вызове с аналоговой линии:

WARNING[7238]: pbx.c:12314 ast_context_verify_includes: Context ‘local’ tries to include nonexistent context ‘parkedcalls’

Ошибка возникала из-за того что не загружен модуль res_parking, чтобы его загрузить, откроем консоль asterisk и выполним команду:

sudo asterisk -vvr
module load res_parking

Чтобы он автоматически загружался при запуске Asterisk, в файле /etc/asterisk/modules.conf, в блоке [modules] добавим строку:

load => res_parking.so

Запись телефонных разговоров в Asterisk

Опишу пример настройки записи телефонных разговоров в Asterisk, первым делом убедимся что загружены необходимые модули.

Читать далее «Запись телефонных разговоров в Asterisk»

Настройка Fail2Ban под Asterisk

На тесте буду использовать Asterisk 13.1.0 и Fail2Ban 0.9.3-1 установленные в Ubuntu Server 16.04.1 LTS.

Установим Fail2Ban как я писал в этой статье — Установка и настройка Fail2ban

Откроем конфигурационный файл Asterisk отвечающий за логирование событий в /var/log/asterisk/messages:

sudo nano /etc/asterisk/logger.conf

Добавим security в messages:

messages => notice,warning,error,security

Перезапустим систему логирования asterisk:

sudo asterisk -rvv
logger reload
quit

Добавим файл настроек Asterisk в директорию с конфигурацией Fail2Ban тем самым активировав наблюдение его логов:

sudo nano /etc/fail2ban/jail.d/asterisk.conf

где 86400 в секундах = 24 часа, то есть злоумышленник будет блокироваться на сутки.

[asterisk]
enabled = true
bantime = 86400

Либо изменим в файле /etc/fail2ban/jail.conf где [asterisk-tcp] и [asterisk-udp] параметр false на true.

Перезапустим fail2ban чтобы новый файл настроек загрузился:

sudo fail2ban-client reload

Проверим работу:

sudo fail2ban-client status asterisk

Все, теперь Fail2Ban будет блокировать IP-адреса с которых не верно вводятся пароли к аккаунтам Asterisk.

Добавление SIP клиентов в Asterisk

SIP клиенты в Asterisk указываются в файле sip.conf, поэтому откроем его например в текстовом редакторе nano (Ctrl+X для выхода из редактора, y или n для сохранения или отмены изменений):

Читать далее «Добавление SIP клиентов в Asterisk»

Установка Digium Asterisk GUI

Digium Asterisk GUI — web-интерфейс управления Asterisk.

Сегодня буду лепить его к Asterisk 11 на Ubuntu Server 14.04 LTS.
Переключимся сразу на root пользователя:

sudo -i

Скачаем его:

apt-get install subversion
mkdir -p ~/asterisk-gui
cd ~/asterisk-gui
svn checkout http://svn.digium.com/svn/asterisk-gui/branches/2.0/

Скомпилируем и установим:

cd 2.0
./configure
make
make install

На всякий случай сделаем копию файлов конфигурации Asterisk:

cp -r /etc/asterisk /etc/asterisk.original

Откроем конфигурационный файл manager.conf например в редакторе nano (Ctrl+X для выхода из редактора, y/n для сохранения или отмены изменений):

nano /etc/asterisk/manager.conf

Основные параметры которые должны быть настроены в конфигурационном файле manager.conf:

[general]
enabled = yes
webenabled = yes
bindaddr = 0.0.0.0
[ИМЯ_ПОЛЬЗОВАТЕЛЯ]
secret = ПАРОЛЬ
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config

В самом конце файла заменим обязательно символ # на ; иначе не сможете зайти под прописанным выше логином и паролем.

Теперь отредактируем http.conf:

nano /etc/asterisk/http.conf

В нем укажем следующие параметры веб сервера:

enabled=yes
enablestatic=yes
bindaddr=0.0.0.0
prefix=asterisk

Выполним проверку настроек:

make checkconfig

Удалим пустую папку и укажем ссылку на реальную с файлами веб-сервера:

rmdir /usr/share/asterisk/static-http/
ln -s /var/lib/asterisk/static-http/ /usr/share/asterisk/

Перезапустим Asterisk:

/etc/init.d/asterisk restart

Теперь Digium Asterisk GUI должен открываться по ссылке http://192.168.56.102:8088/asterisk/static/config/index.html, где 192.168.56.102 это IP или домен севрера с Asterisk.

Для входа укажем логин и пароль прописанные ранее в файле manager.conf

Все.