Глава 2.ПРОТОКОЛ Н.323
Архитектура сети Н.323
Первым протоколом, регламентирующим построение сетейVoIP, была Рекомендация Н.323, которая разрабатывалась каксредство поддержки мультимедийных конференций в пакетныхсетях. Сети по Рекомендации Н.323 ориентировались на интеграцию с ТфОП. Поэтому не удивительно, что в основу сигнализациибыл положен протокол Q.931, обеспечивающий передачу сигнальных сообщений в сетях ЦСИС. Рекомендация Н.323 является зонтичной, то есть включает группу протоколов, которые можно раз
делить на:
протокол регистрации и запроса разрешения на установление
соединения RAS;
протокол установления и разъединения соединений (H.225.0);
протокол управления логическими каналами (Н.245).
В Рекомендации Н.323 также описана сетевая архитектура
(рис. 2.1) и перечень сетевых элементов.
Рисунок 2.1 - Архитектура сети по Рекомендации Н.323
Терминалом Н.323 называется оконечное оборудование пользователя, которое обеспечивает передачу аудио и видео потоков итестовых сообщений и полностью соответствует РекомендацииН.323. В тех случаях, когда абоненту не требуется передача видеоизображений, используется упрощенный аудио терминал, которыйреализует функции передачи голоса через IP-сеть и совместим сдругими элементами сети Н.323.
Шлюз Н.323 (Gateway) предназначен для сопряжения сетиVoIP с ТфОП. Для этого, шлюз обеспечивает преобразование поступающего из телефонной сети непрерывного голосового потокав поток пакетов по стеку RTP/UDP/IP. Шлюз также обеспечиваетприем сигнальных сообщений из телефонной сети (ЦАС№1, ОКС№7) и осуществляет установление соединений в пакетной сети попротоколу Н.225.0.
Устройство управления конференциями MCU (MultipointControl Unit) предназначено для осуществления централизованнойконференцсвязи. При этом устройство управления контролируетпроцесс создания конференции, подключение новых участников,микширование аудио и видео потоков, а также процесс разрушения конференции.
|
Привратник (Gatekeeper) – это основное устройство управления сети Н.323, которое выполняет следующие функции:
- преобразует альтернативный (alias) адрес в транспортный адрес вызываемого (IP-адрес назначения + UDP порт);
- контролирует права доступа вызывающего;
- обеспечивает маршрутизацию сигнальных сообщений междутерминалами в своей зоне.
Три первых перечисленных устройства играют роль оконеч-
ных точек (Endpoint) соединения в протоколе Н.323.
Адресация в Н.323
Каждое сетевое устройство сети Н.323 должно иметь, покрайней мере, один IP-адрес. Для организации каналов сигнализации, управления и передачи медиапотоков используются транспортныеадресаTSAP (TransportServiceApplicationPoint). Всеоконечные устройства имеют фиксированные адреса TSAP дляканала сигнализации. Привратники (контроллеры зоны) имеютизвестные транспортные адреса режима регистрации (RAS) и для
режима поиска привратника.
Оконечное оборудование Н.323 может иметь один или несколько альтернативных (alias) адресов. По формату эти адресасоответствуют адресу E-mail. Обычно в первой части адреса указывается идентификатор пользователя, а во второй – имя домена, вкотором расположен терминал. Соответствие между альтернативными и сетевыми адресами выполняется при помощи трансляционной таблицы, которая создается и хранится в привратнике.
|
Структура Рекомендации Н.323
Рекомендация Н.323 включает целую группу протоколов, объединенных общей задачей поддержки аудио- и видеоконференциичерез пакетную сеть.
Как видно из рис. 2.2, передача аудио и видео потоков производится по уже известному стеку G.xxx/RTP/UDP/IP,H/xxx/RTP/UDP/IP. Естественно контроль текущих параметровсессии и сбор статистики выполняется протоколом RTCP.
Процесс взаимодействия оконечных устройств с привратником определяется протоколом H.225 RAS (Registration, Admission,Status).
Рисунок 2.2 - Стеки протоколов по Рекомендации Н.323
Процесс установления и разъединения речевых соединенийчерез IP-сеть регламентируется протоколом H.225.0, который использует сокращенный набор сигнальных сообщений протоколаQ.931.
Процесс управления информационными (медиа) каналами регулируется протоколом Н.245, который определяет ведущего иведомого в сессии, обеспечивает согласование функциональныхвозможностей терминалов, управляет работой логических каналов.
Протокол RAS предусматривает два режима работы терминала с привратником: ручной и автоматический.
При ручном режиме адрес привратника задается в процессе
конфигурации терминала.
При автоматическом режиме терминал передает запрос GRQ
(Gatekeeper Request) на поиск привратника в режиме многоадресной рассылки (IP-адрес 224.0.1.14 и номер UDP-порта 1718 – подробнее в [3]). В ответ на этот запрос привратник посылает сообщение GCF (GatekeeperConfirmation), в котором сообщает терминалу свой адрес и номер UDP-порта (обычно 1719). Получив этуинформацию, терминал проводит процедуру регистрации, посылаязапрос RRQ (RegistrationRequest) к привратнику. Если процедурарегистрации проходит успешно, в ответ терминал получает сооб-
|
щение RCF (RegistrationConfirmation).
Перед началом соединения терминал посылает привратникузапрос ARQ (Admission Request), в котором указывает идентификатор вызываемого терминала (alias) и требование по скоростиприема и передачи информации в будущем соединении. Если привратник может обеспечить заявленные требования, то отвечаеттерминалу сообщением ACF (AdmissionConfirm), в котором указывает номер TCP-порта для установления сигнального канала
(Q.931) с привратником. Терминал устанавливает TCP-соединениес привратником (SYN-ACK-SYN/ACK), по которому будет передаваться сигнальная информация протокола H.225.0 (Q.931).
Процедура управлением соединения регламентирована Рекомендацией H.225.0, которая базируется на использовании усеченной версии протокола сигнализации ЦСИС – Q.931.
Из всего списка сигнальных сообщений Q.931 разрешено использовать только следующие сообщения:
- SETUP (Установить);
- CALL PROCEEDING (Соединение устанавливается);
- ALERTING (Контроль посылки вызова),
- CONNECT (Соединить);
- RELEASE COMPLETE (Освобождение завершено);
- FACILITY (Дополнительная услуга).
В соответствии с Рекомендацией Q.931, каждое сигнальноесообщение содержит заголовок и набор информационных элементов, значения которых определяют параметры будущего голосового соединения. В заголовке сигнального сообщения указывается,что сообщение составлено по протоколу Q.931, от кого оно поступило (от инициатора соединения или в ответ), порядковый номервызова и тип сообщения.
Например, сигнальное сообщение SETUP (рис. 2.3) содержит
следующие информационные элементы:
- возможности передачи BC (BearerCapability);
- номер вызываемой стороны CdPN (CalledParty Number);
- номер вызывающей стороны ClPn (CallingParty Number);
- информацию между пользователями UUI (User-userInformation).
В заголовке рассматриваемого сигнального сообщения указано, что:
- оно составлено в соответствии с протоколом Q.931;
- длина поля указателя вызова равна двум октетам;
- сообщение передано от инициатора соединения;
- порядковый номер вызова 1000;
- тип сигнального сообщения SETUP.
Информационный элемент «Возможности передачи» (ВС) содержит информацию о возможностях передачи для данного вызова:
- стандарт кодирования – MCЭ-Т;
- возможности передачи – неограниченная цифровая;
- режим – коммутация пакетов;
- информация пользователя на 1-ом уровне – по Рекомендациям
H.221 и H.242.
Информационные элементы CdPN («5») и ClPN («6») содержат информацию об используемом плане нумерации и цифры передаваемого номера. Информационный элемент UUI содержитданные, которыми обмениваются непосредственно терминалы. Вданном случае этот информационный элемент сформирован в соответствии с требованиями Рекомендации Н.323, включен в составсигнального сообщения SETUP, и содержит информацию протокола Н.245. Эта информация является запросом на выбор типа кодека (terminalCapabilitySet) TCS и содержит список из поддерживаемых терминалом 3-х кодеков (capability Table): 0 – G.711 μ-
закон, 1 – G.711 A-закон, 2 – GSM fullrate (кодек, используемый в
сетях GSM).
Рисунок 2.3 - Содержание сигнального сообщения SETUP
Рассматриваемый информационный эле мент также содержитзапрос на
определение «Ведущий – ведомый» (masterSlave Determination- MSD), в котором указано случайное число обозначения(status Determination Number) – 22981. Оно будет использовано впроцедуре MSD.
Общий алгоритм установления соединения по протоколу
Н.225.0 предполагает обмен следующими сигнальными сообщениями:
1. Терминал посылает сообщение SETUP (BC, CdPN, ClPN, UUI),которое содержит необходимую информацию для установления соединения.
2. Привратник может ответить на это сообщением CALL PROCEEDING,
указывающим, что вся необходимая информацияим получена.
3. Привратник пересылает SETUP к вызываемому терминалу.
4. Вызываемый терминал принимает вызов и отвечает сообщением ALERTING, пересылаемым вызывающему терминалу, который генерирует сигнал КПВ.
5. После того, как пользователь принимает вызов, его терминал
посылает сообщение CONNECT.
6. Вызов переходит в разговорную фазу и завершается любым из
терминалов после посылки сообщения Release Complete.
Процедура управления информационными (логическими) каналами выполняется в соответствии с Рекомендацией Н.245. Дляпередачи сообщений протокола Н.245 может использоваться отдельный управляющий канал или эти сообщения могут включаться в сигнальные сообщения Q.931 в составе информационногоэлемента UUI (как на рис. 2.3). Поскольку чаще используетсяименно второй вариант, то остановимся именно на этом способе.
Протокол Н.245 предполагает выполнение следующих действий:
- определение ведущего и ведомого оборудования MSD (master-SlaveDetermination);
- согласование функциональных возможностей оборудованияTCS (TerminalCapabilitySet);
- открытие информационных (логических) каналов OLC(openLogicalChannel).
Ведущим или ведомым в процессе открытия двунаправленного информационного канала может быть любой из терминалов. Впроцессе согласования терминалы вырабатывают и обмениваютсяслучайными числами. Терминал, сгенерировавший большое числостановится ведущим.
Обычно терминалы VoIP способны поддерживать несколькокодеков (см. табл. 1.1). Поэтому, в ходе согласования режимов работы исходящий терминал передает полный список своих кодековдля передачи речи и видеоизображений TCS. В ответном сообщении входящий терминал указывает свой список поддерживаемыхкодеков TCS и выбранный для данного соединения кодек. Исходящий терминал подтверждает выбор кодека.
Информация передается по RTP-сессиям непосредственномежду двумя терминалами. Поэтому, на этапе открытия логических каналов оба терминала должны обладать информацией, необходимой для открытия RTP-сессии: IP-адреса терминалов и номеравыбранных UDP-портов.
Временная диаграмма процесса установления и разъединения
соединения представлена на рис. 2.4.
Сценарий вызова начинается с посылки вызывающим терминалом запроса ARQ к своему привратнику с указанием имени вызываемого пользователя (dialedDigits: 5) и требуемой пропускнойспособности будущего соединения. В ответ привратник передаетподтверждение ACF с указанием номера TCP-порта для будущегосигнального канала.
Вызывающий терминал устанавливает TCP-соединение поуказанному номеру порта и передает сообщение SETUP, включающее информационные элементы: BC, CdPN, ClPN, UUI 1. Последний информационный элемент содержит таблицу кодековTCS, параметры MSD. Это сообщение привратник пересылает квызываемому терминалу.
Терминал, проверив соответствие своих возможностей полученным параметрам, подтверждает прием вызова сообщениемALERTING, которое содержит список поддерживаемых кодековTCS и тип выбранного кодека.
Вызывающий терминал, получив сообщение ALERTING, генерирует сигнал КПВ (контроль посылки вызова) и отвечает сообщением FACILITY 1, которое содержит подтверждение выбранного кодека и установление режима работы (Master/Slave).
Вызванный терминал посылает следующее сообщение FACILITY2, которое содержит запрос на открытие логического управляющего канала RTCP с указанием IP-адреса терминала и зарезервированного UDP-порта.
Рисунок 2.4 - Временная диаграмма процесса установления и разъединения соединения VoIP под управлением привратника
В ответ вызывающий терминал посылаетсообщение FACILITY 3, которое содержит данные по логическомууправляющему каналу со стороны вызывающего терминала (IP-адрес и UDP-порт).
Вызываемый терминал посылает в ответ сообщение FACILITY4. Оно содержит данные по RTP и RTCP сессиям (IP-адрестерминала и номер UDP-порта для RTP-сессии, который всегдаявляется четным числом на единицу меньшим, чем номер UDP-порта для RTCP-сессии).
Вызывающий терминал посылает сообщение CONNECT. Между двумя терминалами открывается RTP-сессия, которая контролируется RTCP.
Первым завершает сессию вызывающий терминал, посылаясообщение FACILITY 5, которое содержит запрос на закрытие логическогоканалаRCC (requestChannelClose). В ответе FACILITY6 вызываемый терминал подтверждает закрытие логического канала RCC ACK и запрашивает закрытие логического канала сосвоей стороны.
Вызывающий терминал в сообщении FACILITY 7 посылаетподтверждение закрытия логического канала со своей стороны(CC ACK) и команду закрытия сессии Disconnect (протоколН.245). Вызываемый терминал в сообщении FACILITY 8 подтверждает завершение сессии.
После чего, вызывающий терминал посылает сигнальное сообщение RELEASE COMPLETE. Далее вызывающий терминалзакрывает TCP-соединение путем обмена пакетами FIN/ACK иACK.
Теперь с помощью сообщения DRQ (Disengage Request) происходит извещение привратника об освобождении ресурсов завершенного соединения. Привратник подтверждает освобождениеполосы пропускания сообщением DCF (DisengageConfirm) протокола RAS.