Подключение sip телефона к lync
Home Каталог Программы Lync Server - OCS Как интегрируется Lync 2010 с телефонией?
Как интегрируется Lync 2010 с телефонией?
Одной из довольно востребованных функций Lync Server 2010 можно назвать интеграцию с офисной телефонией. Возможность звонить с офисного телефона абонентам Lync 2010 , а также производить звонки на городские номера, использовать одновременный звонок на Lync и офисный телефон или делать переадресацию звонков на мобильные телефоны - позволяет в полной мере организовать "объединенные коммуникации" в компании и, в некоторых случаях, даже заменять традиционную телефонию.
Microsoft позиционирует Lync Server , имеющий богатый пакет голосовых функций, как замену офисной ATC . Но это в будущем, а пока в большинстве офисов стоит не Lync 2010, а обычные офисные АТС. И в тоже время интеграция Lync и офисной АТС для проектов внедрения Объединенных коммуникаций стоит если не на первом месте, то сразу после организации внешнего доступа для абонентов через Интернет.
Однако, для того чтобы функции телефонии заработали, необходимо подключить Lync 2010 к сетям общего пользования, напрямую, либо через аудиошлюзы. Способы интеграции различаются в зависимости от типа подключения со стороны Lync и со стороны телефонной станции.
Подключение Lync к провайдеру телефонии по SIP-trunk
Схема организации SIP-trunk
Подключение Lync к офисной АТС через direct SIP
Если установленная в офисе телефонная станция находится в списке протестированных IP-PBX - это значит, что к ней можно подключиться через direct-sip напрямую. При этом телефонная станция воспринимает абонентов Lync 2010 как дополнительные телефонные устройства и позволяет звонить как на офисные телефонные номера, так и через станцию в город и, естественно, принимать звонки от других абонентов АТС. В общем виде схема такого подключения будет выглядеть так :
Схема подключения Lync Server к телефонной станции
При такой схеме выход на телефонные сети общего пользования будет происходить через офисную АТС. Media Gateway между телефонной станцией и абонентами Lync позволяет подключиться практически к любым АТС по различным протоколам, поддерживаемым конкретной телефонной системой.
Подключение Lync к телефонной станции через сертифицированный шлюз
Есть список сертифицированных шлюзов для Lync , которые позволяют провести интеграцию Lync и телефонии. Что значит сертифицированный ? Это значит, что было проведено тестирование этих шлюзов на совместимость и все необходимые тесты прошли успешно.
А если взять более дешевые - не сертифицированные шлюзы , будут ли они работать ? Скорее всего, работать они будут, но с теми или иными проблемами - неизбежной платой за относительно низкую стоимость. Запуск их в работу требует определенных усилий и нетривиальных ходов и даже если на первый взгляд интеграция прошла успешно, проблемы которые выявляются в процессе эксплуатации могут поставить крест на такой экономии. Например, может не работать перевод звонка в сложных случаях, не передаваться АОН, неправильно работать при использовании голосовых сервисов, таких как Call-Park . Сертификация оборудования гарантирует отсутствие такого рода проблем.
Если с подключением к Lync все более или менее понятно, то подключение к конкретной АТС, которое можно осуществить различными способами. В одних ATC есть возможность подключить sip - trunk , в других - осуществить подключение через интерфейс E1 (PRI) . Продвинутые аудиошлюзы, такие как AudioCodes Mediant 1000 могут делать и то и другое в зависимости от установленных в них плат расширения .
Подключение Lync-ATC через шлюз AudioCodes Mediant 1000
Использование внутренних интерфейсов АТС, как правило, предпочтительнее для интеграции с Lync . Но, нет правил без исключения. Подключение по sip-trunk или PRI требует программирования и, возможно, upgrade самой ATC. А если доступа к телефонной станции нет ? И от провайдера телефонии приходят обычные аналоговые телефонные линии ? Можно ли их подключить к Lync?
Подключение Lync к PSTN через сертифицированный шлюз
Рассмотрим вариант, когда офисной телефонной станции нет или по каким-то причинам к ней нельзя подключиться по внутренним интерфейсам. В конфигурации интерфейсными платами FXO шлюз AudioCodes Mediant 1000 позволяет подключить Lync по схеме, когда шлюз ставится между провайдером телефонии и Lync и на него заводятся линии FXO или sip-trunk , приходящие от провайдера
Подключение Lync (OCS) к PSTN через аудиошлюз
В итоге можно сказать, что интегрировать Lync Server с телефонией можно практически в любых случаях. В зависимости от самой телефонной станции и имеющихся у нее интерфейсов сопряжения, используется тот или иной способ интеграции. Lync подключается напрямую либо через аудиошлюзы, создавая в компании единое телекоммуникационное пространство для эффективной работы бизнес-подразделений.
В этой статье я постараюсь описать базовые принципы SIP со ссылками на то, как они используются с Lync Server. А если будет настроение и немного свободного времени, то в будущем постараюсь написать несколько более глубоких статей по реализации SIP Lync Server.
Кстати, SIP в Lync используется для установления любых типов соединений, а значит, поняв его принципы, вам будут проще выявлять не только ошибки VoIP, но и других аспектов работы Lync Server. (и конечно, не только Lync Server).
Сразу оговорюсь, что в VoIP я далеко не гуру и осилить тот же RFC 3261 пока не сумел. Так что, если будут замечания, пожалуйста, не стесняйтесь.
- Номер или sip адрес вызывающего абонента;
- Номер или sip адрес вызываемого абонента.
Уже не плохо. Проверяем, что видим правильный вызов и убеждаемся, что преобразования номера (если они имели место) выполнены корректно.
- IP адрес и порт, на котором ожидается голосовой трафик. На самом деле это уже не SIP, а SDP (Session Description Protocol), но об этом дальше.
Справочная информация
Основные компоненты SIP
Обычно выделяют SIP Proxy и SIP Registrar. Опять же, обычно, говоря SIP registrar, имеют ввиду сервер со всеми серверными ролями. А в понятие SIP Proxy включают Redirect server.
Прочитали, поняли и отложили в дальний уголок сознания. 🙂 Главное, что нужно запомнить на первых парах:
- SIP Registrar, как видно из названия, регистрирует абонентов.
- SIP Proxy – пробрасывает вызовы между абонентами, если абоненты, не могут общаться напрямую.
- Любое устройство в рамках SIP может выступать клиентом или сервером.
- SIP Proxy так вообще обычно сначала выступает в качестве сервера, отвечая на запрос и тут же в качестве клиента инициируя новую транзакцию.
В простейших случаях SIP вызов может идти по следующей схеме.
Что касается Lync Server:
- Front End объединяет в себе все серверные роли.
- Сервер Mediation выступает в качестве SIP Proxy для телефонных вызовов.
- Со стороны Lync Server c сервером Mediation общается Front End, но не клиентское ПО.
- С точки зрения SIP можно сказать, что внутри сервера Lync Server SBA (Survivable Branch Appliance) сидят маленькие Front End и Mediation.
- SIP трафик можно обнаружить между различными компонентами SBA (пересылка с порта обслуживающего службу Front End на порт обслуживающий службу Mediation).
- В Lync Server SIP вызовы всегда идут через SIP Proxy.
Стандартные запросы
Это запросы, появившиеся в RFC 3261. Остальные были добавлены позже
Ответы
Ответы в SIP имеют не только имя, но и номер. По номерам они и делятся на категории. Приведу несколько примеров для каждой категории
Вы наверно заметили, как часто я говорю «обычно». Для понимания, приведу выдержку из RFC.
Как пример, при переадресации по ответам класса 3xx идентификатор сессии может быть сохранен, а может и обновлен (что такое идентификатор сессии, читайте дальше).
Еще немного определений
Session description protocol (SDP)
SIP Proxy может подменить SDP при отправке INVITE дальше, если он будет терминировать медиа трафик на себе.
SIP Proxy может просто подставить свой IP адрес вместо адреса вызывающего, а может и поменять набор предлагаемых кодеков. В этом случае на SIP Proxy будет возлагаться задача транскодинга. Например, на границе с WAN вы можете захотеть использовать кодек с худшим качеством, но с меньшим объемом передаваемых данных.
Положительный ответ на INVITE (200 OK) также будет включать в себя SDP c описанием возможностей клиентского ПО вызываемого, согласующихся с возможностями клиентского ПО вызывающего. Обычно в ответ включается один кодек, по которому и будет происходить взаимодействие.
Кроме того, SDP обычно включается в ответ Session in progress.
Классика из RFC
Начали вызов, прогнали вызов через два SIP Proxy, приняли вызов, инициировали сессию медиа напрямую между абонентами, поговорили и закончили вызов.
Пример вызова из того же RFC. Пока без SDP. Выделенные поля обязательны для любого SIP запроса.
А тут номер запроса и сам запрос. Для чего это нужно. Например, в рамках сессии сначала может прийти INVITE а потом в ответ на 183 Session in progress будет отправлен PRACK. CSeq поможет определиться на какой запрос пришел ответ 200 ОК.
Указание, куда можно слать ответные запросы.
К запросу прилагается SDP. Должен идти ниже.
Типа контрольной суммы.
А самим посмотреть?
Перейдем от теории к практике.
Итак, у нас есть Lync Server, несколько клиентов и некая проблема… ну или Lync Server, несколько клиентов и немного любопытства. 🙂
Для начала, заходим на Lync Server и запускаем Lync Server 2010 Logging Tool.
Lync Server 2010 Logging Tool
В Logging Tool выбираем SIPStack. Изменять собираемые данные не нужно. Теперь нажимаем Start и повторяем операцию, которую хотим отследить. Например, голосовой вызов коллеге по работе.
Установив Lync Server 2010 Resource Kit Tools, снова нажимаем analyze, но на этот раз уже наблюдаем инструмент под названием Snooper.
Нас интересует вкладка Messages.
Конечно, не так удобно, как на картинке нарисованной псевдографикой выше, но уже лучше, чем в файле с непроизносимым названием, в который сохраняются журналы из Lync Server 2010 Logging Tool.
Советы по работе с инструментом можно найти тут
Wireshark
Ну а теперь вернёмся к телефонии и подумаем как бы поудобнее поглазеть на вызов между Lync Server и голосовым шлюзом. Предполагается, что защищать сертификатами вы это соединение пока не стали.
Скачиваем инструмент Wireshark и устанавливаем его на сервер Mediation вместе с предлагаемым в процессе установки PCAP.
Запускаем в Wireshark сбор данных, набираем в поле фильтра SIP (не забыв нажать Enter) и инициируем вызов.
Но это не самое интересное. Выбираем Telephony/Voip Calls. Выделяем выполненный вызов и жмем Flow.
Напоследок, несколько примеров из Snooper
Имя контакта находится в теле запроса (вырезано желтым)
3. Голосовой вызов Lync-to-Lync. (вставлю на неделе) 🙂
Журнал с точки зрения Lync Server.
Если будут пожелания или вопросы по статье – оставляйте / задавайте их тут. Вопросы по трабшуттингу Lync Server лучше писать на форумы Technet в раздел Lync Server 2010.
Пришлось разбираться, что же за зверь этот Lync Phone Edition.
Поиск по руководству дал понимание того, что телефон может работать в двух режимах:
Так как использование в качестве гарнитуры было мне не интересно, я пошел копать дальше.
Официальная документация на Technet показалась мне не очень понятной. А вот статья Jeff Schertz гораздо яснее.
Итак, что же нам нужно настроить, чтобы телефон работал по сети:
- настроить DNS;
- настроить DHCP;
- настроить Lync Server.
Примечание автора: этот объем настроек необходим в дополнение к уже настроенной и работающей Lync-инфраструктуре! 🙂
1. Настройка DNS
2. Настройка DHCP
С помощью опции 119 укажите используемые SIP-домены.
С помощью опций 43 и 120 укажите адрес сервера и расположение служб сертификатов Lync. Опция 43 состоит из подопций, поэтому ее крайне сложно создать вручную (текнет).
Option Number
Option Name
ASCII Value (example)
UCIdentifier
MS-UC-Client
URLScheme
WebServerFQDN
lync.schertz.local
WebServerPort
CertProvRelPath
/CertProv/CertProvisioningService.svc
В опции 120 указано имя сервера входа Lync (SIP).
Для автоматизированного создания опции 43 Microsoft предлагает воспользоваться утилитой DHCPUtil.exe.
Чтобы выполнить создание записей в DHCP, необходимо запустить эту утилиту на DHCP-сервере со следующими параметрами:
Если опустить параметр -runconfigscript, то утилита просто произведет преобразование всех параметров в шестнадцатеричную систему счисления и приведет пример команды для настройки области DHCP вручную.
Если Web-сервисы располагаются на сервере, отличном от SIP из опции 120, то это также можно указать в команде:
В качестве альтернативы всему этому геморрою с опциями 43 и 120 можно поднять DHCP-сервер, интегрированный с Lync:
Но мне это показалось менее управляемой вещью, чем внешний DHCP.
После создания опций можно с помощью DHCPUtil проверить корректность настройки:
3. Настройка Lync Server
Тут все относительно проще:
После этого можно включать телефон, вводить телефонный номер и пинкод, после чего наслаждаться жизнью. Правда, с вас также спросят пинкод для разблокировки.
Работать с адресной книгой придется с цифровой клавиатуры:
Знак пробела вроде бы *.
Это общедоступный телефон, с которого звонить может любой желающий. То есть, авторизация (номер/пин) проходит один раз, после чего телефон работает без авторизации и блокировки. Для сотрудников остается возможность авторизации на телефоне по пин-коду и использованию телефонного аппарата под себя на ограниченное время (например, 15 минут).
Использование Lync Phone Edition в организации: 2 комментария
Спасибо за статью. Хотелось бы уточнить один вопрос, никак не соображу, как настроить телефон для использования в режиме гарнитуры? Версия прошивки 4.0.7577.4397
Добрый день, Макс.
Я сам не сталкивался с таким вариантом использования. Насколько я подозреваю, надо подключить телефон USB-кабелем к компьютеру и указать использование его в качестве колонок/микрофона для линк.
Добавить комментарий Отменить ответ
What's New in 3.0.0, November 2021 Release Scheduled Tasks Scheduler feature can be used to run periodic health checks on…
Проверь и расскажи нам!
Будет работать Horizon agent вместе с Direct Connect plгпшт с Windows Server в режиме RDSH, без Connection Server?
Ни разу с таким не встречался, это какой-то корнер-кейс с увеличением сразу на 20 ТБ?
А мы успели не только скачать, но и раскатать на несколько хостов :-)
Так уже откатили же, даже не скачать.
Я не расист. но после того как VMware стала упралвяться и поддерживаться индусами, стабильность продукта сдохла как бобик.
В этой статье рассмотрим настройку Asterisk для интеграции с Skype for business (Lync).
Описание (Lync) Skype for business
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, то советуем ознакомиться с нашей статьей по настройке Asterisk по следующей ссылке:
Настройка Asterisk:
И так, у вас есть уже установленный Asterisk с web-интерфейсом, можем приступить к настройке. Вводим наш логин и пароль администратора от web-интерфейса
Вводим логин и пароль администратора
После чего попадаем в главное меню с общей статистикой звонков
Screenshot_4 Переходим в Extensions
Добавляем новый extensions согласно нашей нумерации. Пусть тестовый номер будет 499.
Будьте осторожны если решите назначить внутренний номер 500-699, 5XX и 6XX номера назначать нежелательно т.к по умолчанию 5XX номера это группы вызова, а за 6XX номерами по умолчанию закреплены очереди вызова.
Вводим желаемый номер, отображаемое имя и нажимаем Submit, после чего нажимаем Apply Config.
Отлично, номер для теста есть. Переходим к следующему этапу. Номер для теста мы создали, но нам так же нужно связать нашу АТС и сервер Skype при помощи транка и настроить логику.
Переходим к настройке транка 1
Настраиваем транк, переходим по следующему пути: Connectivity – Trunks
Переходим к настройке транка 2 Connectivity – Trunks
Тут у нас отображены все имеющиеся транки и их состояния (включены или отключены).
Для соединения Asterisk и Skype будем использовать обычный SIP-trunk. Нажимаем + Add Trunk – Sip trunk
В данном разделе нас интересуют следующие пункты:
· Trunk Name – Здесь прописываем имя нашему транку
Всегда давайте любым своим транкам «осмысленные» названия иначе в дальнейшем при дебаге могут возникнуть сложности.
· Disable Trunk – Убедитесь, что установлен параметр «No»
Заполнили. Переходим в sip Settings.
Сервер скайп-а расположен по адресу 10.20.0.22.Мы будем использовать следующие настройки транка:
type=friend
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 – Указываем шаблоны для набора номеров.
Правила набора номера:
Так же обратите внимание на внутренний номер на стороне Lync. Перед внутренним номером нужно дописывать «+», т.к любой внутренний номер на Lync набирается через +
Как и ранее, после того, как все заполнили, нажимаем Submit и Apply Config.
По аналогии так же нужно сделать исходящий маршрут для звонков на мобильные телефоны для тестов. К примеру, вот таким образом:
Обратите внимание, что для исходящих маршрутов я использую уже другой транк, через который будут проходить вызовы и использовать транк который соединяет АТС и Skype
И так, маршрутизация для тестов настроена.
Осталось провести еще настройки Sip setting. Переходим по следующему пути: Settings – Asterisk Sip Setting
Переходим в Chan SIP Settings
Прокручиваем эту страницу вниз, до пункта «Advanced General Settings»
Нас интересуют следующие пункты:
В старых версиях FreePBX нет этих пунктов, если вы используете старую версию FreePBX, то на вкладке «Other SIP Settings» добавьте данные поля и пропишите эти значения, после чего примените настройки
Пример настроек для старой версии FreePBX:
Сохраняем и применяем настройки.
Настройка со стороны Lync 2013:
Мы закончили настройку со стороны Asterisk, но чтоб подключение прошло, нужно настроить подключение так же со стороны Lync.
Стоит отметить, что с нашими настройками в пункте «Для начала разрешаем работать через TCP» указывайте порты как на скриншоте ниже
После того, как вы провели все настройки, нужно проверить поднялся ли транк. Для этого не обязательно подключаться к АТС через ssh и все можно сделать через FreePBX. Переходим по следующему пути: Admin – Asterisk CLI
Данный инструмент является многоцелевым и может выполнять следующие функции:
· Получение информации о системных компонентах Asterisk
· Настройка системной конфигурации
· Просмотр логов, ошибок и предупреждений
· Генерация звонков в целях проведения тестов
· Просмотр расширенной документации – для API, приложений, функций, настройки модулей и так далее.
Посмотрим подключение через команду «Sip show peers»
Стоит отметить, что в web-версии Asterisk CLI нет возможно просматривать логи в реальном времени. Потому для траблшутинга лучше всего подключаться к станции через ssh
И как видим соединение установлено, отлично. Значит, если вы правильно настроили маршрутизацию, то сейчас мы сможем совершить звонок со skype на внутренние номера телефонов asterisk, а так же на внешние номера.
Для проверки прохождения вызова лучше подключитесь к станции по ssh, так вы сможете просмотреть логи, ошибки и предупреждения в реальном времени.
Проверяем внутренний вызов
Для теста, к примеру, наберем внутренний номер 115
И теперь сделаем обратный звонок, к примеру, со 102 на 2220
Вызов так же успешно прошел.
По аналогии прозвонитесь на свой мобильный и если вы правильно настроили маршрутизацию, и не забыли указать транк через который будет идти вызов, то исходящий вызов пройдет без проблем.
На этом базовая настройка завершена. Если у вас возникли проблемы с подключением тестового софтфона то перейдите в следующую главу.
Проблемы с регистрацией телефона:
Учитывайте, что случайный пробел так же может быть воспринят системой как символ и связи с этим регистрация не пройдет
Пример ошибки SIP Registrations в консоли asterisk:
Подключаемся по ssh
Подключаемся по ssh к станции, вводим логин root и ваш пароль
Мы попали на стартовый «экран», с основной информацией о системе. Перед всеми манипуляциями необходимо сделать дамп правил.
Даже если вы уверены, что та или иная небольшая правка не может что-то сломать все равно сделайте дамп правил iptables с помощью которого в случае чего можно будет вернуть работоспособность системы.
Переходим в папку src с помощью команды cd /usr/src
Выгружаем правила при помощи следующей команды iptables-save > dump
Проверим, появился ли файлик с сохраненными правилами при помощи команды ls –l . Как видно на скриншоте выше – файлик успешно создан. Можем приступать к редактированию правил. Аналогичным образом выгружаем правиал еще раз, но на этот раз имя файла будет не dump, а предположим «dd».
Теперь открываем созданный файлик любым текстовым редактором. К примеру, я буду использовать nano.
Текстовый редактор nano не является стандартным в Centos и прежде чем его использовать – его нужно установить. Его можно установить, выполнив следующую команду:
yum install nano
Зашли, спускаемся к цепочке -A SIP -j PHONES и прописываем следующее:
-A SIP -s 192.168.12.0/24 -j ACCEPT
Прописали. Теперь осталось сохранить.
Нажмите CTRL + X
Y, а затем Enter.
iptables-restore < dd
service iptables savey
service iptables restart.
Проверить правила можно с помощью iptables –L –n, которая выведет все действующие правила.
Правильная настройка Mikrotik позволит избежать большой части проблем связанных с Nat.
Читайте также: