T.38

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

T.38 — стандарт Международного союза электросвязи для передачи факсимильных сообщений в реальном времени по IP-сетям.

Для факсов, передаваемых по протоколу T.38, зарезервирован MIME-тип image/t38.

История[править | править код]

Стандарт T.38 факс-реле был разработан в 1998 году как способ передачи факсов в IP-сетях между существующими факс-терминалами третьего класса (G3). Предыдущие стандарты факсимильной связи ITU Т.4 разрабатывались Международным союзом электросвязи в 1980 году, перед стремительным ростом развития Интернета. В конце 90-х технологии VoIP начали делать успехи в качестве альтернативы обычной ТФОП. Однако, вследствие того, что большинство VoIP-систем оптимизировалось для голоса, а не для данных, обычные факсимильные машины не работали или работали плохо из-за особенностей сети типа задержек, флуктуации, потерь пакетов, и т. д. Таким образом был необходим надёжный способ передачи факсов по IP.

Обзор[править | править код]

Подключение факс-аппарата через VoIP-шлюз Cisco SPA112

На практике посылка факса Т.38 проходит хотя бы частично через ТФОП, которая не регулируется стандартом Т.38, однако, существуют устройства публичного доступа Internet-Aware Fax (IAF), которые могут пересылать факсы друг другу полностью по IP-сетям и не используя линий ТФОП. Типичный сценарий посылки факса стандартным факсимильным аппаратом Т.30 через голосовой VoIP-шлюз с поддержкой Т.38, который инкапсулирует факсовый протокол Т.30 в поток данных Т.38. Далее данные маршрутизируются обычным способом, используя обычно транспортный протокол UDP, к месту назначения — факс серверу или другому голосовому VoIP-шлюзу или терминалу с поддержкой Т.38, к которому подключен обычный Т.30 факс-аппарат.

Рекомендации Т.38 описывают использование обоих протоколов транспортного уровня — TCP и UDP, на практике же, однако, в подавляющих случаях используется UDP ввиду усложнённой избыточности требований протокола TCP в случае потери пакетов и перепосылки. При использовании UDP чувствительность к потерям пакетов компенсируется посылкой пакетов с избыточными данными. Протокол Т.38 не затрагивает сигнализацию, и, таким образом, встраивается в стек других VoIP-протоколов: H.323, SIP, MGCP и IAX.

Операции[править | править код]

Существует два основных пути, по которым факсимильные сообщения передаются через IP-сети. Стандарт T.37 определяет использование электронной почты, по которой факсимильное изображение передаётся в виде вложенного объекта, и, таким образом, доставляется получателю. Понятно, что при этом используются процессы с промежуточным накоплением (например — очередь на отправку/приём почтового сервера). T.38, однако, определяет протокол, который оговаривает использование протокола T.30 и в терминалах отправителя и в получателя (см. диаграмму выше). T.38 позволяет каждому передавать факс через IP-сети в режиме реального времени, так же, как оригинальные стандарты факса G3 сделали это возможным для традиционной телефонной сети (мультиплексный канал с разделением по времени (TDM)), также называемой публичной телефонной сетью или ТФОП.

Специальный протокол потребовался для факса в реальном времени при передаче по IP, так как существующие факсимильные терминалы поддерживали только подключения к ТФОП, где сигнал был в общем то гладок и непрерывен, в противоположность неровной отправке и прибытию пакетов IP. Способ передачи протокола должен был уничтожить эти несоответствия и сделать IP-сеть «невидимой» для конечных факс-терминалов, то есть пользователь так называемого обычного факс-аппарата не должен знать, что факсимильный запрос передавался через IP-сеть. Сетевые взаимодействия, поддерживаемые T.38, проиллюстрированы выше. Два факсимильных терминала с обеих сторон соединяются с использованием факсимильного протокола T.30, изданного Международным союзом электросвязи в 1980 году. Взаимосвязь ТФОП с коммутируемой или маршрутизируемой IP-сетью требует «шлюза» между IP-сетями и ТФОП. Голосовые IP-шлюзы поддерживают TDM (для цифровых Т1/Е1 и BRI портов) на стороне ТФОП и VoIP и FoIP на стороне IP.

При голосовой сессии шлюз получает пакеты со стороны IP, накапливает несколько пакетов в буфер, чтобы гарантировать непрерывность потока данных TDM перед их отправкой, и далее, до конечного телефона или терминала, где их в конечном счете слышит человек или они сохраняются на компьютере для последующего воспроизведения. Шлюз использует методы управления пакетами, чтобы улучшить качество речи при наличии сетевых ошибок, используя естественную способность человека к неслышимым случайно пропавшим или повторенным пакетам. Но факсимильные данные передаются модемами, которые более чувствительны к ошибкам. Современные факс-протоколы имеют встроенные механизмы коррекции ошибок Error Correction Mode (ECM), но для их работы также требуется защита от потерь.

Недостающие пакеты будут в худшем случае терминировать факсимильный сеанс или создавать одну или более линий изображения при ошибке в лучшем случае. Таким образом работа T.38 должна «вводить в заблуждение» факс-терминалы таким образом, чтобы создать видимость того, что они общаются непосредственно с другим терминалом T.30. Это также может восполнить сетевые задержки и так называемые методы фальсификации, а также средства борьбы с пропавшими пакетами или пакетами с большой задержкой с тем, чтобы организовать отправку и приём факсов методом полной буферизации данных.

Имитация работы Т.30 использует логику, осуществленную в механизме протокола реле T.38, который изменяет команды протокола и ответы на стороне TDM, чтобы даже при наличии сетевых задержек на стороне IP не прерывать факсимильную передачу. Это делается, например, путём дублирования линий изображения или преднамеренно посылая сообщение с запросом повторной передачи, чтобы в итоге сделать прозрачной посылку и получение для факс-терминалов. Сети, которые не имеют потерь пакетов или чрезмерных задержек, могут показать приемлемую факсимильную работу без T.38, если внутренний тайминг импульсно-кодовой модуляции во всех шлюзах имеет очень высокую точность (объяснения ниже). T.38 не только удаляет эффект зависимости от импульсно-кодовой модуляции в соединених, которые обычно требуют синхронизации, но также уменьшает необходимую сетевую пропускную способность примерно в 10 раз, и в то же время исправляет потери и задержки пакетов.

Факс при VoIP-соединении отправляется следующим способом:

  • во время голосового разговора факсовый аппарат (факс-модем или иное факсовое устройство) инициирует передачу факса путём посыла специальных тонов, которые обнаруживаются и с помощью сигнализации H.245 (в случае протокола H.323) или стандартной сигнализации SIP голосовой логический канал передачи (по протоколам G.729, G.723 и т. п.) закрывается, и открывается логический канал передачи по протоколу T.38.

После завершения передачи факса (при потере управляющих тонов факсового аппарата) в свою очередь закрывается логический канал для T.38 и открывается голосовой логический канал для продолжения разговора.

Уменьшение полосы пропускания[править | править код]

Как показано на диаграмме ниже, шлюз T.38 состоит из двух основных элементов: факс-модемов и подсистемы T.38. Факс-модем модулирует и демодулирует семплы аналоговых данных, превращая представленные аналоговые сигналы в оцифрованные данные (бинарные), и наоборот. В цифровых сетях TDM ТФОП аналоговый сигнал голоса или факс-модема (там этому нет различий) дискретизируется 8 000 раз в секунду, и кодируется как 8-битовые байты данных. Таким образом 8000 в каждом байте организуются в полосу 8000 х 8 = 64 000 (64 Кбит) бит в секунду, по которой передаются данные модема (или голоса) в одном направлении. Для направлений в обе стороны модема потребуется 128 000 битов (128 Кбит) полосы пропускания сети в секунду. Однако, типичный модем при передаче факса передает данные только со скоростью 14 400 бит/сек. Следовательно, если аналоговые данные сначала преобразованы к цифровому виду, они будут занимать только 14 400 бит/сек (плюс небольшие издержки сети в виде дополнительных нескольких байтов). И так как факс-протокол T.30 является полудуплексным протоколом, сеть необходима в основном для передачи только в одну сторону.

Синхронизация при импульсно-кодовой модуляции[править | править код]

На предыдущей диаграмме в факс-терминале и в голосовом шлюзе используется кварцевый генератор, который нужен, чтобы модулировать семплы аналоговой линии 8 000 раз в секунду. Этот генератор, как правило, очень точен, но в некоторых дешевых терминальных адаптерах (в одно- или двухлинейных шлюзах) генератор может быть удивительно неточным. Если терминал будет посылать данные шлюзу и генератор шлюза будет немного медленней, то буфер (джиттер-буфер) на шлюзе окажется переполненным, и таким образом передача оказывается прерванной. Так как разница хода генераторов часто весьма мала, то эта проблема обнаруживается при длинных, многостраничных отправках факсов, при которых джиттер-буфер оказывается совсем не заполненным или переполненным в шлюзе, или размеры его просто выходят за пределы при нефиксированной длине буфера, в который попадают данные об отсутствующих или дублированных пакетах.

См. также[править | править код]

  • G.711 — факсы можно передавать и в «чистом» (без сжатия голоса) протоколе G.711.
  • FoIP — Fax over IP: все методы передачи факсимильных сообщений по IP-сетям.

Проприетарное ПО[править | править код]

Ссылки[править | править код]