ALPHA Материалы о связи
Страны

Справка / Голосовая связь

Шлюзы VoIP–PSTN: проверяйте путь вызова, а не список функций

Шлюз VoIP–PSTN переводит вызовы между пакетной голосовой средой и телефонией. Это не просто разъём: нужны согласование нумерации, сигнализации, кодеков, тонов, сети и правил подключенной линии.

Соедините роли телефонии: Телефон → Интерфейс FXS → Голосовой шлюз → IP-сервис
Соедините роли телефонии Пример пути от аналогового телефона к IP-сервису: телефон подключён к интерфейсу FXS. Схема показывает роли, а не совместимость конкретного старого устройства.

Сопоставьте обе стороны вызова

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

SIP и SDP имеют разные документированные роли управления сессией и её описания. RFC 4733 отдельно описывает RTP-полезную нагрузку для DTMF, тонов и телефонных событий; проверяйте нужное поведение вызова, а не считайте установление соединения доказательством всех функций.

Используйте реальный приёмочный тест

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

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

Определите границу услуги

Шлюз не создаёт телефонную услугу, которую не предоставляет подключенная линия или оператор. Коммерческие, регуляторные и маршрутизационные обязанности не должны скрываться в списке функций устройства.

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

Нарисуйте вызов как два связанных пути

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

Используйте контролируемый пример. Для исходящего вызова запишите набираемый номер, преобразование или представление номера шлюзом, применённый порт или SIP-маршрут и ожидаемое завершение. Для входящего разверните схему. Если ломается только одно направление, не меняйте сразу все кодеки и кабели. Сравните две схемы и найдите первый отличный шаг: обработку номера, выбор маршрута, состояние порта, установление сессии или медиа.

Не смешивайте роли аналоговых портов

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

Это важно и при диагностике. Если у аналогового устройства нет гудка, сначала установите, должен ли порт шлюза выдавать линию или принимать её. Если линейный порт подключён там, где ожидался телефонный, смена SIP-учётных данных не устранит исходное несоответствие. Начало с физического интерфейса не даёт программному расследованию скрыть неверное соединение.

Читайте SIP-установление и RTP-медиа отдельно

SIP используется для создания, изменения и завершения сессий; описание сессии передаёт параметры медиа. Поэтому отвеченный вызов показывает успешность части сигнализации, но не поток медиа в обе стороны. Дальняя сторона может ответить, а вызывающий не услышит ничего, либо звук будет только в одну сторону. Считайте это наблюдениями медиапути, а не противоречивыми сообщениями об одном результате.

Выполняйте тест вызова по стадиям: набор, звонок, ответ, речь в обе стороны и отбой. До каждой стадии сформулируйте ожидаемый результат. Если звонок и ответ работают, а речь односторонняя, сохраните успешную сигнализацию и отдельно исследуйте медиапуть. Если отбой не работает после нормальной речи, не смешивайте результат медиа с результатом отбоя. Такая стадийность не позволяет свести узкий отказ к общей формуле «вызов не работает».

Проверяйте предложенное и реальное медиа

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

Для проверки до и после используйте те же конечные точки и маршрут вызова. Измените одно предполагаемое условие, повторите ту же фразу и отметьте независимо изменения звука вызывающий—получатель и получатель—вызывающий. Широкий reset способен временно скрыть симптом, но разрушает связь между изменением и результатом. Контролируемый повтор особенно важен там, где шлюз соединяет локальную пакетную сеть с отдельным телефонным интерфейсом.

Проверяйте DTMF на границе сервиса

DTMF-цифры, тоны и телефонные события могут переноситься RTP-событиями, а не только воспроизводиться голосовым кодеком для автоматического распознавания. Поэтому вызов с чистой речью всё ещё может не пройти IVR, меню голосовой почты или систему удалённого управления при отправке нужной цифры. Тест должен включать реальный шаг меню или действие назначения, зависящее от цифры.

Стройте проверку вокруг нужной последовательности, например выбора меню и ожидаемого приглашения или действия. Выполняйте её после установления двустороннего звука и в обоих направлениях, если применимы оба. Если речь работает, а меню игнорирует ввод, сохраняйте это как отдельный DTMF-отказ. Не «доказывайте» цифры тем, что их слышно в аудио: важен результат распознавания события принимающим сервисом.

Стройте приёмку вокруг реальной услуги

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

На этой границе нельзя предполагать привычное поведение обычной линии. Экстренная обработка, работа при потере питания, идентичность вызывающего и функции провайдера зависят от подключённой услуги и установки. Сделайте их явными вопросами приёмки, а не свойствами, которые будто бы следуют из надписи VoIP–PSTN. Так приёмка остаётся привязанной к условиям установленного пути вызова, а непроверенное поведение не приписывается одному шлюзу.