Один из простых способов соединить Lync Server с любым провайдером IP-телефонии.
Небольшим, но существенным препятствием для использования Lync Server в качестве основы корпоративной телефонии может стать особенность его работы с протоколом SIP. Особенность заключается в полной несовместимости со стандартами провайдеров IP-телефонии. Lync Server поддерживает TCP или TLS и не может передавать учетные данные, провайдеры IP-телефонии в свою очередь в основном используют UDP и требуют авторизацию по логину и паролю.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/efc/382/f10/efc382f109edf9e427d9298055436331.png)
В качестве основы для решения FreeSWITCH выбран не случайно. Идеологически это довольно мощная платформа-маршрутизатор потоков мультимедийного трафика с возможностью подключения дополнительных обработчиков в виде модулей-плагинов. Конфигурация Lync <-> FreeSWITCH <-> PSTN является как раз самым простейшим случаем, соответствующим архитектурной модели FreeSWITCH.
![Параметры транка](https://habrastorage.org/r/w1560/getpro/habr/post_images/4bd/425/fdf/4bd425fdf825427b273483ce7a7c99a8.png)
В подразделе Trunk Configuration открываем правило Global. Для параметра Encryption support level выбираем Not Supported, для параметра Refer support – None. Устанавливаем флажок Centralized media processing и убираем все остальные.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/093/2cc/6ef/0932cc6ef5da219acbdc022a4552e1b0.png)
В подразделе Route создаем правило для маршрутизации звонков на внешние номера на SIP-транк до нашего шлюза.
В папке \conf\pstn указываем учетные данные в шаблоне файла для одного из провайдеров и удаляем у него расширение «.noload». Если для вашего провайдера шаблона нет в папке, то можно взять любой за основу и скопировать его в файл без расширения «.noload». В итоге должен остаться один или несколько .xml файлов с параметрами действующих провайдеров IP-телефонии.
В файле freeswitch.xml указываем адрес (fe.lab.local в нашем примере), порт (5068) и протокол (tcp) Lync Mediation Server, локальные адрес и порт (6000) для соединения с Lync Mediation Server, локальные адрес и порт (5060, но может быть любой) для соединения с провайдером PSTN.
В конце файла в секции «dialplan» в контексте «from_Lync» для <extension name=«RouteToPSTN»> в правиле «action» указываем имя шлюза из профайла действующего провайдера PSTN, к которому будут отравляться все внешний звонки от Lync. Если провайдеров несколько, необходимо создать правила маршрутизации вызовов. Можно это сделать в самом Lync, но это уже лучше описать в отдельной статье.
FreeSWITCH может запускаться как консольное приложение, так и как сервис. После внесения параметров в шаблон конфигурации необходимо запустить консольное приложение и проверить, подключились ли профйлы и шлюзы (gateway). Для этого в командной строке выполняется команда:
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/0d8/df4/e80/0d8df4e8089ca1092bfe9e9188a7b0fa.png)
Если оба профайла и gateway (к PSTN) успешно запустились и подключились, можно закрывать консоль командой «...» (три точки), запускать и ставить на отложенный автозапуск сервис FreeSWITCH.
Шлюз настроен!
Шаблон конфигурации для FreeSWITCH: freeswitch.conf.lync-pstn.zip.
Пользуйтесь на здоровье!
Небольшим, но существенным препятствием для использования Lync Server в качестве основы корпоративной телефонии может стать особенность его работы с протоколом SIP. Особенность заключается в полной несовместимости со стандартами провайдеров IP-телефонии. Lync Server поддерживает TCP или TLS и не может передавать учетные данные, провайдеры IP-телефонии в свою очередь в основном используют UDP и требуют авторизацию по логину и паролю.
Задача
Подобрать наиболее простое и легкое решение для организации шлюза. В идеале бесплатное, стабильное и под Windows.Решение
FreeSWITCH в минимально возможной конфигурации, достаточной для соединения с одной стороны с Lync Server и с другой для авторизации у провайдеров IP-телефонии.![image](https://habrastorage.org/getpro/habr/post_images/efc/382/f10/efc382f109edf9e427d9298055436331.png)
В качестве основы для решения FreeSWITCH выбран не случайно. Идеологически это довольно мощная платформа-маршрутизатор потоков мультимедийного трафика с возможностью подключения дополнительных обработчиков в виде модулей-плагинов. Конфигурация Lync <-> FreeSWITCH <-> PSTN является как раз самым простейшим случаем, соответствующим архитектурной модели FreeSWITCH.
Топология
Всё зависит от конфигурации конкретной сети и существующей нагрузки на телефонию. Жизнеспособны оба варианта, как с установкой FreeSWITCH совместно с ролью Mediation Server (или Standard Edition), так и на отдельном сервере.Настройка
Весь процесс настройки предельно простой и состоит из 3-х шагов:Создание SIP-транков в Topology Builder
Открываем существующую топологию в Topology Builder. В свойствах Mediation Server включаем TCP порт (для примера 5068). Создаем новый объект PSTN Gateway (имя и адрес можно указать либо отдельного сервера, либо Mediation в случае совместной установки). В параметрах SIP-транка указываем порт, на котором слушает FreeSWITCH (например, 6000), протокол TCP (в этом примере), порт Mediation Server (5068).![Параметры транка](https://habrastorage.org/getpro/habr/post_images/4bd/425/fdf/4bd425fdf825427b273483ce7a7c99a8.png)
Настройка Lync Server
Открываем раздел Voice Routing.В подразделе Trunk Configuration открываем правило Global. Для параметра Encryption support level выбираем Not Supported, для параметра Refer support – None. Устанавливаем флажок Centralized media processing и убираем все остальные.
![image](https://habrastorage.org/getpro/habr/post_images/093/2cc/6ef/0932cc6ef5da219acbdc022a4552e1b0.png)
В подразделе Route создаем правило для маршрутизации звонков на внешние номера на SIP-транк до нашего шлюза.
Настройка FreeSWITCH
Скачиваем и устанавливаем FreeSWITCH. Удаляем вcё содержимое папки \conf в директории установки. Вместо удаленных файлов распаковываем архив с конфигурацией (ссылка в конце поста).В папке \conf\pstn указываем учетные данные в шаблоне файла для одного из провайдеров и удаляем у него расширение «.noload». Если для вашего провайдера шаблона нет в папке, то можно взять любой за основу и скопировать его в файл без расширения «.noload». В итоге должен остаться один или несколько .xml файлов с параметрами действующих провайдеров IP-телефонии.
В файле freeswitch.xml указываем адрес (fe.lab.local в нашем примере), порт (5068) и протокол (tcp) Lync Mediation Server, локальные адрес и порт (6000) для соединения с Lync Mediation Server, локальные адрес и порт (5060, но может быть любой) для соединения с провайдером PSTN.
В конце файла в секции «dialplan» в контексте «from_Lync» для <extension name=«RouteToPSTN»> в правиле «action» указываем имя шлюза из профайла действующего провайдера PSTN, к которому будут отравляться все внешний звонки от Lync. Если провайдеров несколько, необходимо создать правила маршрутизации вызовов. Можно это сделать в самом Lync, но это уже лучше описать в отдельной статье.
FreeSWITCH может запускаться как консольное приложение, так и как сервис. После внесения параметров в шаблон конфигурации необходимо запустить консольное приложение и проверить, подключились ли профйлы и шлюзы (gateway). Для этого в командной строке выполняется команда:
sofia status
![image](https://habrastorage.org/getpro/habr/post_images/0d8/df4/e80/0d8df4e8089ca1092bfe9e9188a7b0fa.png)
Если оба профайла и gateway (к PSTN) успешно запустились и подключились, можно закрывать консоль командой «...» (три точки), запускать и ставить на отложенный автозапуск сервис FreeSWITCH.
Шлюз настроен!
Шаблон конфигурации для FreeSWITCH: freeswitch.conf.lync-pstn.zip.
Пользуйтесь на здоровье!