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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подключение оператора связи Direct-Telecom к Asterisk

База знаний Подключение операторов связи Direct-Telecom

В данной статье рассмотрим подключение и настройку оператора Direct-Telecom через web-интерфейс FreePBX.

Преднастройка:

Настройка будет производиться на Asterisk 13.18.2 , версия centos 6.9, а в качестве web интерфейса используется FreePBX 13.0.192.19

Если вы не знаете, какая версия CentOS или Asterisk используется у вас, то это можно узнать ниже

Версия CentOS:

Подключитесь к IP ATC с помощью PuTTY

PuTTY

Зайдите как root пользователь

Авторизация

И выполните следующую команду cat /etc/redhat-release

Результат выполнения команды 1

Версия Asterisk:

Для того, чтоб узнать версию asterisk, достаточно ввести следующую команду asterisk –rvvv

Результат выполнения команды 2

Если вы используете дистрибутив от нашей компании, то вместо команды «asterisk –rvvv» можете использовать просто «a» и вы так же попадете в CLI

Данные от оператора следующие:

·         Логин - 152+2230

·         Пароль – qwerty12345

·         IP - 80.246.247.97

·         Номер – 8499123456

Перед тем, как приступить к регистрации нового транка необходимо добавить ip-адрес провайдера в iptables иначе возникнут проблемы с регистрацией данного номера. Для этого выполняем следующие шаги:

Переходим в раздел /usr/src

Результат выполнения команды 3

Теперь выгружаем наши правила в файл «dd» с помощью команды iptables-save > dd

Выгружаем правила iptables

Перед тем как править iptables рекомендуется на всякий случай создать дамп старых правил и назвать его, к примеру, dump_11_04_2018, это позволит в случае ошибки быстро откатиться к старым правилам

После чего откройте любым удобным для вас текстовым редактором файл «dd». В нашем случае мы будем использовать текстовый редактор nano.

Nano

Прописываем ip-адрес оператора

ip-адрес 1

И теперь выходим командой CTRL+C и не забываем сохранить настройки кнопкой «Y»

ip-адрес 2

Все. Файл мы изменили и подготовили, теперь осталось его загрузить. Выполняется это следующей командой: iptables-restore < dd

ip-адрес 3

Теперь, чтоб после перезагрузки АТС не сбились настройки нужно сохранить изменённый iptables. Выполняем команду «service iptables save».

Ip-адрес сохраняем изменения

И так, если вы все сделали правильно, то в списке разрешенных адресов окажется необходимый нам ip. Это можно проверить с помощью команды iptables –L -nv

ip-адрес проверяем, что все получилось

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

Стоит отметить, что если вы используете наш дистрибуив, то для изменения iptables лучше всего использовать наш скрипт fw_iptables.sh который в случае потери доступа к станции через 120 секунд восстанавливает настройки iptables по умолчанию.

Регистрация транка:

Настройки транка буду выглядеть следующим образом:

username=152+2230
type=peer
secret= qwerty12345
port=5065
insecure=invite,port
host=80.246.247.97
fromuser=152+2230
fromdomain=80.246.247.97
dtmfmode=info
disallow=all
defaultuser=152+2230
context=from-trunk
allow=alaw
qualify=yes

Строка регистрации выглядит следующим образом:

xxxxxxxxxx:yyyyyyyyyy@80.246.247.97:5065/xxxxxxxxxx

Где xxxxxxxxxx – ваш логин (чаще всего совпадает с номером телефона, но в нашем случае это 152+2230 ), а yyyyyyyyyy – пароль.

Если провайдер вам выделил транк без регистрации, то поле secret, а так же строка регистрации заполнять не нужно.

Так же учитывайте, что в данном конкретном примере в строке регистрации обязательно нужно указывать и порт, иначе регистрация не пройдет. Примеры транков для других SIP-провайдеров, а так же их настройки можно посмотреть на нашем сайте.

Настройки будем проводить через web-интерфейс FreePBX. Тем не менее, он имеет мало отличий от, к примеру, web-интерфейса Elastix и данная статья, несмотря на ряд отличий в интерфейсе подойдет и для настройки транка через Elastix и любого другого форка FreePBX.

Настройка:

Стартовое окно авторизации FreePBX

Путь настройки к регистрации транка следующий: Connectivity – Trunks

Создание транка

Нажимаем Add SIP Trunk

Настройка транка_1

·         Trunk Name – Указываем имя для нашего транка

·         Outbound CallerID – Настройка CallerID для исходящей связи

·         CID Options – Настройки передачи CID. По умолчанию - Любые CID передача в линию любых цифр. Так же можно, к примеру, запретить иностранные и.т.д

·         Maximum Channels – Максимальное количество активных каналов для разговоров вне локальной сети компании.

·         Continue if Busy – Позволяет настроить перенаправление вызова на другой транк если этот канал будет занят «BUSY»или же будет ошибочный /неправильный номер «INVALID NUMBER»

·         Disable Trunk – Включение и отключение транка для совершения исходящих и/или входящих вызовов.

Заполняем поля

Заполняем поля как показано выше на скриншоте

Настройка транка 2

Правила набора номера

Правила набора номера используются для ограничения исходящих звонков через этот транк. Оставляем все поумолчанию т.к мы будем настраивать правила набора через «исходящую связь».

Настройка транка_3

Пример конфигурации:

Trunk Name: Sip-piter

PEER Details:

username=152+2230
type=peer
secret= qwerty12345
port=5065
insecure=invite,port
host=80.246.247.97
fromuser=152+2230
fromdomain=80.246.247.97
dtmfmode=info
disallow=all
defaultuser=152+2230
context=from-trunk
allow=alaw
qualify=yes

Должно получиться как на скриншоте:

Заполненные поля

Теперь заполним строку регистрации.

Register String: 152+2230:qwerty12345@80.246.247.97:5065/152+2230

Строка регистрации

Нажимаем Submit для сохранения введенных настроек, после чего не забываем нажимать на Apply Config для применения всех настроек.

Проверка регистрации:

Если вы все сделали правильно, то ваш транк должен был зарегистрироваться.  Перед тем, как продолжить настройку давайте проверим регистрацию и статус транка. Для этого не обязательно подключаться через ssh к станции, все можно сделать через web-интерфейс FreePBX .

Стартовая страница

Для этого переходим по следующему пути: Admin – Asterisk СLI .

Asterisk CLI 1

Через CLI Command можно проверить подключение транка. Для этого как и при обычном подключении через ssh нужно ввести следующую команду

Asterisk CLI 2

И нажать на Sen Command

Asterisk CLI 3

Как мы видим - наш транк успешно зарегистрирован, но для того, чтоб можно было совершать исходящие и входящие звонки нужно настроить исходящую и входящую связь. Если у вас транк зарегистрировался, то переходите к следующей главе. Если транк не зарегестрировался или есть какие-то проблемы, то переходите к последней главе «Возможные проблемы при регистрации транка».

Исходящие маршруты:

Стартовая страница

Создадим исходящий маршрут. Переходим по следующему пути: Connectivity - Outbound Routes

Настройка исходящих через этот транк 1

Нажимаем Add «Outbound Route»

Для создания исходящего маршрута достаточно указать:

·         Route Name – Желаемое название маршрута.

·         Trunk Sequence for Matched Routes – здесь указываете, через какой именно транк будут осуществляться звонки. В нашем случае это sipnet

А так же Dial Patterns, о котором ниже

Настройка исходящих через этот транк 2

Dial Patterns – Указываем шаблоны для набора номеров.

Правила набора номера:

·         X   соответствует любой цифре от 0 до 9

·         Z   соответствует любой цифре от 1 до 9

·         N   соответствует любой цифре от 2 до 9

·         [1237-9] соответствует любой цифре в квадратных скобках (в этом примере, 1,2,3,7,8,9)

·         .   точка, соответствует любой цифре и букве, например - X. или 810X.

·         prepend: Приставка - цифры добавлются к шаблону, например [8] [+7] [XXXXXXXXXX], в примере +7 отрезается, а 8 добавляется

·         prefix: Префикс – удаление указанных цифр перед шаблоном, например [ ] [+7495] [XXXXXXX], в примере +7495 будет удалено и в линию попадет только 7-ый номер.

·         Match pattern: Шаблон - передает набор цифр, приставки и префиксы в линию оператора связи, например [ ] [ ] [1-9XXXXXX], в примере перебирается последовательность цифр от 1000000 до 9999999

·         CallerID: Данное поле служит для ограничения исходящих звонков по определенным номера АТС. Например, [ ] [ ] [ZXXXXXX] [10X], в примере внутренние номера 100-109 могут осуществлять вызовы через данный шаблон.

Для теста, к примеру, сделаем возможность звонить на мобильные номера через этот транк. Настройки и диалплан будет выглядеть следующим образом:

Настройки раз

Настройки два

Нажимаем Submit для сохранения введенных настроек, после чего нажимаем Apply Config для применения всех настроек. Если вы сейчас все настроили правильно, то вы сможете дозвониться к примеру, на свой мобильный телефон.
В дальнейшем по аналогии настраиваете и вызовы на другие направления.

Если вы собираетесь настроить возможность звонков на междугородние линии, то рекомендуется кроме стандартных настроек так же настроить пункт Time Group чтоб пресечь нежелательные звонки через это направление во внерабочее время на международные линии.

Входящие маршруты:

Настройка входящих через этот транк_1

Для настройки входящей маршрутизации переходим по следующему пути: Connectivity - Inbound Routes

Настройка входящих через этот транк_1

Нажимаем Add Inbound Route

Настройка входящих через этот транк_2

·         Description – Желаемое описание маршрута

·         DID Number - ID аккаунта Определить входящий DID номер, если ваша линия определяет DID номер на входящих звонках.

·         CallerID Number – Определить номер CallerID, который будет отвечать за входящие звонки.

·         Music On Hold - Музыка для ожидания вызова которую будет слышать клиент.

·         Set Destination – Направление звонка при входящем вызове.

Заполняем все как на скриншоте ниже

 

Настройка входящих через этот транк_3

Нажимаем Submit для сохранения введенных настроек, после чего нажимаем Apply Config для применения всех настроек.

Применяем настройки

На этом настройка транка завершена, если вы все сделали правильно, то сейчас вы сможете принимать входящие вызовы.

Возможные проблемы при регистрации транка:

Самые распространенные проблемы, с которыми вы можете столкнуться при регистрации любого sip-транка - самые банальные. Чаще всего это неправильный пароль и/или логин, учитывайте, что случайный пробел так же будет воспринят системой как символ.

Пример ошибки SIP Registrations в консоли asterisk:

[2017-09-12 14:21:23] NOTICE[2010]: chan_sip.c:23615 handle_response_register: Failed to authenticate on REGISTER to '0042373953@sipnet.ru' (Tries 3)

[2017-09-12 14:21:37] NOTICE[2010]: chan_sip.c:15251 sip_reg_timeout:    -- Registration for '0042373953@sipnet.ru' timed out, trying again (Attempt #5)

Пример ошибки на стороне оператора в консоли asterisk:


Ошибка на стороне оператора

В это случае, прежде чем звонить оператору снимите дамп, к примеру с помощью программы sngrep

SNGREP1

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

SNGREP 2

После нужно нажать F2 для сохранения

SNGREP 3

Высветится окно где можно задать папку куда будет сохранен дамп, а так же под каким именем. Заполняем как показано ниже на скриншоте и сохраняем.

SNGREP 4

 Все, дамп находится в папке root.

Если trunk не регистрируется и/или запрос на регистрацию даже не падает в консоль asterisk, то следует проверить настройки iptabels и firewall на asterisk, а так же на вашем сетевом оборудовании.

Помните, что кроме трафика на порту 5060/udp, аудио данные передаются по протоколу RTP через udp порты, диапазон которых указан в rtp.conf.

Так же стоит отметить еще одну распространенную проблему в виде односторонней слышимости. Чаще всего в это виноват неправильно настроенный Nat, который и не пропускает голос


Если в качестве маршрутизатора вы используете Mikrotik, то рекомендуем ознакомиться со следующими статьями на нашем сайте:

Настройка файрвола на маршрутизаторах Mikrotik (ссылка на нашу статью https://voxlink.ru/kb/voip-devices-configuration/mikrotik-firewall/)

Настройка маршрутизатора Mikrotik (ссылка на нашу статью https://voxlink.ru/kb/voip-devices-configuration/mikrotik-config )

Резервирование интернет-канала на маршрутизаторах Mikrotik (ссылка на нашу статью https://voxlink.ru/kb/voip-devices-configuration/mikrotik-rezerving )

Настройка приоритезации VoIP-трафика на маршрутизаторах Mikrotik ( https://voxlink.ru/kb/voip-devices-configuration/mikrotik-voip-traffic-configuration )

Следуя нашим рекомендациям, вы сможете избежать большинства стандартных проблем вызванных неправильной настройкой Mikrotik.

 

asterisk, nat, sip, настройка, Подключение, VoIP, FreePBX, Time, for, outbound, Т38, внутренние номера, callerid, mikrotik, firewall, centOS, Elastix, 1C