Курсы по использованию Asterisk

IP-телефония — технология будущего. Обучитесь работе с IP-АТС Asterisk для того чтобы внедрить и профессионально использовать при решении коммуникационных задач.

Работайте с Asterisk профессионально!

Многоуровневая защита IP-АТС Asterisk

Телефонные станции очень часто становятся объектами хакерских атак. Узнайте, каким образом необходимо строить многоуровневую защиту для Вашей IP-АТС.

Не оставьте хакерам шансов. Защитите свой Asterisk от атак.

Используйте Веб-Интерфейс для удобства настройки

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

Управление станцией и статистика в окне браузера.

Научитесь работать с Asterisk из консоли

Для понимания работы с Asterisk необходимо уметь настраивать его вручную с конфигурационными файлами и командной строкой CLI Asterisk.

Научитесь «тонкой» настройке Asterisk

Цель курсов - максимум практики.

Обучение нацелено на практическую работу с IP-оборудованием: платы потоков E1, VoIP-телефонные аппараты, голосовые шлюзы FXS и прочее.

Обучение на реальном оборудовании — залог успеха.

Настройка транка между Avaya и Asterisk с использованием модуля chan_h323.so

База знаний Интеграция с другими АТС Станции Avaya

В прошлой статье было рассказано о настройке H.323-транка между Avaya и Asterisk с использованием модуля Asterisk chan_ooh323.so. При этом, если Asterisk возвращает «занято» в ответ на входящий вызов со стороны Avaya, соответствующий канал Asterisk не завершается, а продолжает висеть неограниченное количество времени, и Asterisk начинает грузить процессор на 100%. Модуль Asterisk chan_h323.so не испытывает подобных проблем при соединении с Avaya.

1. Сборка Asterisk с chan_h323.so
2. Настройка chan_h323.so


Сборка Asterisk с chan_h323.so


Приведенные шаги сборки верны для CentOS архитектуры x86_64. Для i386 / i686, есть небольшие отличия, указанные ниже.

Устанавливаем программы и библиотеки, которые понадобятся для сборки Asterisk.

<code>
yum -y install make gcc-c++ kernel-devel gnutls-devel flex libxml2-devel bison ncurses-devel mysql-devel curl-devel speex-devel openais-devel openldap-devel openssl-devel zlib-devel gnutls-devel gmime-devel lua-devel
</code>

Скачиваем и собираем библиотеки PWLib v1.10.0 и OpenH323 v1.18.0 (Для chan_h323.so нужны именно эти версии библиотек).

<code>
cd /usr/src
wget http://www.voxgratia.org/releases/pwlib-v1_10_0-src-tar.gz
wget http://www.voxgratia.org/releases/openh323-v1_18_0-src-tar.gz
mv openh323-v1_18_0-src-tar.gz openh323-v1_18_0-src.tar.gz
mv pwlib-v1_10_0-src-tar.gz pwlib-v1_10_0-src.tar.gz
tar xzf openh323-v1_18_0-src.tar.gz
tar xzf pwlib-v1_10_0-src.tar.gz
cd pwlib
./configure
make clean opt
# Нужно для сборки OpenH323
export PWLIBDIR=/usr/src/pwlib_v1_10_0
cd.. /openh323
./configure
make
# если make ругается на отсутствие linux/compiler.h, копируем /usr/src/kernels/версия_ядра/include/linux/compiler.h в /usr/include/linux и делаем make снова
export OPENH323DIR=/usr/src/openh323_v1_18_0
export PWLIBDIR=/usr/src/pwlib_v1_10_0
export OPENH323_LIBDIR=/lib64 #/lib для i386 / i686
export PWLIB_LIBDIR=/lib64   #/lib для i386 / i686
</code>

Копируем скомпилированные библиотеки /usr/src/pwlib/lib/libpt_linux_x86_64_r.so.1.10.0 и /usr/src/openh323/lib/libh323_linux_x86_64_r.so.1.18.0 со всеми ссылками в директорию /lib64 (/lib для архитектуры i386 / i686). Скачиваем, собираем и устанавливаем последнюю версию Asterisk

<code>
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-1.8.15-cert1.tar.gz
tar xzf certified-asterisk-1.8.15-cert1.tar.gz
cd certified-asterisk-1.8.15-cert1
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make menuconfig
# Убеждаемся, что chan_h323.so выбран в меню Channels
make
make install
# Выполнять только если нужны стандартные файлы настроек
make samples
service asterisk start
</code>

 

Настройка chan_h323.so


Файл настройки chan_h323.so — /etc/asterisk/h323.conf. Создаем и заполняем его.

<code>
[general]
port = 1720
bindaddr = 192.168.1.100  ; Нужно указать IP-адрес какого-либо интерфейса, 0.0.0.0 не годится
context=from-avaya
disallow=all
allow=ulaw
allow=alaw

[avaya-trunk]
type=friend
context=from-avaya
ip=192.168.2.5                 ; IP-адрес АТС Avaya
port=1720
disallow=all
allow=alaw
allow=ulaw
rtptimeout=30
dtmfmode=rfc2833
h245tunneling=yes
</code>

В моем случае chan_h323.so игнорировал кодеки и контекст (и, возможно, другие настройки), указанные для транка и использовал указанные по умолчанию. Так, если не указать контекст в разделе general, chan_h323.so использует контекст default, если не указать кодеки в разделе general, то, при установлении соединения, chan_h323.so предлагает все кодеки, доступные Asterisk.Для запуска модуля, выполняем в консоли Asterisk:

<code>
module load chan_h323.so
</code>

Звонить в полученный транк можно следующим образом:

<code>
exten = > _X.,1,Dial (H323/${EXTEN}@192.168.2.5)
</code>

настройка, asterisk