artem
13.03.2018
18250

Интеграция Asterisk с Skype for business

В этой статье рассмотрим настройку Asterisk для интеграции с Skype for business (Lync).

Астериск и Skype для бизнеса

Описание (Lync) Skype for business

Интерфейс программы

Благодаря Lync вы сможете отслеживать доступность контактов, отправлять мгновенные сообщения, начинать звуковые и видеозвонки и собрания по сети, а также присоединяться к ним — все это с помощью единообразного и привычного интерфейса. Lync интегрируется с другими приложениями Office и доступен для подписчиков, работающих на платформах Windows, Mac, Windows Phone, iPhone, iPod, Android и Office 365.

Lync Basic 2013 предоставляет основные функциональные возможности, доступные в полной версии — Lync 2013. Однако если вы хотите использовать любую из указанных ниже функций, обратитесь в службу технической поддержки вашей компании.

·         Дополнительные функции вызовов, доступные не для всех подписок Office 365, включают в себя групповой и одновременный звонок, переадресацию, приостановку и делегирование вызовов, голосовую почту, группы ответа, а также удаленное управление звонками.

·         Делегирование календаря

·         Просмотр видео из коллекции

·         Общий доступ к заметкам OneNote

·         Запись

·         Поиск по навыкам (недоступен в Office 365)

·         Инфраструктура виртуальных рабочих столов, VDI (недоступна в Office 365)

Тем не менее, рано или поздно могут понадобятся иные функции, которые продукты Microsoft предоставить не могут, а отказываться от уже настроенной платформы затруднительно. В расширении функционала поможет интеграция с Asterisk чем и посвящена данная статья.

О системе, на которой проводим настройку и цели

Нумерация внутренних номеров asterisk: 100-499
Нумерация внутренних номеров skype: 2000-2999

Нужно:
1. Чтобы пользователи Asterisk могли звонить пользователям Lync 2013 и на оборот
2. Нужно звонить во внешний мир пользователям Lync 2013 через Asterisk (правила набора на Asterisk)

Asterisk версии 13.18.2 установлен на CentOS 6.9 (Final). В качестве web-интерфейса используется FreePBX 13. Данные программные продукты вы можете скачать на нашем сайте по следующим ссылкам:

Asterisk – ( https://voxlink.ru/download/asterisk/ )
FreePBX – ( https://voxlink.ru/download/freepbx/ )

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

Установка Asterisk

Настройка Asterisk:

И так, у вас есть уже установленный Asterisk с web-интерфейсом, можем приступить к настройке. Вводим наш логин и пароль администратора от web-интерфейса

Вводим логин и пароль администратора

Аутентификация

После чего попадаем в главное меню с общей статистикой звонков

Главное меню

Настроем для начала внутреннего пользователя для тестов, для этого переходим по следующему пути: Application  — Extensions

Screenshot_4 Переходим в Extensions

Extensions

Добавляем новый extensions согласно нашей нумерации. Пусть тестовый номер будет 499.

Создание номера

Будьте осторожны если решите назначить внутренний номер 500-699, 5XX и 6XX номера назначать нежелательно т.к по умолчанию 5XX номера это группы вызова, а за 6XX номерами по умолчанию закреплены очереди вызова.

Вводим желаемый номер, отображаемое имя и нажимаем Submit, после чего нажимаем Apply Config.

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

Отлично, номер для теста есть. Переходим к следующему этапу. Номер для теста мы создали, но нам так же нужно связать нашу АТС и сервер Skype при помощи транка и настроить логику.

Переходим к настройке транка 1

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

Настраиваем транк, переходим по следующему пути: Connectivity – Trunks

Переходим к настройке транка 2 Connectivity – Trunks

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

Тут у нас отображены все имеющиеся транки и их состояния (включены или отключены).

Trunks

Для соединения Asterisk и Skype будем использовать обычный SIP-trunk. Нажимаем + Add Trunk – Sip trunk

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

В данном разделе нас интересуют следующие пункты:

·         Trunk Name – Здесь прописываем имя нашему транку

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

·         Disable Trunk – Убедитесь, что установлен параметр «No»

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

Заполнили. Переходим в sip Settings.

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

Сервер скайп-а расположен по адресу 10.20.0.22.Мы будем использовать следующие настройки транка:

type=peer
qualify=yes
nat=no
insecure=invite,port
host=10.20.0.22
port=5060
transport=tcp
context=from-internal
disallow=all
allow=alaw&ulaw
promiscredir=yes
conreivite=yes

TCP – Это протокол, который используется Lync
5060 – Порт, который использует Lync

Учитывайте, что если сервер skype находится за nat-ирующим устройством, то параметр nat нужно установить nat = yes. Так же учитывайте, что Lync работает только по tcp.

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

Как и ранее, после того, как все заполнили, нажимаем Submit и Apply Config.
И так, транк мы настроили, но нам нужно еще настроить маршрутизацию, а так же внести кое-какие правки в sip settings.

Маршрутизация:

Главный экран

Переходим по следующему пути: Connectivity – Outbound Routes

Исходящий маршрут

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

Исходящий маршрут

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

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

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

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

Исходящий маршрут

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 могут осуществлять вызовы через данный шаблон.
Как я писал выше, наша нумерация на skype начинается с 2000-2999 и нам подойдет шаблон 2XXX.

Так же обратите внимание на внутренний номер на стороне Lync. Перед внутренним номером нужно дописывать «+», т.к любой внутренний номер на Lync набирается через +

Исходящий маршрут

Как и ранее, после того, как все заполнили, нажимаем Submit и Apply Config.

По аналогии так же нужно сделать исходящий маршрут для звонков на мобильные телефоны для тестов. К примеру, вот таким образом:

Маршрутизация

Маршрутизация

Обратите внимание, что для исходящих маршрутов я использую уже другой транк, через который будут проходить вызовы и использовать транк который соединяет АТС и Skype

И так, маршрутизация для тестов настроена.

Стартовый экран

Осталось провести еще настройки Sip setting. Переходим по следующему пути: Settings – Asterisk Sip Setting

Asterisk Sip Settings

Переходим в Chan SIP Settings

Прокручиваем эту страницу вниз, до пункта «Advanced General Settings»

Asterisk sip settings

Нас интересуют следующие пункты:

·         Tcpenable = yes

·         Транспорт = tcp

В старых версиях FreePBX нет этих пунктов, если вы используете старую версию FreePBX, то на вкладке «Other SIP Settings» добавьте данные поля и пропишите эти значения, после чего примените настройки

Пример настроек для старой версии FreePBX:

Asterisk sip settings

Сохраняем и применяем настройки.

Настройка со стороны Lync 2013:

Мы закончили настройку со стороны Asterisk, но чтоб подключение прошло, нужно настроить подключение так же со стороны Lync.

Стоит отметить, что с нашими настройками в пункте «Для начала разрешаем работать через TCP» указывайте порты как на скриншоте ниже

Порты

Проверяем работу:

Стартовое окно

После того, как вы провели все настройки, нужно проверить поднялся ли транк. Для этого не обязательно подключаться к АТС через ssh и все можно сделать через FreePBX. Переходим по следующему пути: Admin – Asterisk CLI

Asterisk CLI

Данный инструмент является многоцелевым и может выполнять следующие функции:

·         Получение информации о системных компонентах Asterisk

·         Настройка системной конфигурации

·         Просмотр логов, ошибок и предупреждений

·         Генерация звонков в целях проведения тестов

·         Просмотр расширенной документации – для API, приложений, функций, настройки модулей и так далее.

Посмотрим подключение через команду «Sip show peers»

Стоит отметить, что в web-версии Asterisk CLI нет возможно просматривать логи в реальном времени. Потому для траблшутинга лучше всего подключаться к станции через ssh

Asterisk CLI

И как видим соединение установлено, отлично. Значит, если вы правильно настроили маршрутизацию, то сейчас мы сможем совершить звонок со skype на внутренние номера телефонов asterisk, а так же на внешние номера.

Для проверки прохождения вызова лучше подключитесь к станции по ssh, так вы сможете просмотреть логи, ошибки и предупреждения в реальном времени.

Проверяем внутренний вызов

Проверка внутреннего вызова

Для теста, к примеру, наберем внутренний номер 115

Проверка работоспособности

И теперь сделаем обратный звонок, к примеру, со 102 на 2220

Вызов так же успешно прошел.

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

На этом базовая настройка завершена. Если у вас возникли проблемы с подключением тестового софтфона то перейдите в следующую главу.

Проблемы с регистрацией телефона:

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

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

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

Пример ошибки

Вторая распространенная проблема — deny и permit указанные в asterisk. Если телефон попробует зарегистрироваться из сети, которая не включена в список разрешенных сетей, то будет примерно следующая ошибка:

Пример ошибки

Если телефон не регистрируется и запрос на регистрацию не падает в консоль asterisk, то следует проверить настройки firewall. К примеру, чтоб разрешить из какой-то сети подключаться по SIP (в том числе и провайдерам) в нашем дистрибутиве мы используем iptables. Предположим, что нам нужно разрешить доступ для подключения SIP-телефонов из под сети 192.168.12.0. Будем править выгрузкой правил iptables.

Подключаемся по ssh

Подключение по SSH

Подключаемся по ssh к станции, вводим логин root и ваш пароль

Стартовый экран

Мы попали на стартовый «экран», с основной информацией о системе. Перед всеми манипуляциями необходимо сделать дамп правил.

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

Переход в папку

Переходим в папку src с помощью команды cd /usr/src

Создание дампа

Выгружаем правила при помощи следующей команды iptables-save > dump

Проверка наличия дампа

Проверим, появился ли файлик с сохраненными правилами при помощи команды ls –l . Как видно на скриншоте выше – файлик успешно создан. Можем приступать к редактированию правил. Аналогичным образом выгружаем правиал еще раз, но на этот раз имя файла будет не dump, а предположим «dd».

Открываем файлик

Теперь открываем созданный файлик любым текстовым редактором. К примеру, я буду использовать nano.

Текстовый редактор nano не является стандартным в Centos и прежде чем его использовать – его нужно установить. Его можно установить, выполнив следующую команду:

yum install nano

Iptables

Зашли, спускаемся к цепочке -A SIP -j PHONES и прописываем следующее:

-A SIP -s 192.168.12.0/24 -j ACCEPT

Iptables

Прописали. Теперь осталось сохранить.

Iptables

Нажмите CTRL + X

Iptables

Y, а затем Enter.

iptables-restore < dd
service iptables savey
service iptables restart.

Проверить правила можно с помощью iptables –L –n, которая выведет все действующие правила.

Настройка файрвола на маршрутизаторах Mikrotik.

Настройка маршрутизатора Mikrotik.

Резервирование интернет-канала на маршрутизаторах Mikrotik

Настройка приоритезации VoIP-трафика на маршрутизаторах Mikrotik.

Правильная настройка Mikrotik позволит избежать большой части проблем связанных с Nat.

Подписаться
Уведомить о
guest
1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Игорь Невинный
Игорь Невинный
21.06.2021 16:23

Приветствую.
Спасибо, полезная статья.
А с Microsoft Teams интегрировать asterisk еще не пробовали?

Остались вопросы?

Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование


ближайшие курсы

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

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

Гибкий в настройке.

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

Имеет огромный функционал.

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

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

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

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.