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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Решение проблем NAT в IP-телефонии Asterisk

База знаний Настройка Asterisk

NAT или трансляция сетевых адресов — довольно часто используется в сети. Но при использовании NAT необходимо учитывать тот факт, что данная технология может создавать препятствия для прохождения голосовых пакетов, а также инициализации соединений.

Существует несколько схем нахождения SIP клиента и сервера Asterisk за NAT. Рассмотрим некоторые из них и способы решения проблем.

Рассмотрим случай, когда SIP клиент (телефон) находится за NAT, а Asterisk — снаружи. В данном случае голосовые пакеты будут перенаправляться на немаршрутизируемый адрес в сети, что в свою очередь соответственно приведет к потере звука.

В данной ситуации решением проблемы будет заключаться в следующем: в файле sip.conf указывается что включен NAT и используется внешний IP, тогда Asterisk будет использовать внешний IP для всех клиентов, кроме явно указанных в праметре localnet. Также стоит установить для сервера параметр qualify, равный примерно 300 миллисекунд — сервер будет опрашивать устройства в сети через заданный промежуток времени. Также возможно целесообразно будет разрешить использовать устройствам технологию Reinvite.

Пример:
sip.conf
[general]
localnet=192.168.1.10/255.255.255.0 ; локальная сеть
externip=88.128.221.1 ; внешний ip адрес
[client]
nat=yes ; включить НАТ
qualify=300 ; проверять соединение каждые 300 мс.

 Следующий случай — сервер Asterisk находится за NAT, а клиенты снаружи. В данной ситуации проблема может заключаться в следующем — поток RTP приходит не с того IP на который настроен транк, а с другого или же маршрутизатор определил поток как не принадлежащий текущей сессии — то чаще всего проявляется это в наличие голоса от звонящего и в тоже время полное отсутствие звука от того кому был совершен звонок.

Решение данной проблемы заключается в следующем: необходимо в явном виде указать серверу Asterisk, что он находится за NAT (в файле sip.conf); перенаправить входящие потоки RTP на Asterisk (в файле rtp.conf указаны порты для RTP соответственно эти порты и должны быть открыты); и последним шагом необходимо запретить Reinvite, т.е. пустить все потоки через Asterisk, запретив телефонам соединяться напрямую.

Пример:
[general]
localnet=192.168.1.10/255.255.255.0 ; локальная сеть
externip=88.128.221.1 ; внешний ip адрес
[client]
nat=yes ; включить НАТ
canreinvite=no
rtp.conf
rtpstart=10000
rtpend=20000

 Следующая типичная схема — когда и сервер Asterisk и SIP-клиенты находятся за NAT. Клиенты снаружи не смогут принимать звонки и SIP сообщения. Или в случае указания в SIP сообщении локального IP адреса телефона, будет происходить потеря звука.

Для избежания потери голоса запрещаем reinvite. Для того чтобы клиенты за NAT могли инициировать соединения с Asterisk и направлять RTP-пакеты на нужный экстеншен — необходимо пробросить требуемые порты через файервол на сервере. Смотрим диапазон портов, используемых Asterisk для RTP, в файле rtp.conf.

Пример проброса портов:
iptables -t nat -A PREROUTING -i eth0 -p udp \ -m udp --dport 10000:12000 -j DNAT \ --to-destination 192.168.1.10
iptables -t nat -A PREROUTING -i eth0 -p udp \-m udp --dport 5060 -j DNAT \Клиент за NAT --to-destination 192.168.1.10
Где eth0 — внешний интерфейс, а 192.168.1.10 — IP адрес Asterisk.

asterisk, IP-телефония, nat