Поднятие транка между Астериск и FreeSwitch
Содержание
Недавно выполнял кейс связки Астериска и Freeswitch SIP транком. Вы скажете, что в этом такого? Но проблема таилась в отсутствии специалиста по Freeswitch. Пришлось “курить” мануалы по FS и разбираться в структуре его конфигурационных файлов, учитывая опыт работы только с Asterisk. Итак, в этой статье рассмотрим настройку SIP транка на стороне Freeswitch (далее FS). Немного []
Недавно выполнял кейс связки Астериска и Freeswitch SIP транком. Вы скажете, что в этом такого? Но проблема таилась в отсутствии специалиста по Freeswitch. Пришлось “курить” мануалы по FS и разбираться в структуре его конфигурационных файлов, учитывая опыт работы только с Asterisk.
Итак, в этой статье рассмотрим настройку SIP транка на стороне Freeswitch (далее FS). Немного упомяну о структуре и отношении конфиг файлов в FS. Затем выполним настройки SIP устройства на Asterisk и по окончанию проверим свою настройку.
Рис 1. Схема подключения
Немного о FreeSwitch
ИНФО 1
Процесс установки FS в этой статье рассматриваться не будет. Т.к. он есть на нашем сайте. его можете посмотреть по этой ссылке
У FS есть своя иерархия отношения конфигурационных файлов. Все файлы можно условно разделить на несколько типов:
- Глобальный конфиг
- Файл с указанием переменных
- Диалплан
- Конфигурация связанных модулей
- Пользовательские настройки
Рис 2. Структура файлов FS
Конфигурационные файлы FS по умолчанию находятся в директории /etc/freeswitch. Именно в этой директории мы будем проводить все наши настройки. Определим на будущее, для настройки транка на стороне FS надо выполнить следующие действия:
- Установить переменные указывающие на внешний IP, SIP port, настройки провайдера по умолчанию.
ИНФО 2
В FS транки называются гейтвеями. Поэтому дальше будет использоваться это слово, для понимания
ИНФО 3
В нашем случае будем использовать их. Т.к. у FS не подключено никаких доп линий:
- Настроить в пользовательской директории гейтвей с астериском.
- Применить настройки
Конфигурирование SIP гейтвея на Freeswitch
Определившись с планом действий начнем выполнение настроек. И поэтому откроем файл с переменными vars.xml любым текстовым редактором. Условно разобьем все переменные на типы принадлежности и необходимо изменить следующие значения:
- Переменные определяющие external IP
- ext-rtp-ip
- ext-sip-ip
- outbound_caller_name
- outbound_caller_id
- default_areacode
- default_country
- default_provider
- default_provider_username
- default_provider_password
- default_provider_from_domain
- default_provider_register
- default_provider_contact
ИНФО 4
Для безопасности также можно заменить параметр default_password. Это означает стандартный пароль для локальных пользователей FS.
Настройки будут выглядеть примерно так. У вас будут совершенно другие данные ниже выделены цветом:
Рис 3. var.xml
ИНФО 5
Обратите внимание на параметры default_areacode и default_country для каждой страны и региона они разные. Поэтому если вы не с РФ убедитесь в верности этих значений
Закончив определять глобальные переменные, необходимо создать файл с настройками гейта. Переходим в директорию /etc/freeswitch/directory/default/. Здесь, по умолчанию, лежат настройки для пользователей FS. Значит и будем сюда добавлять файл с настройками астериска. Создаем файл asterisk.xml и вставляем туда следующие строки.
В конфиге вы можете увидеть непонятные значения вида $$
Рис 4. asterisk.xml
ИНФО 6
Важно не забыть добавить IP адрес астериска в acl. Иначе гейт не заработает.
На этом исправление и добавление значений в конфигурационных файлах завершено. Перезапускаем freeswitch командой systemctl restart freeswitch или командой reload mod_sofia и отправляемся на астериск завершать работы.
Настройки SIP транка на Астериске
На астериске делаем транк. Ознакомиться с примерами заведения SIP транков на Астериск вы также сможете на нашем сайте в разделе База Знаний.
ИНФО 7
Т.к. сервер FS находился на динамическом внешнем IP поэтому в настройках транка указано permit=0.0.0.0/0.0.0.0 и host=dynamic. Для вашей безопасности укажите свои статические IP-адреса.
Рис 5. SIP trunk Asterisk
Проверить подключение транка на стороне FS можно командой sofia status.
Рис 6. проверка соединения
Источник: