Поднятие транка между Астериск и 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 надо выполнить следующие действия:

  1. Установить переменные указывающие на внешний IP, SIP port, настройки провайдера по умолчанию.

ИНФО 2

В FS транки называются гейтвеями. Поэтому дальше будет использоваться это слово, для понимания

ИНФО 3

В нашем случае будем использовать их. Т.к. у FS не подключено никаких доп линий:

  1. Настроить в пользовательской директории гейтвей с астериском.
  2. Применить настройки

Конфигурирование 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 и вставляем туда следующие строки.

В конфиге вы можете увидеть непонятные значения вида $$. Это означает, что туда будет подставляться значение соответствующей переменной из vars.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. проверка соединения

Источник: voxlink.ru