Вы решили подключить обычную телефонию к Microsoft Teams — не через облачный оператора Microsoft, а через своего, по SIP. Значит, вам нужен Direct Routing. Это не самая простая штука, но если разобраться, всё становится логичным. Расскажу, как это работает, что понадобится и где чаще всего ошибаются.
- Что такое Direct Routing и зачем он нужен
- Что понадобится для подключения
- Как выбрать SBC
- Пошаговый план подключения
- Настройка через PowerShell: минимальный набор команд
- Частые ошибки и как их избежать
- Что выбрать: Direct Routing, Calling Plan или Operator Connect
- Как проверить, что всё работает
- Практические рекомендации
- Итог
Что такое Direct Routing и зачем он нужен
Microsoft Teams умеет звонить по телефону — но по умолчанию это делается через встроенную подотчётную инфраструктуру Microsoft (Calling Plan). Проблема в том, что Calling Plan доступен не во всех странах, стоит отдельно за каждого пользователя и не даёт гибкости: вы привязаны к Microsoft как к оператору.
Direct Routing — это способ подключить внешнего SIP-оператора напрямую к Teams. Вы покупаете номер у любого оператора, который поддерживает SIP- trunks, и через промежуточное звено — Session Border Controller (SBC) — соединяете его с Teams.
Зачем это делают:
- Нужны номера от привычного оператора, с которым уже работаете.
- Microsoft Calling Plan не покрывает ваш регион.
- Хочется меньше платить за минуты, особенно при большом объёме звонков.
- Нужна гибкость: маршрутизация через свой SBC, интеграция с корпоративной АТС.
- Требования к хранению данных или безопасности не позволяют отдавать голос третьей стороне.
Что понадобится для подключения
Прежде чем настраивать, убедитесь, что у вас есть всё необходимое. Список выглядит так:
- Лицензия Microsoft 365 с Teams Phone — это отдельная надстройка (Phone System). Без неё звонить на обычные номера не получится. Проверьте, что она назначена каждому пользователю, которому нужна телефония.
- SIP-оператор, который поддерживает подключение через SIP-trunk и готов работать с Direct Routing. Не все операторы это делают — уточняйте заранее.
- Session Border Controller (SBC) — устройство или виртуальная машина, которое стоит между Teams и вашим оператором. Это обязательный элемент. Microsoft не позволяет подключать SIP-операторов напрямую без SBC.
- Сертификат для SBC — нужно получить TLS-сертификат, который будет использоваться для шифрованного соединения с Teams. Microsoft доверяет определённым центрам сертификации.
- Публичный IP-адрес и доменное имя для SBC — Teams должен знать, куда отправлять сигнализацию и медиа.
Как выбрать SBC
SBC — это сердце Direct Routing. Именно он преобразует SIP-сигнализацию, шифрует трафик, управляет кодеками и обеспечивает безопасность. Выбор большой, но есть проверенные варианты, которые Microsoft официально сертифицировала для Direct Routing.
| Модель | Форм-фактор | Для кого подходит | Примечание |
|---|---|---|---|
| AudioCodes Mediant | Аппаратный или виртуальный | Малый и средний бизнес | Один из самых популярных, хорошая документация |
| Ribbon SBC | Аппаратный или виртуальный | Средний и крупный бизнес | Наследник Sonus, мощный, но сложнее в настройке |
| Oracle E-SBC | Аппаратный или виртуальный | Крупный бизнес | Надёжный, но дорогой и сложный |
| TE-SBC (виртуальный) | ПО для установки на ваш сервер | Технические команды с опытом | Дешевле, но требует самостоятельной настройки |
| Microsoft Teams Phone Mobile (Operator Connect) | Не требует SBC | Если оператор поддерживает | Альтернатива Direct Routing — проще, но меньше контроля |
Если у вас до 50 пользователей и нет выделенной команды по телефонии — берите AudioCodes в виртуальном варианте. Проще развернуть, проще обновлять, и документация по интеграции с Teams там самая подробная.
Пошаговый план подключения
Вот реальная последовательность действий, которая работает в большинстве случаев:
- Получите сертификат для SBC. Подойдёт сертификат от публичного CA (например, DigiCert, GoDaddy). Доменное имя должно совпадать с FQDN вашего SBC. Срок действия — обычно год, не забудьте обновить.
- Установите и настройте SBC. Пропишите IP-адреса, настройте сетевые интерфейсы, загрузите сертификат. На этом этапе SBC должен пинговать интернет и иметь выход наружу.
- Настройте DNS-запись. Создайте A-запись, которая указывает на публичный IP вашего SBC. Teams будет обращаться по этому имени.
- Подключите SBC к Teams через PowerShell. Команда
New-CsOnlinePSTNGatewayрегистрирует ваш SBC в системе. После этого нужно назначить ему регион и маршрутизацию. - Настройте маршрутизацию звонков. Создайте голосовой маршрут (Voice Route), который определяет, какие номера отправляются через ваш SBC. Например, все исходящие звонки или только на определённые коды стран.
- Назначьте пользователям номера. Через админ-панель Teams или PowerShell привяжите телефонные номера от оператора к конкретным пользователям.
- Назначьте политику звонков. Создайте или используйте готовую политику маршрутизации (OnlineVoiceRoutingPolicy) и назначьте её пользователям.
- Протестируйте. Сделайте тестовый звонок на мобильный, на городской номер, проверьте входящий вызов. Убедитесь, что голос идёт в обе стороны без задержек и эха.
Настройка через PowerShell: минимальный набор команд
Вот пример того, как выглядит регистрация SBC в Teams. Это не полное руководство, но даёт понимание процесса:
New-CsOnlinePSTNGateway -Identity sbc.yourdomain.com -SipSignalingPort 5061 -Enabled $True
После этого создаёте маршрутизацию:
New-CsOnlineVoiceRoute -Identity "AllCalls" -NumberPattern "^\+" -OnlinePstnGatewayList sbc.yourdomain.com -OnlinePstnUsages @{Add="International"}
И назначаете политику пользователю:
Grant-CsOnlineVoiceRoutingPolicy -Identity "user@domain.com" -PolicyName "International"
Если вы не работали с PowerShell для Teams раньше — начните с подключения модуля MicrosoftTeams и проверки прав администратора. Ошибки чаще всего связаны с правами или неверным форматом номера.
Частые ошибки и как их избежать
Вот что я вижу снова и снова при развёртывании Direct Routing:
- Неправильный сертификат. Истёкший сертификат, несовпадение доменного имени, самоподписанный сертификат — Teams просто не установит соединение. Проверяйте заранее через
Test-CsOnlinePSTNConnectivity. - Блокированный порт 5061. SBC должен принимать TLS-подключения на этом порту. Если между SBC и интернетом стоит файрвол — убедитесь, что порт открыт для входящих подключений от Microsoft.
- Нет лицензии Phone System у пользователя. Без неё Teams не покажет ввода номера и не позволит звонить. Проверяйте через админ-центр: пользователь → лицензии → Phone System должна быть активна.
- Неправильный формат номера. Teams требует формат E.164 (например, +74951234567). Если оператор отдаёт номер в другом формате — нужна нормализация на стороне SBC.
- Двойной NAT или проблемы с сетью. SBC должен иметь публичный IP или корректный NAT. Если за SBC стоит ещё один роутер с трансляцией — будут проблемы с медиа-потоком (односторонний звук или тишина).
- Забыли назначить политику маршрутизации. Пользователь может иметь номер, но если политика не назначена — звонки не пойдут через SBC.
Что выбрать: Direct Routing, Calling Plan или Operator Connect
У Microsoft есть три способа получить телефонию в Teams. Выбор зависит от вашей ситуации:
Выбирайте Direct Routing, если:
- У вас уже есть SIP-оператор и вы не хотите менять.
- Нужна гибкая маршрутизация и контроль над трафиком.
- У вас есть технический специалист, который разберётся с SBC.
- Вы хотите сэкономить на минутах при большом объёме звонков.
Выбирайте Microsoft Calling Plan, если:
- У вас небольшая команда и нет желания настраивать SBC.
- Вы готовы платить фиксированную сумму за пользователя в месяц.
- Вам не нужна сложная маршрутизация.
Выбирайте Operator Connect, если:
- Ваш оператор поддерживает этот режим (список есть у Microsoft).
- Хочется простоты Direct Routing, но без собственного SBC.
- Оператор готов сам настроить подключение к Teams со своей стороны.
Как проверить, что всё работает
После настройки не полагайтесь на «вроде позвонилось». Вот что стоит проверить:
- Входящие звонки с мобильного и городского номера.
- Исходящие на мобильные, городские и международные номера.
- Переадресация вызовов — работает ли корректно.
- Гудки при звонке на недоступный номер.
- Качество голоса при длительном разговории (5–10 минут).
- Звонок при плохом интернете — не падает ли соединение.
Для диагностики используйте встроенные средст Teams: раздел «Вызовы» → «Журнал звонков» и отчёты в админ-центре. Там видно, прошёл ли звонок через SBC и какой код завершения вернулся.
Практические рекомендации
Если бы я начинал с нуля, вот что бы сделал:
- Сначала определился бы с оператором — спросил, работают ли они с Direct Routing и какие требования к SBC.
- Взял бы виртуальный SBC (AudioCodes VE) и развернул на Hyper-V или VMware — это быстрее и дешевле, чем покупать железо.
- Настроил бы один тестовый номер, проверил бы все сценарии и только потом переводил бы остальных пользователей.
- Задокументировал бы все настройки SBC и PowerShell-команды — через месяц точно забудете детали.
- Настроил бы мониторинг SBC: логи, алерты на падение регистрации в Teams, счётчики активных вызовов.
Итог
Direct Routing — это надёжный и гибкий способ подключить свою телефонию к Microsoft Teams. Он требует подготовки: нужен SBC, сертификат, правильная настройка сети и лицензии у пользователей. Но если всё сделать правильно — вы получите полноценную телефонию внутри Teams с номерами вашего оператора и контролем над маршрутизацией.
Начните с проверки наличия лицензий Phone System у пользователей и выбора оператора, который поддерживает Direct Routing. Дальше — разворачивайте SBC, регистрируйте его в Teams и тестируйте с одним номером. Не торопитесь переводить всех пользователей сразу — убедитесь, что всё работает стабильно хотя бы пару дней.
