Стандарт мультимедийной связи H. Протокол Н.323

Авто 15.07.2019
Авто

Протокол H.323 обеспечивает основу для передачи данных, видео- и аудиоинформации через IP-сети, включая Internet. H.323 рекомендуется Международным телекоммуникационным союзом (International Telecommunication Union — ITU) в качестве набора стандартов передачи мультимедиа-информации через локальные сети, не поддерживающие гарантированного качества сервиса (QoS). Большинство современных сетей относится именно к такому типу — примерами могут служить сети на базе протоколов TCP/IP и IPX в средах Ethernet, Fast Ethernet и T oken Ring. Следовательно, протоколы H.323 являются важной частью построения ЛВС с поддержкой приложений мультимедиа. Такие приложения будут включать H.225.0-RAS, Q.931-H.245, RTP/RTCP и кодеки (кодер-декодер) аудио/видео/данных (аудио-кодеки G.711, G.723.1, G.728 и т. п., видео-кодеки H.261, H.263 с компрессией и декомпрессией, а также кодеки данных T.120).

Мультимедиа-потоки передаются на базе протоколов RTP/RTCP. RTP обеспечивает передачу собственно потоков мультимедиа, а RTCP поддерживает передачу данных для управления и контроля. Сигнализация (исключая RAS) передается с помощью протокола TCP. С сигнализацией имеют дело перечисленные ниже протоколы:

  • RAS управляет регистрацией, доступом и состоянием;
  • Q.931 обеспечивает организацию и разрыв соединений;
  • H.245 отвечает за согласование возможностей и использование каналов.

Кроме перечисленных протоколов в H.323 используются протоколы, обеспечивающие поддержку дополнительных функций:

    H.235 обеспечивает средства безопасности и аутентификацию;

  • H.450.x — дополнительные услуги.

Расположение протоколов H.323 в модели OSI показано на рисунке.

Положение стека протоколов H.323 в эталонной модели OSI

RTP

RFC 1889

Протокол RTP (Real-time Transport — передача в реальном масштабе времени) обеспечивает транспортные функции для приложений, передающих данные в реальном масштабе времени (таких, как голос или видео) с использованием индивидуальных или групповых адресов. RTP не резервирует ресурсы и не гарантирует качества обслуживания QoS для сервиса в реальном масштабе времени. Протокол управления передачей RTCP позволяет осуществлять мониторинг доставки данных (в том числе и для больших сетей с групповой адресацией) и обеспечивает минимальный набор функций управления и идентификации. Протоколы RTP и RTCP разработаны таким образом, что функционирует независимо от нижележащих транспортных и сетевых протоколов. Протокол RTCP поддерживает использование трансляторов и миксеров уровня RTP.

Формат заголовка RTP с фиксированной структурой показан на рисунке.

Биты

Октет

Счетчик CSRC

Тип содержимого (Payload type)

Порядковый номер

Временная метка

SSRC

CSRC

Структура RTP

V

Версия протокола RTP.

P

Флаг заполнения. P=1 говорит о том, что в конце пакета содержится один или несколько октетов выравнивания, не являющихся частью полезной информации.

X

Бит расширения. При X=1 после заголовка с фиксированной структурой следует дополнительный заголовок определенного формата.

Счетчик CSRC

Показывает число идентификаторов CSRC, следующих за заголовком.

M

Маркер, интерпретация которого определяется профилем. Маркеры позволяют отмечать важные события (например, границы кадра в потоке пакетов).

Тип содержимого

Идентификатор типа содержимого задает формат информационной части пакета RTP и определяет интерпретацию пакета приложениями. Используемое по умолчанию статическое отображение кодов типа содержимого в форматы данных задается профилем. Дополнительные коды типов данных могут динамически задаваться иными средствами (не относящимися к RTP).

Порядковый номер

Данное поле увеличивается на единицу для каждого следующего посылаемого пакета RTP. Номер может использоваться получателем для обнаружения потери пакетов и восстановления корректной последовательности пакетов.

Временная метка

Отражает момент выборки первого октета в пакете данных RTP. Значение времени выборки должно браться из переменной (часов), которая увеличивается во времени непрерывно и линейно. Это значение используется для синхронизации и обнаружения флуктуаций времени доставки (jitter). Уровень разрешения часов должен быть достаточным для обеспечения желаемой точности синхронизации и соответствующей точности определения флуктуация времени доставки (как правило одного изменения показаний часов на видео-кадр недостаточно).

SSRC

Указывает источник синхронизации (идентификатор выбирается случайным образом с учетом того, что два источника синхронизации в одной сессии RTP не должны иметь одинаковых идентификаторов SSRC).

CSRC

Список идентификаторов источников информации, содержащий указатели на источники включенной в пакет полезной информации.

RTCP

RFC 1889 http://www.cis.ohio-state.edu/htbin/rfc/rfc1889.html

Протокол управления RTP (RTP control protocol) основывается на периодической передаче управляющих пакетов всем участникам сессии с использованием того же механизма, который служит для передачи пакетов данных. Нижележащий протокол уровня должен поддерживать мультиплексирование пакетов данных и управляющих пакетов (например, за счет использования разных номер портов в UDP).

Биты

Октет

Версия

Счетчик принятых отчетов

Тип пакета

Длина

Структура RTCP

Версия

Номер версии RTP, совпадающий для пакетов RTCP и пакетов данных RTP. В настоящее время используется версия 2.

P

Флаг заполнения. P=1 говорит о том, что в конце пакета содержится один или несколько октетов выравнивания, не являющихся частью полезной информации. Последний октет поля заполнения содержит число октетов заполнения, которые следует игнорировать. Заполнение может требоваться при использовании некоторых алгоритмов шифрования с фиксированным размером блоков. В составном пакете RTCP заполнение может потребоваться только для последнего из отдельных пакетов, поскольку составной пакет шифруется как единое целое.

Счетчик принятых отчетов

Количество блоков отчета, содержащихся в пакете. Допустимо нулевое значение поля.

Тип пакета

Поле типа пакета содержит константу 200, указывающую, что данный пакет относится к RTCP SR.

Длина

Поле длины задает размер пакета RTCP в 32-битовых словах минус 1 (с учетом заголовка и заполнения). Уменьшение реального размера пакета делает 0 корректным значением длины и позволяет избежать зацикливания при сканировании составного пакета RTCP, а подсчет в 32-битовых словах позволяет избежать проверки кратности размера (в октетах) числу 4.

RAS

H.225:

Канал RAS (Registration, Admission and Status — регистрация, доступ, состояние) служит для сообщений, используемых в процессах обнаружения шлюзов и регистрации конечных точек. Последний процесс используются для установки соответствия адресов конечных точек и транспортных адресов сигнальных транспортных каналов. Поскольку канал RAS не обеспечивает гарантированной доставки, H.225.0 рекомендует использовать для различных сообщений таймаут и счетчики повторов. Конечная точка или шлюз, которым не удается ответить на запрос в течение заданного времени (таймаут), могут использовать сообщения RIP (Request in Progress — запрос обрабатывается) для индикации того, что запрос до сих пор не обработан. Конечная точка или шлюз, получающие RIP, сбрасывают таймер и счетчик повторов.

Сообщения RAS используют синтаксис ASN.1.

H.225

H.225: http://www.itu.int/itudoc/itu-t/rec/h/h225-0.html

H.225 представляет собой стандарт узкополосных видеотелефонных услуг, определенных в рекомендациях H.200/AV.120. Стандарт имеет дело с ситуациями, когда маршрут передачи включает, по крайней мере, одну сеть передачи пакетов, которая настроена на предоставление негарантируемого качества обслуживания QoS (такие сети также не поддерживают механизмов защиты и восстановления сверх заданных рекомендациями H.320 для терминалов). H.225.0 описывает организацию потоков голоса, видео, данных и управляющей информации в сетях передачи пакетов для обеспечения диалогового сервиса с помощью оборудования H.323.

Структура пакетов H.225 соответствует стандарту Q.931 и показана на рисунке.

Биты

Октет

Дискриминатор протокола

3 (-4)

Тип сообщения

Информационные элементы

Структура H.225

Дискриминатор протокола

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

Размер ссылки
Ссылка на вызов

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

Тип сообщения

Поле типа определяет функцию переданного сообщения. Используются следующие типы сообщений:

000 xxxxx Сообщение при организации соединений
00001 ALERTING (предупреждение)
00010 CALL PROCEEDING (обработка вызова)
00111 CONNECT (соединение)
01111 CONNECT KNOWLEDGE (подтверждение соединения)
00011 PROGRESS Работа
00101 SETUP (установка)
01101 SETUP ACKNOWLEDGE (подтверждение установки)
001 xxxxx Сообщения при передаче информации
00110 RESUME (возобновить)
01110 RESUME ACKNOWLODGE (подтверждение возобновления)
00010 RESUME REJECT (отказ от возобновления)
00101 SUSPEND (временная остановка)
01101 SUSPEND ACKNOWLODGE (подтверждение временной остановки)
00001 SUSPEND REJECT (отказ от временной остановки)
00000 USER INFORMATION (пользовательская информация)
010 xxxxx Сообщения при разрыве соединений
00101 DISCONNECT (отключение)
01101 RELEASE (разъединение)
11010 RELEASE COMPLETE (разъединение завершено)
00110 RESTART (рестарт)
01110 RESTART ACKNOWLEDGE (подтверждение рестарта)
011 xxxxx Другие сообщения
00000 SEGMENT (сегмент)
11001 CONGESTION CONTROL (контроль насыщения)
11011 INFORMATION (информация)
01110 NOTIFY (уведомление)
11101 STATUS (состояние)
10101 STATUS ENQUIRY (запрос состояния)
Информационные элементы (IE)

Протокол определяет две категории информационных элементов — размером в один октет и переменной длины. Форматы информационных элементов показаны на рисунке.

Биты

Октет

Идентификатор EI

Содержимое IE

Формат информационного элемента из одного октета (тип 1)

Биты

Октет

Идентификатор IE

Формат информационного элемента из одного октета (тип 2)

Биты

Октет

Идентификатор IE

Длина содержимого IE

Содержимое IE

Формат информационного элемента переменной длины

H.245

H.245: http://www.itu.int/itudoc/itu-t/rec/h/h245.html

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

Сообщения H.225 соответствуют синтаксису ASN.1.

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

  • Master Slave Determination (определение ведущего и ведомого).
  • Terminal Capability (возможности терминала).
  • Logical Channel Signaling (сигнализация логического канала).
  • Multiplex Table signaling (сигнализация таблицы мультиплексирования).
  • Request Multiplex Table signaling (запрос сигнализации таблицы мультиплексирования).
  • Request Mode (режим запроса).
  • Round Trip Delay (задержка прохождения сигнала в обоих направлениях).
  • Maintenance Loop (цикл обслуживания).
  • Communication Mode (коммуникационный режим).
  • Conference Request and Response (запрос и отклик для конференции).
  • Terminal ID (идентификатор терминала).
  • Commands and Indications (команды и индикаторы).

H.261

H.261: http://www.cis.ohio-state.edu/htbin/rfc/rfc2032.html

Протокол H.261 описывает видео-потоки для передачи с помощью транспортного протокола в реальном масштабе времени (RTP). На более низком уровне могут использоваться любые протоколы, способные поддерживать трафик RTP.

Формат заголовка показан на рисунке.

Биты

Октет

SBIT

EBIT

GOBN

MBAP

MBAP

QUANT

HMVD

HMVD

VMVD

Структура заголовка H.261

SBIT

Стартовый бит. Количество старших битов, которые должны игнорироваться в первом октете данных.

EBIT

Завершающий бит. Количество младших битов, которые должны быть проигнорированы в последнем октете данных.

I

Флаг кодирования данных INTRA-кадра. Если данный бит имеет значение 1, поток содержит только блоки, кодированные как INTRA-кадры. Нулевое значение флага говорит, что данный поток может содержать или не содержать блоки, кодированные как INTRA-кадр. Значение этого бита не может изменяться в течение всей RTP-сессии.

V

Флаг вектора перемещения (Motion Vector). Нулевое значение устанавливается в том случае, когда векторы перемещения не используются в данном потоке. Единичное значение флага говорит о возможности присутствия векторов перемещения. Значение этого бита не может изменяться в течение всей RTP-сессии.

GOBN

Номер GOB, задающий начало пакета. Значение этого поля равно 0, если пакет начинается с заголовка GOB.

MBAP

Поле MBAP (Macroblock Address Predictor – предсказание адреса макроблока) кодирует предсказание адреса макроблока (т. е. последнее значение MBA, содержащееся в предыдущем пакете). Значение поля находится в диапазоне 0-32 (для предсказания допустимых значений MBA — 1-33), но, поскольку битовый поток не может быть фрагментирован между заголовком GOB и MB 1, предсказатель в начале пакета не может быть равен 0. Таким образом, остается диапазон 1-32, который смещается на –1 для того, чтобы было достаточно 5-битового поля. Если пакет начинается с заголовка GOB, поле MBAP=0.

QUANT

Поле QUANT показывает значение MQUANT или GQUANT до начала пакета. Если пакет начинается с заголовка GOB, для поля QUANT устанавливается нулевое значение.

HMVD

Поле HMVD (Horizontal Motion Vector Data — вектор горизонтального перемещения) представляет собой ссылку на горизонтальный вектор перемещения данных (Motion Vector Data – MVD). HMVD=0, если флаг V равен 0, пакет начинается с заголовка GOB или для последнего MB, помещенного в предыдущий пакет, значение MTYPE не равно MC. Значение HMVD должно находиться в диапазоне от –15 до +15.

VMVD

Поле VMVD (Vertical Motion Vector Data — вектор вертикального перемещения) представляет собой ссылку на вертикальный вектор перемещения данных MVD. Значение VMVD=0, если флаг V равен 0, пакет начинается с заголовка GOB или для последнего MB, помещенного в предыдущий пакет, значение MTYPE не равно MC. Значение VMVD должно находиться в диапазоне от –15 до +15.

H.263

RFC 2190 (RTP): http://www.cis.ohio-state.edu/htbin/rfc/rfc2032.html

H.263: http://www.itu.int/itudoc/itu-t/rec/h/h263.html

Протокол H.263 определяет формат инкапсуляции битового потока H.263 в пакеты протокола RTP (Real-time Transport Protocol – протокол транспортировки в реальном масштабе времени). Для заголовка потока (payload) H.263 определены три режима. Пакет RTP может использовать один из трех режимов видео-потока H.263 в зависимости от желаемого размера сетевого пакета и опций кодирования H.263. Самый короткий заголовок H.263 (режим A) поддерживает фрагментацию GOB (Group of Block — группа блока). Длинные заголовки H.263 (режимы B и C) поддерживают разбиение потока на макроблоки (MB).

Для каждого пакета RTP после заголовка RTP фиксированной длины следует заголовок содержимого H.263, а за ним — сжатый битовый поток стандарта H.263. Размер заголовка содержимого H.263 зависит от используемого режима. Схема видео-пакета RTP H.263 показана на рисунке.

Видео-пакет RTP H.263

В режиме A заголовок H.263 содержит 4 байта. Данный режим поддерживает фрагментацию RTP. В режиме B используется 8-байтовый заголовок H.263 и каждый пакет начинается на границе MB без опции PB. 12-байтовый заголовок H.263 определяет режим C, поддерживающий фрагментацию на границах MB для кадров с опцией PB.

Режим каждого заголовка потока H.263 указывается значениями полей F и P. Пакеты различных режимов могут перемешиваться. Формат заголовка для режима A показан на следующем рисунке.

Биты

Октет

SBIT

EBIT

R (продолжение)

Структура заголовка H.263 для режима A.

F

Флаг, показывающий режим заголовка потока H.263.

P

Флаг необязательного режима PB, определенного в стандарте H.263.

  1. Обычный кадр типа I или P.

1 Кадр PB.

Если F=1, поле P показывает режим:

Обычный кадр типа I или P.

0 Режим B.

1 Режим C.

SBIT

Стартовый бит. Количество старших битов, которые должны игнорироваться в первом байте данных.

EBIT

Завершающий бит. Количество младших битов, которые должны быть проигнорированы в последнем байте данных.

SRC

Исходный формат (биты 6, 7 и 8 поля TYPE, определяемые H.263), задающий разрешение текущего изображения.

I

Тип кодирования изображения (бит 9 в PTYPE, определяемый H.263):

0 Intra-кодирование (внутреннее).

1 Inter -кодирование.

U

Поле U имеет значение 1, если в текущем заголовке изображения была установлена (1) опция неограниченного вектора перемещения (Unrestricted Motion Vector), задаваемая битом 10 в поле PTYPE в соответствии с определением H.263.

S

Поле S имеет значение 1, если для текущего заголовка изображения была установлена (1) опция синтаксического арифметического кодирования (Syntax-based Arithmetic Coding), задаваемая битом 11 в поле PTYPE в соответствии с определением H.263.

A

Поле A имеет значение 1, если для текущего заголовка изображения была установлена (1) опция расширенного предсказания (Advanced Prediction), задаваемая битом 12 в поле PTYPE в соответствии с определением H.263.

R
DBQ

Параметр дифференциального квантования, используемый для расчета параметров квантования для B-кадра на основе параметра квантования для P-кадра при использовании опции PB-кадров. Значение этого поля должно быть равно DBQUANT (определено в H.263). Нулевое значение поля устанавливается в тех случаях, когда опция PB-кадров не используется.

TRB
TR

Формат заголовка для режима B показан на следующем рисунке.

Биты

Октет

SBIT

EBIT

QUANT

GOBN

MBA (продолжение)

HMV1

HMV1 (продолжение)

VMV1

VMV1 (продолжение)

HMV2

HMV2

VMV2

Структура заголовка H.263 для режима B.

Поля F, P, SBIT, EBIT, SRC, I, U, S и A определяются так же, как для режима A.

QUANT

Значение квантования для первого MB, кодированного в начале пакета. Если пакет начинается с заголовка GOB, поле QUANT=0.

GOBN

Номер GOB в начале пакета. Номер GOB задается по разному для различного разрешения.

MBA

Адрес внутри GOB первого MB в пакете (считается от нуля в порядке сканирования). Например, третий макроблок в любом GOB будет иметь MBA=2.

R

Поле зарезервировано и должно иметь нулевое значение.

HMV1, VMV1

Предсказание вертикального и горизонтального вектора перемещения для первого макроблока в данном пакете. Когда для текущего макроблока используются четыре вектора перемещения с опцией расширенного предсказания (advcanced prediction), эти векторы являются предсказателями вектора перемещения для блока номер 1 в макроблоке. Каждое 7-битовое поле кодирует предсказатель вектора перемещения в половинах разрешающей способности, используя дополнение до 2.

HMV2, VMV2

Предсказания вертикального и горизонтального векторов перемещения для блока номер 3 в первом макроблоке этого пакета, когда четыре вектора перемещения используются для с опцией расширенного предсказания (advcanced prediction). Это необходимо, поскольку для блока номер 3 в макроблоке требуются отличные от других макроблоков предсказания векторов перемещения. Описываемые поля не используются в тех случаях, когда MB имеет только один вектор перемещения. Каждое 7-битовое поле кодирует предсказатель вектора перемещения в половинах разрешающей способности, используя дополнение до 2.

Формат заголовка для режима С показан на рисунке.

Биты

Октет

SBIT

EBIT

QUANT

GOBN

MBA (продолжение)

HMV1

HMV1 (продолжение)

VMV1

VMV1 (продолжение)

HMV2

HMV2

VMV2

RR (продолжение)

Структура заголовка H.263 для режима С.

Поля F, P, SBIT, EBIT, SRC, I, U, S, A, DBQ, TRB и TR определяются так же, как для режима A; поля QUANT, GOBN, MBA, HMV1, VMV1, HMV2, VMV2 — как для режима B.

RR

Поле зарезервировано и должно иметь нулевое значение.

H.235

H.235: http://www.itu.int/itudoc/itu-t/rec/h/h235.html

Протокол H.235 обеспечивает расширение рекомендаций серии H.3xx в части добавления услуг обеспечения безопасности, такие как аутентификация и конфиденциальность (Authentication and Privacy) (шифрование данных). H.235 должен работать с другими протоколами серии H, которые используют H.245 в качестве протокола управления.

Все сообщения H.235 шифруются так же, как в ASN.1.


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

Под IP-телефонией подразумевается голосовая связь, которая осуществляется по сетям передачи данных, в частности по IP-сетям (IP - Internet Protocol). На сегодняшний день IP-телефония все больше вытесняет традиционные телефонные сети за счет легкости развертывания, низкой стоимости звонка, простоты конфигурирования, высокого качества связи и сравнительной безопасности соединения. В данном изложении будем придерживаться принципов эталонной модели OSI (Open Systems Interconnection basic reference model) и рассказывать о предмете “снизу-вверх”, начиная с физического и канального уровней и заканчивая уровнями данных.

"
Модель OSI и инкапсуляция данных

Принципы IP-телефонии

При осуществлении звонка голосовой сигнал преобразуется в сжатый пакет данных (подробнее этот процесс будет рассмотрен в главах “Импульсно кодовая модуляция” и “Кодеки”). Далее происходит пересылка данных пакетов поверх сетей с коммутацией пакетов, в частности, IP сетей. При достижении пакетами получателя, они декодируются в оригинальные голосовые сигналы. Эти процессы возможны благодаря большому количеству вспомогательных протоколов, часть из которых будет рассмотрена далее.

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

Отличие от традиционной телефонии

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

При этом IP-телефония оказывается более дешевым решением как для оператора, так и для абонента. Происходит это благодаря тому, что:

  • Традиционные телефонные сети обладают избыточной производительностью, в то время, как IP-телефония использует технологию сжатия голосовых пакетов и позволяет полностью использовать емкость телефонной линии.
  • Как правило, на сегодняшний момент доступ в глобальную сеть есть у всех желающих, что позволяет сократить затраты на подключение или совсем исключить их.
  • Звонки в локальной сети могут использовать внутренний сервер и происходить без участия внешней АТС.
Вместе с вышеперечисленным, IP-телефония позволяет улучшить качество связи. Достигается это, опять же, благодаря трем основным факторам:
  • Телефонные серверы постоянно совершенствуются и алгоритмы их работы становятся более устойчивыми к задержкам или другим проблемам IP-сетей.
  • В частных сетях их владельцы обладают полным контролем над ситуацией и могут изменять такие параметры, как ширина полосы пропускания, количество абонентов на одной линии, и, как следствие, величину задержки.
  • Сети с коммутацией пакетов развиваются, и ежегодно вводятся новые протоколы и технологии, позволяющие улучшить качество связи (например, протокол резервирования полосы пропускания RSVP).
Благодаря IP-телефонии очень элегантно решается проблема занятой линии, так как переадресация, либо перевод в режим ожидания могут быть осуществлены несколькими командами в конфигурационном файле на АТС.

Физический уровень (Physical Layer)

На физическом уровне осуществляется передача потока битов по физической среде через соответствующий интерфейс. IP-телефония практически полностью опирается на уже существующую инфраструктуру сетей. В качестве среды передачи информации используются, как правило витая пара категории 5 (UTP5), одномодовое или многомодовое оптическое волокно, либо коаксиальный кабель. Тем самым в полной мере реализуется принцип конвергенции телекоммуникационных сетей.

PoE

Интересно рассмотреть технологию PoE (Power Over Ethernet) - стандарты IEEE 802.3 af-2003 и IEEE 802.3at-2009. Ее суть заключается в возможности обеспечения питанием устройств посредством стандартной витой пары. Большинство современных IP-телефонов, в частности, модельный ряд Cisco Unified IP Phones 7900 Series, поставляются с поддержкой PoE. Согласно стандарту 2009 года, устройства могут получать ток мощностью до 25,5 Ватт.

При подаче питания используются лишь две витых пары кабеля 100BASE-TX, однако некоторые производители задействуют все четыре, достигая мощности до 51 Ватт. Необходимо заметить, что технология не требует модификации уже существующих кабельных систем, в том числе и кабелей Cat 5.

Для определения того, является ли подключаемое устройство питаемым (PD - powered device) на кабель подается напряжение 2,8 - 10 В. Тем самым вычисляется сопротивление подключаемого устройства. Если данное сопротивление находится в диапазоне 19 - 26,5 кОм, то процесс переходит на следующий этап. Если же нет - проверка повторяется с интервалом ≥2 мс.

Далее происходит поиск диапазона мощностей питаемого устройства путем подачи более высокого напряжения и измерения тока в линии. Вслед за этим на линию подается 48 В - питающее напряжение. Также осуществляется постоянный контроль перегрузок.

Канальный уровень (Data Link Layer)

Согласно спецификации IEEE 802 канальный уровень разделяется на два подуровня:
  1. MAC (Media Access Control) - обеспечивает взаимодействие с физическим уровнем;
  2. LLC (Logical Link Control) - обслуживает сетевой уровень.
На канальном уровне работают коммутаторы - устройства, обеспечивающие соединение нескольких узлов компьютерной сети и распределение фреймов между хостами на основе физической (MAC) адресации.

Необходимо упомянуть механизм виртуальных локальных сетей (Virtual Local Area Network). Данная технология позволяет создавать логическую топологию сети без оглядки на ее физические свойства. Достигается это тегированием трафика, что подробно описано в стандарте IEEE 802.1Q.


Формат фрейма

В контексте IP-телефонии отметим Voice VLAN, широко применяющуюся для изоляции голосового трафика, генерируемого IP-телефонами, от других данных. Ее использование целесообразно по двум причинам:

  1. Безопасность. Создание отдельной голосовой VLAN уменьшает вероятность перехвата и анализа голосовых пакетов.
  2. Повышение качества передачи. Механизм VLAN позволяет задать повышенный приоритет голосовым пакетам, и, как следствие, улучшить качество связи.

Сетевой уровень (Network Layer)

На сетевом уровне происходит маршрутизация, соответственно основными устройствами сетевого уровня являются маршрутизаторы (Router). Именно здесь определяется, каким путем данные достигнут получателя с определенным IP-адресом.

Основной маршрутизируемый протокол - IP (Internet Protocol), на основе которого и построена IP-телефония, а также всемирная сеть Интернет. Также существует множество динамических протоколов маршрутизации, самый популярный среди которых OSPF (Open Shortest Path First) - внутренний протокол, основанный на текущем состоянии каналов связи;

На сегодняшний момент существуют специальные VoIP-шлюзы (Voice Over IP Gateway), обеспечивающие подключение обычных аналоговых телефонов к IP-сети. Как правило, они имеют и встроенный маршрутизатор, позволяющий вести учет трафика, авторизовать пользователей, автоматически раздавать IP-адреса, управлять полосой пропускания.

Среди стандартных функций VoIP-шлюзов:

  • Функции безопасности (создание списков доступа, авторизация);
  • Поддержка факсимильной связи;
  • Поддержка голосовой почты;
  • Поддержка протоколов H.323, SIP (Session Initiation Protocol).
Для борьбы с возможными задержками передачи IP необходимо дополнять дополнительными средствами, например протоколами установления очередности (чтобы голосовые данные не конкурировали с обычными).
Как правило, в этих целях на маршрутизаторах используется очередность с малой задержкой (LLQ - Low-Latency queuing), либо взвешенная организация очередей на основе классов (CBWFQ - Class-Based Weighted Fair Queuing).
Кроме того, необходимы схемы маркировки с заданием приоритетов для рассмотрения голосовых данных, как наиболее важных для передачи.

Транспортный уровень (Transport Layer)

Для транспортного уровня характерны:
  • Сегментация данных приложений верхнего уровня;
  • Обеспечение сквозного соединения;
  • Гарантия надежности данных.
Основные протоколы транспортного уровня - TCP (Transmission Control Protocol), UDP (User Datagram Protocol), RTP (Real-time Transport Protocol). Непосредственно в IP-телефонии используются протоколы UDP и RTP, причем основное их отличие от TCP заключается в том, что они не обеспечивают надежность доставки данных. Это является более приемлемым вариантом, нежели осуществление контроля за доставкой (TCP), так как телефонная связь чрезвычайно зависима от задержек передачи, но менее чувствительна к потерям пакетов.

UDP

UDP базируется на сетевом протоколе IP и предоставляет транспортные услуги прикладным процессам. Его главное отличие от TCP - обеспечение негарантированной доставки, то есть при отправке и получении данных никаких подтверждений не запрашивается. Также при отправке информации не обязательно установление логического соединения между модулями UDP (источник и приемник).

RTP

Несмотря на то, что RTP принято считать протоколом транспортного уровня, как правило он работает поверх UDP. С помощью RTP реализуется распознавание типа трафика, работа с метками времени, контроль передачи и нумерация последовательности пакетов.

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

Уровни данных (Data Layers)

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

H.323

Первым делом необходимо описать стек протоколов H.323, разработанный в 1996 году. Данный стандарт содержит описание оборудования, сетевых служб и терминальных устройств, предназначенных для осуществления аудио- и видеосвязи в сетях с коммутацией пакетов (Интернет). Для любого устройства стандарта H.323 обязательна поддержка обмена голосовой информацией.
  • Платформенную независимость.
  • Стандарты кодирования аналоговых данных.
  • Управление полосой пропускания.
  • Гибкость и совместимость.
Отметим очень важный факт: в рекомендациях не определены физическая среда передачи, транспортный протокол и сетевой интерфейс. Это значит, что устройства, поддерживающие стандарт H.323 могут работать в любых существующих сегодня сетях с коммутацией пакетов.

Согласно H.323 четырьмя основными компонентами VoIP-соединения являются:

  • терминал;
  • шлюз;
  • контроллер зоны;
  • контроллер управления многоточечной конференции (MCU - Multipoint Control Unit).


Пример структурной схемы сети в IP-телефонии 

Выдержка из документа, описывающего стек протоколов H.323

1. Управление соединением и сигнализация:
1.а. H.225.0: протоколы сигнализации и пакетирования мультимедийного потока (использует подмножество протокола сигнализации Q.931).
1.б. H.225.0/RAS: процедуры регистрации, допуска и состояния.
1.в. H.245: протокол управления для мультимедиа.
2. Обработка звуковых сигналов:
2.а. G.711: импульсно-кодовая модуляция тональных частот.
2.б. G.722: кодирование звукового сигнала 7 кГц в 64 кбит/с.
2.в. G.723.1: речевые кодеры на две скорости передачи для организации мультимедийной связи со скоростью передачи 5.3 и 6.3 кбит/с.
2.г. G.728: кодирование речевых сигналов 16 кбит/с с помощью линейного предсказания с кодированием сигнала возбуждения с малой задержкой.
2.д. G.729: кодирование речевых сигналов 8 кбит/с с помощью линейного предсказания с алгебраическим кодированием сигнала возбуждения сопряженной структуры.
3. Обработка видеосигналов:
3.а. H.261: видеокодеки для аудиовизуальных услуг со скоростью 64 кбит/с.
3.б. H.263: кодирование видеосигнала для передачи с малой скоростью.
4. Конференц-связь для передачи данных:
4.а. T.120: стек протоколов (включает T.123, T.124, T.125) для передачи данных между оконечными пунктами.
5. Мультимедийная передача:
5.а. RTP: транспортный протокол реального времени.
5.б. RTCP: протокол управления передачей в реальном времени.
6. Обеспечение безопасности:
6.а. H.235: обеспечение безопасности и шифрование для мультимедийных терминалов сети H.323.
7. Дополнительные услуги:
7.а. H.450.1: обобщенные функции для управления дополнительными услугами в H.323.
7.б. H.450.2: перевод соединения на телефонный номер третьего абонента.
7.в. H.450.3: переадресация вызова.
7.г. H.450.4: удержание вызова.
7.д. H.450.5: парковка вызова (park) и ответ на вызов (pick up).
7.е. H.450.6: уведомление о поступившем вызове в состоянии разговора.
7.ж. H.450.7: индикация ожидающего сообщения.
7.з. H.450.8: служба идентификации имен.
7.и. H.450.9: служба завершения соединения для сетей H.323.


Сценарий установки соединения на основе протокола H.323

SIP (Session Initiation Protocol)

SIP - протокол сигнализации, предназначенный для организации, изменения и завершения сеансов связи. SIP независим от транспортных технологий, однако при установлении соединения предпочтительно использовать UDP. Для передачи самой голосовой и видеоинформации рекомендовано применять RTP, но возможность использования других протоколов не исключена.

В SIP определены два типа сигнальных сообщений - запрос и ответ. Также существует шесть процедур:

  • INVITE (приглашение) - приглашает пользователя принять участие в сеансе связи (служит для установления нового соединения; может содержать параметры для согласования);
  • BYE (разъединение) - завершает соединение между двумя пользователями;
  • OPTIONS (опции) - используется для передачи информации о поддерживаемых характеристиках (эта передача может осуществляться напрямую между двумя агентами пользователей или через сервер SIP);
  • АСК (подтверждение) - используется для подтверждения получения сообщения или для положительного ответа на команду INVITE ;
  • CANCEL (отмена) - прекращает поиск пользователя;
  • REGISTER (регистрация) - передает информацию о местоположении пользователя на сервер SIP, который может транслировать ее на сервер адресов (Location Server).

Сценарий сеанса связи SIP

Кодеки

Аудиокодеком называют программу или алгоритм, который сжимает, либо разжимает цифровые звуковые данные, позволяя снизить требования к пропускной способности канала передачи данных. В IP-телефонии на сегодняшний день наиболее распространено преобразование посредством кодека G.729, а также сжатие G.711 по А-закону (alaw) и μ-закону (ulaw).
G.729
G.729 является кодеком, который сжимает исходный сигнал с потерей данных. Основная идея, заложенная в G.729 - передача не самого оцифрованного сигнала, а его параметров (спектральной характеристики, количества переходов через ноль), достаточных для последующего синтезирования на принимающей стороне. При этом все основные характеристики голоса, такие как амплитуда и тембр сохраняются.

Пропускная способность канала, на которую рассчитан данный кодек - 8 кбит/с. Длина кадра обрабатываемого G.729 - 10 мс, частота дискретизации - 8 кГц. Для каждого из таких кадров определяются параметры математической модели, которые в дальнейшем и передаются в канал в виде кодов.

При использовании кодирования G.729 задержка составляет 15 мс, из которых 5 мс тратится на заполнение предварительного буфера. Отметим также, что кодек G.729 предъявляет достаточно высокие требования к ресурсам процессора.

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

Сигнал в данном кодеке предоставлен потоком величиной 64 кбит/с. Частота дискретизации - 8000 кадров по 8 бит в секунду. Качество голоса субъективно лучше, нежели при применении кодека G.729.

alaw
alaw или А-закон - алгоритм сжатия звуковых данных с потерей информации. В основном используется на территории Европы и России.

Для сигнала x преобразование по алгоритму alaw выглядит следующим образом:

Где А - параметр сжатия (обычно принимается равным 87,7).

ulaw
ulaw или μ-закон - алгоритм сжатия звуковых данных с потерей информации. В основном используется на территории Японии и Северной Америки.

Для сигнала x преобразование по алгоритму ulaw выглядит следующим образом:

где μ принимается равным 255 (8 бит) в стандартах Северной Америки и Японии.

Импульсно кодовая модуляция (PCM - Pulse Code Modulation)

Импульсно кодовая модуляция - передача непрерывной функции в виде серии последовательных импульсов.

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

Далее полученные значения округляются до одного из заранее принятых уровней. Заметим, что количество уровней необходимо принимать кратным степени двойки. В зависимости от того, сколько было определено уровней, сигнал кодируется определенным количеством бит.


Квантование сигнала

На данном рисунке представлено кодирование с помощью четырех битов (то есть все промежуточные значения аналогового сигнала будут округляться до одного из заранее заданных 16 уровней). Для примера, при времени равном нулю сигнал будет представлен подобным образом: 0111.

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

В современной телефонии число уровней квантования должно быть большим или равным 100, то есть минимальное количество бит, которым может кодироваться сигнал - 7.

Вопросы качества обслуживания в IP-телефонии (Quality of Service - QoS)

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

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

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

Также существуют такие характеристики, как готовность сети и ее надежность (оцениваются по результатам контроля уровня обслуживания в течение длительного времени, либо по коэффициенту использования).

Для улучшения качества связи используются следующие механизмы:

  1. Перемаршрутизация. При перегрузке одного из каналов связи позволяет осуществить доставку при помощи резервных маршрутов.
  2. Резервирование ресурсов канала связи на время соединения.
  3. Приоретизация трафика. Дает возможность помечать пакеты в соответствии с уровнем их важности и производить обслуживание на основе меток.
Как было сказано ранее, голосовой трафик чрезвычайно чувствителен к задержкам передачи. Максимальное время задержки не должно превышать 400 мс (сюда включается и продолжительность обработки информации на конечных станциях). Различают два основных типа задержек:

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


Источники задержки в IP-телефонии

Джиттер

Еще одно явление, характерное для IP-телефонии - джиттер, или, иначе, случайная задержка распространения пакета.

Обуславливается джиттер тремя факторами:

  • Ограниченная полоса пропускания или некорректная работа активных сетевых устройств;
  • Высокая задержка распространения сигнала;
  • Тепловой шум.
Наиболее часто применяющийся метод борьбы с джиттером - джиттер-буфер, хранящий определенное количество пакетов.

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

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

Джиттер буфер

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

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

Размер джиттер буфера
Случайная задержка распространения Ji для i-го пакета может определяться по формуле:

где:
Di – отклонение от ожидаемого времени прибытия i-го пакета.
Отклонение от ожидаемого времени прибытия i-го пакета Di определяется по формуле:

где:
R – время прибытия пакета в метках времени RTP,
S – временная метка RTP, взятая из пакета.

Приведем пример расчета ожидаемого размера случайной задержки распространения 5-го пакета, на основе двух предыдущих.

Пусть J4=10 мс; R4=10, R3=11, S4=6, S3=5, тогда D5 будет равно (10-11)-(6-5)=-2.

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

Для определения требуемого размера джиттер буфера в мегабайтах, домножим полученное значение на 100 мбит/сек – среднюю пропускную способность сети: 10 10^-3 100 = 128 кб.

Размер джиттер-буфера должен быть больше, чем флуктуация транзитного времени в сети. Например, если для 10 пакетов время транзита колеблется от 5 до 10 мс, то буфер должен быть хотя бы 8 мс, чтобы ни один пакет не был потерян. Лучше, если буфер еще больше, например 12 мс, тогда сможет работать механизм перезапроса потерянных пакетов.

Решения для развертывания телефонной сети

Asterisk

Asterisk - программная АТС, способная коммутировать как VoIP вызовы, так и вызовы, осуществляемые между IP-телефонами и традиционной телефонной сетью общего пользования.

Поддерживаемые протоколы: IAX, SIP, H.323, Skinny, UNIStim.
Поддерживаемые кодеки: G.711 (ulaw и alaw), G.722, G.723, G.729, GSM, iLBC, LPC-10, Speex.

Asterisk - динамично развивающееся открытое программное обеспечение, которое может быть установлено без оглядки на лицензирование. Это делает данную программную АТС привлекательной для малого и среднего бизнеса. Количество абонентов в сети может достигать 2000 и ограничено только мощностью сервера.

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

В сравнении с решениями от таких вендоров, как Cisco или Avaya, Asterisk привлекателен еще и стоимостью развертывания. Фактически все затраты сводятся только к покупке телефонных аппаратов и сервера, способного обеспечить требуемую нагрузку на сеть. Сама программа абсолютно бесплатна.

Cisco Unified Communication Manager (CallManager)

CallManager предназначен скорее для крупных сетей, включающих до 30000 абонентов. Данный программно-аппаратный комплекс обеспечивает надежность работы и позволяет конфигурировать множество параметров, таких как переадресация звонков или голосовое меню. Существует и “облегченная” express версия, предназначенная скорее для небольших офисов.

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

Avaya IP Office


Система IP Office может стать неплохим выбором для среднего размера телефонной сети. Количество абонентов здесь ограничено не только мощностью сервера, но и количеством приобретенных лицензий. Лицензировать необходимо практически все - платы расширения, используемые приложения и т.д., что может доставить определенные неудобства.

Конфигурирование может осуществляться через ряд программ, но наиболее популярная и простая в обращении - Avaya IP Office Manager. Также возможно управление через консоль с помощью Avaya Terminal Emulator.

В целом, продукция корпорации Avaya не ограничивается одним IP Office. Avaya, в 2009 году слившаяся с еще одним известным производителем Nortel, является признанным лидером на рынке оборудования для IP-телефонии.


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








Терминал H.323 – оконечное устройство пользователя сети IP – телефонии, которое обеспечивает двухстороннюю речевую (мультимедийную связь) с другим терминалом H.323, шлюзом или устройством управления Шлюз IP- телефонии реализует передачу речевого трафика по сетям с маршрутизацией пакетов IP по протоколу H.323. Основное назначение шлюза – преобразование речевой информации, поступающей со стороны ТфОП, в вид, пригодный для передачи по сетям с маршрутизацией пакетов IP. Основные устройства сети на базе рекомендации Н.323


Привратник – выполняет функцию управления зоной сети IP – телефонии, в которую входят терминалы, шлюзы и устройства управления конференциями, зарегистрированные у этого привратника. Устройство управления конференциями (MCU) - используется для организации и поддержания конференций любого вида Основные устройства сети на базе рекомендации Н.323


Функции привратника Преобразование alias адреса (имени абонента, телефонного номера, адреса электронной почты и др.) в транспортный адрес сетей с маршрутизацией пакетов IP (IP адрес и номер порта TCP). Контроль доступа пользователей системы к услугам IP- телефонии при помощи сигнализации RAS. Контроль, управление и резервирование пропускной способности сети. Маршрутизация сигнальных сообщений между терминалами, расположенными в одной зоне Привратник – администратор сети




Устройство управления конференциями (MCU) Контроллер многоточечных соединений - Multipoint Controller (MC) – обязательный элемент Процессор для обработки информации пользователей при многоточечных соединениях – Multipoint Processor (MP) – может быть несколько


Multipoint Controller Используется для организации конференции любого вида Организует между участниками конференции данными о функциональных возможностях их терминалов, указывает, в каком режиме участники конференции могут передавать информацию, причем этот режим может изменяться в ходе конференции, а также может быть общим для всех участников или отдельным для каждого из них В сети может быть несколько MC, следовательно, для каждой вновь создаваемой конференции производится процедура определения ведущего / ведомого оборудования, чтобы определить, какой MC будет управлять конференцией




Семейство протоколов Н.323 протокол взаимодействия оконечного оборудования с привратником – RAS, работает по протоколу UDP протокол управления соединениями - H.225, работает по протоколу TCP протокол управления логическими каналами - Н.245, работает по протоколу TCP




Протокол RAS Определение месторасположения оборудования Изменение полосы пропускания в ходе вызова Опрос и индикация текущего состояния оборудования Оповещение привратника об освобождении полосы пропускания, ранее занимавшейся оборудованием Обнаружение привратника Регистрация оконечного оборудования у привратника Контроль доступа к сетевым ресурсам


Обнаружение привратника ручной способ обнаружения привратника автоматический способ обнаружения привратника Автоматический способ обнаружения привратника GRQ - Gatekeeper Request GCF - Gatekeeper Confirmation GRJ - Gatekeeper Reject UDP порт 1719(1718) (Gatekeeper UDP Discovery MulticastAddress) rasAdderess


Процесс регистрации и отмены регистрации RCF - Registration Confirmation RRJ - Registration Reject URQ - Unregister Request UCF - Unregister Confirmation URJ - Unregister Reject Gatekeeper UDP Registration and Status Port 1719 RRQ - Registration Request timeToLive keepAlive




Формат сообщения H.225 Discriminator– отличает сообщения управления вызовами от других сообщений Length of call reference bits – длина параметра call reference Call reference value – Значение параметра call reference Message type – тип сообщения Information elements – пользовательская информация


Управляющий канал H.245 Определение ведущего и ведомого устройств Обмен данными о функциональных возможностях Открытие и закрытие однонаправленных логических каналов Открытие и закрытие двунаправленных логических каналов Определение задержки, возникающей при передаче информации от источника к приемнику и в обратном направлении Выбор режима обработки информации Сигнализация по петле, создаваемой для целей технического обслуживания оборудования Перенос управляющей информации H.245 осуществляется протоколом TCP по нулевому логическому каналу, который должен быть постоянно открытым с момента организации канала H.245 и вплоть до его ликвидации


Определение ведущего и ведомого оборудования Первый вариант Второй вариант terminalType statusDeterminationNumber




Логические каналы Информация, передаваемая источником к одному или более приемникам в сетях, базирующихся на рекомендации H.323? Переносится по логическим каналам, которые идентифицируются уникальным для каждого направления передачи номером канала. 2 вида логических каналов: Однонаправленный – открывающийся в направлении от источника к приемнику Двунаправленный - от источника информации к приемнику и обратно






Туннелирование управляющих сообщений Передача управляющих сообщений H.245 осуществляется по сигнальному, а не по отдельному управляющему каналу. Чтобы применить инкапсуляцию сообщений H.245, вызывающее оборудование должно присвоить значение true элементу h245Tunneling, передаваемому в сообщении Setup и в последующих сообщениях Q.931. Аналогичная процедура должна быть произведена и в обратном направлении Если оборудование не поддерживает туннелирование H.245, то для передачи управляющих сообщений открывается отдельный канал.










Установление соединения между терминалами H T1 посылает контроллеру зоны сообщение ARQ по RAS- каналу и запрашивает разрешение на использование прямого канала сигнализации с Т Контроллер зоны удовлетворяет запрос T1 сообщением ACF. 3. T1 посылает терминалу Т 2 Q.931- сообщение «setup». 4. T2 отвечает Q.931- сообщением «call proceeding». 5. T2 регистрируется у контроллера зоны, отправляя ему сообщение ARQ по RAS- каналу. 6. Контроллер зоны подтверждает регистрацию RAS- сообщением ACF. 7. T2 уведомляет T1 о своей регистрации (а следовательно, о разрешении установить соединение) Q.931- сообщением «alerting». 8. После установления соединения T2 информирует Т 1 о завершении процедуры Q.931- сообщением «connect».


Установление соединения между терминалами H.323 (2) 1. T1 посылает сообщение «TerminalCapabilitySet» терминалу T2. 2. T2 подтверждает начало сеанса согласования возможностей сообщением «TerminalCapabilitySetAck». 3. T2 информирует терминал T1 о своих параметрах сообщением «TerminalCapabilitySet». 4. T1 завершает процесс согласования возможностей сообщением «TerminalCapabilitySetAck». 5. T1 открывает канал передачи мультимедиа - информации в направлении T2 сообщением «openLogicalChannel» (в него входит транспортный адрес RTCP- канала). 6. T2 подтверждает открытие однонаправленного логического канала от T1 сообщением «openLogicalChannelAck» (оно включает также RTP- адрес терминала T2 и RTCP- адрес, полученный от T1). 7. T2 открывает мультимедиа - канал в направлении T1, информируя об этом сообщением «openLogicalChannel» (в его составе RTCP- адрес). 8. T1 подтверждает установление однонаправленного логического канала от T2 сообщением «openLogicalChannelAck» (оно включает RTP- адрес терминала T1 и RTCP- адрес, полученный от T2). На этом процесс установления двунаправленного соединения завершается.


Установление соединения между терминалами H.323 (3) 1. T2 инициализирует разъединение, посылая H.245- сообщение «EndSessionCommand». 2. T1 завершает обмен данными и подтверждает разъединение сообщением «EndSessionCommand». 3. T2 разрывает соединение после отправки Q931- сообщения «release complete». 4. T1 и T2 инициализируют свое отключение от контроллера зоны RAS- сообщениями DRQ. 5. Контроллер зоны отключает T1 и T2, предварительно оповестив их об этом сообщениями DCF. Процедура Fast Connect Вызывающее оборудование передает сообщение Setup с элементом fastStart fastStart включает в себя одну или несколько структур OpenLogicalChannel Одна из структур OpenLogicalChannel должна обязательно содержать элемент forwardLogicalChannelParameters (один однонаправленный канал) и может содержать reversLogicalChannelParameters (канал в обратном направлении) в fastStart может присутствовать несколько альтернативных структур OpenLogicalChannel, различающихся алгоритмами кодирования передаваемой информации или декодирования принимаемой информации


Процедура быстрого установления соединения Вызываемое оборудование может отклонить процедуру Fast Connect если: Оно ее не поддерживает Существует потребность в использовании процедур H.245 с открытием отдельного канала H.245 или с туннелированием управляющих сообщений Вызываемое оборудование может начинать передачу сообщений сразу вслед за любым сообщением Q.931 с элементом fastStart Вызывающее оборудование, инициировавшее процедуру Fast Connect, может начинать передачу речевой информации сразу после приема любого из разрешенных сообщений Q.931, содержащего элемент fastStart

В данном разделе приведено описание Протокола инициирования сеансов связи - SIP, его принципы, адресация, архитектура, приведено сравнение с протоколом H323. За основу взята 7 глава книги Б.С. Гольдштейн IP-Телефония .

Сравнительный анализ протоколов Н.323 и SIP

Прежде чем начать сравнение функциональных возможностей протоколов SIP и Н.323, напомним, что протокол SIP значительно моложе своего соперника, и опыт его использования в сетях связи несопоставим с опытом использования протокола Н.323. Существует еще один момент, на который следует обратить внимание. Интенсивное внедрение технологии передачи речевой информации по IP-сетям потребовало постоянного наращивания функциональных возможностей как протокола Н.323 (к настоящему времени утверждена уже четвертая версия протокола), так и протокола SIP (утверждена вторая версия протокола). Этот процесс приводит к тому, что достоинства одного из протоколов перенимаются другим.

И последнее. Оба протокола являются результатом решения одних и тех же задач специалистами ITU-T и комитета IETF. Естественно, что решение ITU-T оказалось ближе к традиционным телефонным сетям, а решение комитета IETF базируется на принципах, составляющих основу сети Internet.

Перейдем непосредственно к сравнению протоколов, которое будем проводить по нескольким критериям.

Дополнительные услуги . Набор услуг, поддерживаемых обоими протоколами, примерно одинаков.

Дополнительные услуги, предоставляемые протоколом Н.323, стандартизированы в серии рекомендаций ITU-T H.450.X. Протоколом SIP правила предоставления дополнительных услуг не определены, что является его серьезным недостатком, так как вызывает проблемы при организации взаимодействия оборудования разных фирм-производителей. Некоторые специалисты предлагают решения названных проблем, но эти решения пока не стандартизированы.

Примеры услуг, предоставляемых обоими протоколами:

  • Перевод соединения в режим удержания (Call hold);
  • Переключение связи (Call Transfer);
  • Переадресация (Call Forwarding);
  • Уведомление о новом вызове во время связи (Call Waiting);
  • Конференция.
Рассмотрим последнюю услугу несколько более подробно. Протокол SIP предусматривает три способа организации конференции: с использованием устройства управления конференциями MCU, режима многоадресной рассылки и соединений участников друг с другом. В последних двух случаях функции управления конференциями могут быть распределены между терминалами, т.е. центральный контроллер конференций не нужен. Это позволяет организовывать конференции с практически неограниченным количеством участников.

Рекомендация Н.323 предусматривает те же три способа, но управление конференцией во всех случаях производится централизованно контроллером конференций МС (Multipoint Controller), который обрабатывает все сигнальные сообщения. Поэтому для организации конференции, во-первых, необходимо наличие контроллера МС у одного из терминалов, во-вторых, участник с активным контроллером МС не может выйти из конференции.Кроме того, при большом числе участников конференции МС может стать. Правда, в третьей версии рекомендации ITU-T Н.323 принято положение о каскадном соединении контроллеров, однако производители эту версию в своем оборудовании пока не реализовали. Преимуществом протокола Н.323 в части организации конференций являются более мощные средства контроля конференций.

Протокол SIP изначально ориентирован на использование в IP-сетях с поддержкой режима многоадресной рассылки информации (примером может служить сеть Mbone, имеющая тысячи постоянных пользователей). Этот механизм используется в протоколе SIP не только для доставки речевой информации (как в протоколе Н.323), но и для переноса сигнальных сообщений. Например, в режиме многоадресной рассылки может передаваться сообщение INVITE , что облегчает определение местоположения пользователя и является очень удобным для центров обслуживания вызовов (Call-center) при организации групповых оповещений.

В то же время, протокол Н.323 предоставляет больше возможностей управления услугами, как в части аутентификации и учета, так и в части контроля использования сетевых ресурсов. Возможности протокола SIP в этой части беднее, и выбор оператором этого протокола может служить признаком того, что для оператора важнее техническая интеграция услуг, чем возможности управления услугами.

Протокол SIP предусматривает возможность организации связи третьей стороной (third-party call control). Эта функция позволяет реализовать такие услуги, как набор номера секретарем для менеджера и сопровождение вызова оператором центра обслуживания вызовов. Подобные услуги предусмотрены и протоколом Н.323, но реализация их несколько сложнее.

В протоколе SIP есть возможность указывать приоритеты в обслуживании вызовов, поскольку во многих странах существуют требования предоставлять преимущества некоторым пользователям. В протоколе Н.323 такой возможности нет. Кроме того, пользователь SIP-сети может регистрировать несколько своих адресов и указывать приоритетность каждого из них.

Персональная мобильность пользователей . Протокол SIP имеет хороший набор средств поддержки персональной мобильности пользователей, в число которых входит переадресация вызова к новому местоположению пользователя, одновременный поиск по не- скольким направлениям (с обнаружением зацикливания маршрутов) и т.д. В протоколе SIP это организуется путем регистрации на сервере определения местоположения, взаимодействие с которым может поддерживаться любым протоколом. Персональная мобильность поддерживается и протоколом Н.323, но менее гибко. Так, например, одновременный поиск пользователя по нескольким направлениям ограничен тем. что привратник, получив запрос определения местоположения пользователя LRQ, не транслирует его к другим привратникам.

Расширяемость протокола . Необходимой и важной в условиях эволюционирующего рынка является возможность введения новых версий протоколов и обеспечение совместимости различных версий одного протокола. Расширяемость (extensibility) протокола обеспечивается:

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

В случае необходимости, в организации IANA (Internet Assigned Numbers Authority) могут быть зарегистрированы новые заголовки. Для регистрации в IANA отправляется запрос с именем заголовка и его назначением. Название заголовка выбирается таким образом, чтобы оно говорило об его назначении. Указанным образом разработчик может внедрять новые услуги.

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

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

Новые функциональные возможности вводятся в протокол Н.323 с помощью поля NonStandardParameter . Оно содержит код производителя и, следом за ним, код услуги, который действителен только для этого производителя. Это позволяет производителю расширять услуги, но сопряжено с некоторыми ограничениями. Во-первых, невозможно запросить у вызываемой стороны информацию о поддерживаемых ею услугах, во-вторых, невозможно добавить новое значение уже существующего параметра. Существуют также проблемы, связанные с обеспечением взаимодействия оборудования разных производителей.

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

В протоколе Н.323 все кодеки должны быть стандартизированы. Поэтому приложения с нестандартными алгоритмами кодирования могут столкнуться с проблемами при реализации их на базе протокола Н.323.

Протокол SIP состоит из набора законченных компонентов (модулей), которые могут заменяться в зависимости от требований и могут работать независимо друг от друга. Этот набор включает в себя модули поддержки сигнализации для базового соединения, для регистрации и для определения местоположения пользователя, которые не зависят от модулей поддержки качества обслуживания (QoS). работы с директориями, описания сеансов связи, развертывания услуг (service discovery) и управления конфигурацией.

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

Масштабируемость сети (scalablllty) . Сервер SIP, по умолчанию, не хранит сведений о текущих сеансах связи и поэтому может обработать больше вызовов, чем привратник Н.323, который хранит эти сведения (statefull). Вместе с тем, отсутствие таких сведений, по мнению некоторых специалистов, может вызвать трудности при организации взаимодействия сети IP-телефонии с ТФОП.

Необходимо также иметь в виду зоновую архитектуру сети Н.323, позволяющую обеспечить расширяемость сети путем увеличения количества зон.

Время установления соединения . Следующей существенной характеристикой протоколов является время, которое требуется, чтобы установить соединение. В запросе INVITE протокола SIP содержится вся необходимая для установления соединения информация, включая описание функциональных возможностей терминала. Таким образом, в протоколе SIP для установления соединения требуется одна транзакция, а в протоколе Н.323 необходимо производить обмен сообщениями несколько раз. По этим причинам затраты времени на установление соединения в протоколе SIP значительно меньше затрат времени в протоколе Н.323. Правда, при использовании инкапсуляции сообщений Н.245 в сообщения Н.225 или процедуры Fast Connect время установления соединения значительно уменьшается.

Кроме того, на время установления соединения влияет также и нижележащий транспортный протокол, переносящий сигнальную информацию. Ранние версии протокола Н.323 предусматривали использование для переноса сигнальных сообщений Н.225 и Н.245 только протокол TCP, и лишь третья версия протокола предусматривает возможность использования протокола UDP. Протоколом SIP использование протоколов TCP и UDP предусматривалось с самого начала.

Оценка времени установления соединения производится в условных единицах - RTT (round trip time) - и составляет для протокола SIP 1,5+2,5 RTT, а для протокола Н.323 6-7 RTT

Адресация . К числу системных характеристик, несомненно, относится и предусматриваемая протоколами адресация. Использование URL является сильной стороной протокола SIP и позволяет легко интегрировать его в существующую систему DNS-серверов и внедрять в оборудование, работающее в IP-сетях. Пользователь получает возможность переправлять вызовы на Web-страницы или использовать электронную почту. Адресом в SIP может также служить телефонный номер с адресом используемого шлюза.

В протоколе Н.323 используются транспортные адреса и alias-адреса. В качестве последнего может использоваться телефонный номер, имя пользователя или адрес электронной почты. Для преобразования alias-адреса в транспортный адрес обязательно участие привратника.

Сложность протокола . Протокол Н.323, несомненно, сложнее протокола SIP. Общий объем спецификаций протокола Н.323 составляет примерно 700 страниц. Объем спецификаций протокола SIP составляет 150 страниц. Протокол Н.323 использует большое количество информационных полей в сообщениях (до 100), при нескольких десятках таких же полей в протоколе SIP. При этом для организации базового соединения в протоколе SIP достаточно использовать всего три типа запросов (INVITE , BYE и АСК ) и несколько полей (То , From , Call-ID , CSeq ).

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

Протокол Н.323 использует двоичное представление своих сообщений на базе языка ASN.1, поэтому их непосредственное чтение затруднительно. Для кодирования и декодирования сообщений необходимо использовать компилятор ASN. 1. Но, в то же время, обработка сообщений, представленных в двоичном виде, производится быстрее.

Довольно сложным представляется взаимодействие протокола Н.323 с межсетевым экраном (firewall). Кроме того, в протоколе Н.323 существует дублирование функций. Так, например, оба протокола Н.245 и RTCP имеют средства управления конференцией и осуществления обратной связи.

Выводы . На основе проведенного выше сравнения можно сделать вывод о том, что протокол SIP больше подходит для использования Internet-поставщиками, поскольку они рассматривают услуги IP-телефонии лишь как часть набора своих услуг.

Операторы телефонной связи, для которых услуги Internet не являются первостепенными, скорее всего, будут ориентироваться на протокол Н.323, поскольку сеть, построенная на базе рекомендации Н.323, представляется им хорошо знакомой сетью ISDN, наложенной на IP-сеть.

Не стоит также забывать, что к настоящему времени многие фирмы-производители и поставщики услуг уже вложили значительные средства в оборудование Н.323, которое успешно функционирует в сетях.

Таким образом, ответ на вопрос, какой из протоколов предпочтительнее использовать, будет зависеть от целей бизнеса и требуемых функциональных возможностей. Скорее всего, эти варианты не следует рассматривать как конкурирующие, а как предназначенные для разных областей рынка услуг, поскольку они могут работать параллельно и взаимодействовать через специальный шлюз. Проиллюстрируем это утверждение следующим примером. В настоящее время рынок услуг все больше нацеливается на услуги с доплатой за дополнительные возможности (value added), и простота их предоставления дает реальные преимущества. Так, использование SIP в каком-либо частном домене дает возможность более гибкого предоставления услуг, а наличие средств, обеспечивающих переход от прото- кола SIP к протоколу Н.323, гарантирует взаимодействие с областями, использующими другие решения. В таблице 6 приведен вариант возможного обмена сообщениями.

Таблица 6. Алгоритм установления соединения с участием шлюза Н.323/SIP

Шаг Н.323-сторона шлюза SIP-сторона шлюза

В 1990 году был одобрен первый международный стандарт в области видеоконференцсвязи - спецификация H.320 для поддержки видеоконференций по ISDN . Затем ITU одобрил еще целую серию рекомендаций, относящихся к видеоконференцсвязи. Эта серия рекомендаций, часто называемая H.32x, помимо H.320, включает в себя стандарты H.321-H.324, которые предназначены для различных типов сетей.
Во второй половине 90-х годов интенсивное развитие получили IP сети и Интернет. Они превратились в экономичную среду передачи данных и стали практически повсеместными. Однако, в отличие от ISDN, IP сети плохо приспособлены для передачи аудио и видеопотоков. Стремление использовать сложившуюся структуру IP сетей привело к появлению в 1996 году стандарта H.323 (Visual Telephone Systems and Terminal Equipment for Local Area Networks which Provide a Non-Guaranteed Quality of Service, Видеотелефоны и терминальное оборудование для локальных сетей с негарантированным качеством обслуживания). В 1998 году была одобрена этого стандарта H.323 v.2 (Packet-based multimedia communication systems, Мультимедийные системы связи для сетей с коммутаций пакетов), в сентябре 1999 года была одобрена рекомендаций, 17 ноября 2001 года была одобрена . Сейчас H.323 - один из важнейших стандартов из этой серии. H.323 - это рекомендации ITU-T для мультимедийных приложений в вычислительных сетях, не обеспечивающих гарантированное качество обслуживания (QoS). Такие сети включают в себя сети пакетной коммутации IP и IPX на базе Ethernet, Fast Ethernet и Token Ring.

    • Управление полосой пропускания
    • Возможность взаимодействия сетей
    • Платформенную независимость
    • Поддержку многоточечных конференций
    • Поддержку многоадресной передачи
    • Стандарты для кодеков
    • Поддержку групповой адресации

Управление полосой пропускания

Передача аудио- и видеоинформации весьма интенсивно нагружает каналы связи, и, если не следить за ростом этой нагрузки, работоспособность критически важных сетевых сервисов может быть нарушена. Поэтому рекомендации H.323 предусматривают управление полосой пропускания. Можно ограничить как число одновременных соединений, так и суммарную полосу пропускания для всех приложений H.323. Эти ограничения помогают сохранить необходимые ресурсы для работы других сетевых приложений. Каждый терминал H.323 может управлять своей полосой пропускания в конкретной сессии конференции. См. решения VCON для управления полосой пропускания

Межсетевые конференции

Платформенная независимость

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

Поддержка многоточечных конференций

Рекомендации H.323 позволяют организовывать конференцию с тремя или более участниками. Многоточечные конференции могут проводиться как с использованием центрального MCU (устройства многоточечной конференции), так и без него.

Поддержка многоадресной передачи

H.323 поддерживает многоадресную передачу в многоточечной конференции, если сеть поддерживает протокол управления групповой адресацией (такой, как IGMP). При многоадресной передаче один пакет информации отравляется всем необходимым адресатам без лишнего дублирования. Многоадресная передача использует полосу пропускания гораздо более эффективно, поскольку всем адресатам - участникам списка рассылки отправляется ровно один поток. См. VCON Interactive Multicast

Стандарты для кодеков

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

Совместимость

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

Гибкость

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

Сводная таблица протоколов семейства H.32x

Рекомендация H.320 H.321 H.322 H.323 V1/V2 H.324
Год принятия 1990 1995 1995 1996/1998 1996
Сеть Узко-полосная ISDN Широко-полосная ISDN, ATM LAN Сеть с коммутацией пакетов и гаранти-рованным качеством обслуживания (isoEthernet) Сеть с коммутацией пакетов и негаранти-рованным качеством обслуживания (Ethernet) Аналоговые телефонные сети общего назначения (PSTN или POTS)
Видео H.261 H.263 H.261 H.263 H.261 H.263 H.261 H.263 H.261 H.263
Аудио G.711 G.722 G.728 G.711 G.722 G.728 G.711 G.722 G.728 G.711 G.722 G.728 G.723 G.729 G.723
Мультиплекси-рование H.221 H.221 H.221 H.225.0 H.223
Управление H.230 H.242 H.242 H.242 H.230 H.245 H.245
Поддержка многоточечных конференций H.231 H.243 H.231 H.243 H.231 H.243 H.323 -
Обмен данными T.120 T.120 T.120 T.120 T.120
Сетевой интерфейс I.400 AAL I.363 AJM I.361 PHY I.400 I.400 & TCP/IP TCP/IP V.34 Модем
  • Базовая архитектура стандарта H.323

    В число "объектов" H.323, как они названы в стандарте, включаются терминалы, мультимедиа шлюзы, устройства управления многоточечными конференциями и контроллеры зоны (Gatekeeper).

    Михаил Виноградов, Вадим Метлицкий ("Стэл - Компьютерные Системы")



  • Рекомендуем почитать

    Наверх