Оборудование IP-телефонии


в себя три основных протокола:


Семейство протоколов Н.323 включает в себя три основных протокола: протокол взаимодействия оконечного оборудования с привратником - RAS, протокол управления соединениями - Н.225 и протокол управления логическими каналами - Н.245.

Эти три протокола, совместно с Интернет-протоколами TCP/IP, UDP, RTP и RTCP, а также с описанным в [6] протоколом Q.931, представлены на рис.6.1. Суть изображенной на этом рисунке иерархии заключается в следующем. Для переноса сигнальных сообщений Н.225 и управляющих сообщений Н.245 используется протокол с уcтановлением соединения и с гарантированной доставкой информации - TCP. Сигнальные сообщения RAS переносятся протоколом с негарантированной доставкой информации - UDP. Для переноса речевой и видеоинформации используется протокол передачи информации в реальном времени - RTP. Контроль переноса пользовательской информации производится протоколом RTCP.

С учетом того, что стек протоколов TCP/IP и протоколы UDP, RTP и RTCP уже рассматривались в главе 4, материал данной главы будет посвящен протоколам RAS, Н.225 и Н.245. Степень детализации их рассмотрения определяется конечной целью - изложению сценария базового процесса обслуживания вызова, в упрощенном виде уже упоминавшегося в главах 1 и 2.

Таблица. 6.1 Семейство протоколов Н.323



Гарантированная доставка информации по протоколу TCP Негарантированная доставка информации по протоколу UDP
Н.245 Н.225 Потоки речи и видеоинформации
Управление соединением (Q.931) RAS RTCP RTP
TCP UDP
IP
Канальный уровень
Физический уровень
6.2 Протокол RAS

Международный союз электросвязи в рекомендации Н.225.0 определил протокол взаимодействия рассмотренных в предыдущей главе компонентов сети Н.323: оконечного оборудования (терминалов, шлюзов, устройств управления конференциями) с привратником. Этот протокол получил название RAS (Registration, Admission and Status).

Основными процедурами, выполняемыми оконечным оборудованием и привратником с помощью протокола RAS, являются:

1. Обнаружение привратника.



2. Регистрация оконечного оборудования у привратника.
3. Контроль доступа оконечного оборудования к сетевым ресурсам.
4. Определение местоположения оконечного оборудования в сети.
5. Изменение полосы пропускания в процессе обслуживания вызова.
6. Опрос и индикация текущего состояния оконечного оборудования.
7. Оповещение привратника об освобождении полосы пропускания, ранее занимавшейся оборудованием.
Выполнение первых трех процедур, предусмотренных протоколом RAS, является начальной фазой установления соединения с использованием сигнализации Н.323. Далее следуют фаза сигнализации Н.225.0 (Q.931) и обмен управляющими сообщениями Н.245. Разъединение происходит в обратной последовательности: в первую очередь закрывается управляющий канал Н.245 и сигнальный канал Н.225.0, после чего по каналу RAS привратник оповещается об освобождении ранее занимавшейся оконечным оборудованием полосы пропускания.
Для переноса сообщений протокола RAS используется протокол негарантированной доставки информации UDP. В связи с этим ITU-T рекомендовал передавать повторно те сообщения RAS, получение которых не было подтверждено в течение установленного промежутка времени. Оконечное оборудование или привратник, не имеющие возможности в текущий момент времени ответить на полученный запрос, могут передавать сообщение RIP (Request in Progress) для индикации того, что запрос находится в стадии обработки. При приеме сообщения RIP привратник и оконечное оборудование должны перезапустить свои таймеры.
Важно отметить, что в сети без привратника сигнальный канал RAS вообще не используется.
6.2.1 Обнаружение привратника
Для взаимодействия оконечного оборудования с привратником нужно, чтобы устройству стал известен сетевой адрес подходящего привратника. Процесс определения этого адреса называется обнаружением привратника. Определены два способа обнаружения - ручной и автоматический.
Ручной способ заключается в том, что привратник, обслуживающий данное устройство, определяется заранее при конфигурации этого устройства.


Первая фаза установления соединения начинается сразу с запроса регистрации устройства, который передается на уже известный сетевой адрес привратника и на UDP-порт 1719, а в случае взаимодействия с привратником, поддерживающим первую версию протокола Н.323, - на порт 1718.
При автоматическом способе обнаружения привратника устройство передает запрос Gatekeeper Request (GRQ) в режиме многоадресной рассылки (multicasting), используя IP-адрес 224.0.1.41 - Gatekeeper UDP Discovery Multicast Address - и UDP порт 1718 - Gatekeeper UDP Discovery Port. Ответить оконечному оборудованию могут один или несколько привратников, передав на адрес, указанный в поле rasAddress запроса GRQ, сообщение Gatekeeper Confirmation (GCF) с предложением своих услуг и с указанием транспортного адреса канала RAS (рис.6.2.). Если привратник не имеет возможности зарегистрировать оконечное оборудование, он отвечает на запрос сообщением Gatekeeper Reject (GRJ).
Если на GRQ отвечает несколько привратников, оконечное оборудование может выбрать по своему усмотрению любой из них, после чего инициировать процесс регистрации. Если в течение 5 секунд ни один привратник не ответит на GRQ, оконечное оборудование может повторить запрос. Если ответ опять не будет получен, необходимо прибегнуть к ручному способу обнаружения привратника.

Рис. 6.2 Автоматическое обнаружение привратника

При возникновении ошибки в процессе регистрации у своего привратника, т.е. при получении отказа в регистрации или при отсутствии ответа на запрос регистрации, оконечное оборудование должно провести процедуру обнаружения привратника снова.
С точки зрения простоты технического обслуживания сети автоматический способ обнаружения предпочтительнее ручного, так как при возникновении каких-либо неисправностей в работе привратника для переключения к новому привратнику не надо будет вручную менять конфигурацию оборудования зоны: переключение устройств к другому привратнику произойдет автоматически. Чтобы облегчить эту задачу и повысить надежность работы сети, привратник может предоставлять в поле alternateGatekeeper сообщений GCF и RCF перечень альтернативных привратников, к которым устройство может переключиться в случае выхода из строя собственного привратника.


В то же время, следует сказать о том, что режим многоадресной рассылки в IP-сетях не очень распространен, поэтому, скорее всего, автоматическое обнаружение привратника найдет применение только в корпоративных сетях. Следует также отметить, что привратник должен уметь принимать и обрабатывать множество запросов от одного и того же оборудования, так как процедура обнаружения может периодически повторяться, например, при включении питания или при входе в сеть.
6.2.2 Регистрация оконечного оборудования
После выполнения процедуры обнаружения привратника оконечное оборудование должно быть присоединено к зоне сети, обслуживаемой данным привратником. Для этого оборудование должно сообщить привратнику свою адресную информацию: список alias-адресов и транспортных адресов. Этот процесс называется регистрацией оконечного оборудования у привратника.
В предыдущей главе уже упоминалось, что если в качестве оконечного оборудования выступают шлюз или устройство управления конференциями, то они могут зарегистрировать у привратника несколько транспортных адресов для каналов сигнализации RAS и Н.225.0 (Q.931). Кроме того, для повышения надежности работы сети оконечному оборудованию разрешается иметь дополнительные транспортные адреса, что дает возможность иметь в одном оборудовании два сетевых интерфейса или предусматривать дублирующее оборудование. Дополнительные транспортные адреса указываются в параметре alternateEndpoint некоторых сообщений сигнализации RAS.
Процесс регистрации представлен на рис.6.3. Оконечное оборудование передает запрос регистрации Registration Request (RRQ) на сетевой адрес привратника, либо полученный при выполнении процедуры его автоматического обнаружения, либо известный априори. Стоит отметить, что запрос направляется на общеизвестный номер UDP-порта 1719. Этот порт имеет соответствующее название - Gatekeeper UDP Registration and Status Port. Привратник отвечает на запрос подтверждением Registration Confirmation (RCF) или отказом в регистрации Registration Reject (RRJ).


Напомним, что оконечное оборудование может зарегистрироваться только у одного привратника.
Рис. 6.3 Процесс регистрации и отмены регистрации

Если оконечное оборудование не указывает свой alias-адрес в запросе RRQ, привратник может сам назначить такой адрес и вернуть его в сообщении RCF.
Регистрация оконечного оборудования должна быть проведена перед началом установления первого соединения с любым другим оборудованием. Этот процесс может периодически повторяться, например, при включении питания оборудования, поэтому привратник должен уметь обрабатывать множество запросов регистрации от одного и того же оборудования.
Если привратник получает запрос RRQ, содержащий те же самые alias-адрес и транспортный адреса оконечного оборудования, что и в предыдущем RRQ, он должен ответить подтверждением RCF. Если привратник получает запрос RRQ с тем же, что и в предыдущем RRQ, alias-адресом, но с другим транспортным адресом, он может либо подтвердить регистрацию, либо отказать в ней, в зависимости от внутренней политики сети. При приеме запроса RRQ, содержащего тот же, что и предыдущий RRQ, транспортный адрес, но другой alias-адрес оборудования, привратник должен закрепить за принятым транспортным адресом тот alias-адрес, который был принят последним, и подтвердить запрос. Заметим, что привратник может проверять наличие права пользователей на проведение вышеуказанных изменений.
Оконечное оборудование может регистрироваться на определенный промежуток времени, указывая в параметре timeToLive сообщения RRQ длительность этого промежутка в секундах. Привратник может подтвердить регистрацию сообщением RCF с параметром timeToLive, имеющим то же или меньшее значение.
В течение указанного промежутка времени оконечное оборудование может продлить регистрацию, передав сообщение RRQ с параметром keepAlive. Получив это сообщение, привратник должен перезапустить таймер.
По истечении назначенного промежутка времени регистрация считается недействительной. В этом случае привратник может передать сообщение об отмене регистрации, и оконечное оборудование должно пройти повторную регистрацию.


Оконечное оборудование может отменить регистрацию у привратника, передав сообщение Unregister Request (URQ); привратник должен ответить подтверждением Unregister Confirmation (UCF). Такая процедура позволяет оборудованию изменить свой alias-адрес или транспортный адрес. Если оборудование не было зарегистрировано у привратника, последний должен ответить на требование URQ отказом Unregister Reject (URJ).
Привратник может отменить регистрацию оборудования, передав сообщение Unregister Request (URQ), при получении которого оконечное оборудование должно ответить подтверждением Unregister Confirmation (UCF). Теперь, чтобы получить возможность участия в любом соединении, оконечное оборудование должно перерегистрироваться у того же привратника или зарегистрироваться у нового.
Оборудование, не зарегистрированное у привратника, не может требовать от него допуск к участию в любых соединениях. Привратник не выполняет для этого оборудования такие функции как управление полосой пропускания, преобразование адресов и другие предусмотренные рекомендацией Н.323 функции. Кроме того. привратник может запретить оконечному оборудованию своей зоны принимать вызовы от оборудования, которое у него не зарегистрировано.
6.2.3 Доступ к сетевым ресурсам
В начальной фазе установления соединения, а также после получения запроса соединения (сообщения Setup), оборудование обращается к привратнику при помощи запроса Admission Request (ARQ) с просьбой разрешить соединение с другим оборудованием (рис. 6.4), что является началом процедуры доступа к сетевым ресурсам. Важно отметить, что процедура доступа выполняется всеми участниками соединения.
В сообщении ARQ обязательно содержится идентификатор оборудования, пославшего сообщение ARQ, и контактная информация того оборудования, с которым желает связаться оборудование, пославшее сообщение ARQ. Контактная информация оборудования включает в себя alias-адрес и/или транспортный адрес сигнального канала, но, как правило, в запрос ARQ помещается только alias-адрес вызываемого оборудования.


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

Рис. 6.4 Управление доступом к сетевым ресурсам
Как показано в примере на рис.6.4, привратник может выделить требуемую полосу пропускания или снизить предел суммарной скорости, передав сообщение Admission Confirm (ACF). В этом же сообщении, кроме суммарной скорости, указывается транспортный адрес сигнального канала встречного оборудования, если сигнальный канал будет организован непосредственно между тем и другим оборудованием, или адрес привратника, если он будет маршрутизировать сигнальные сообщения.
Если процедура доступа инициируется вызывающим оборудованием, то после получения ответа ACF, на указанный в этом сообщении адрес передается сообщение Setup и делается попытка установить сигнальное соединение Н.225.0. Следует отметить, что инициирование процедуры доступа к сетевым ресурсам вызываемым оборудованием начинается уже после установления сигнального канала и получения по нему сообщения Setup.
Если требуемая полоса недоступна, привратник передает сообщение Admission Reject (ARJ).
6.2.4 Определение местоположения оборудования в сети
Оконечное оборудование или привратник, которые имеют alias-адрес некоторого оборудования и желают узнать его контактную информацию (адреса сигнального канала и канала RAS), могут послать запрос Location Request (LRQ) по адресу канала RAS отдельно взятого привратника или по общему адресу всех привратников (режим Gatekeeper's Discovery Multicast). Привратник, у которого зарегистрировано указанное оборудование, должен ответить сообщением Location Confirmation (LCF), содержащим требуемую контактную информацию.


Эта процедура называется определением местоположения оконечного оборудования в сети (рис.6.5).
Рис. 6.5 Определение местоположения оборудования в сети

Привратник, получивший на транспортный адрес своего канала RAS запрос LRQ, должен ответить отказом Location Reject (LRJ), если искомое оборудование у него не зарегистрировано. Те же привратники, у которых искомое оборудование не зарегистрировано, а сообщение LRQ было получено в режиме многоадресной рассылки Gatekeeper's Discovery Multicast, вообще не должны отвечать на запрос.
Вышеописанная процедура используется, в частности, тогда, когда в сети имеется несколько зон и вызов выходит за пределы одной зоны. Привратник, у которого зарегистрировано вызывающее оборудование, передает запрос адреса сигнального канала вызываемого оборудования.
Кроме того, оконечное оборудование или привратник могут передавать в поле destinationlnfo запроса LRQ номер абонента ТфОП в формате Е.164 с целью определить местонахождение шлюза, посредством которого может быть установлено соединение.
6.2.5 Изменение полосы пропускания
В процессе обслуживания вызова оконечное оборудование или привратник могут предпринять попытку изменить в ту или иную сторону суммарную скорость передачи информации. Данная процедура называется изменением полосы пропускания.
Оконечное оборудование может изменять суммарную скорость, не обращаясь за разрешением к привратнику, если после этого изменения средняя суммарная скорость не превысит предела, определенного при получении доступа к сетевым ресурсам.
Оконечное оборудование, которому нужно превысить указанный предел, должно передать привратнику запрос Bandwidth Change Request (BRQ), но до получения ответа средняя суммарная скорость должна быть не выше этого предела. Если привратник может выделить требуемую полосу пропускания, он отвечает сообщением Bandwidth Change Confirm (BCF). Далее речевые и видеоканалы закрываются, а затем при помощи управляющих сообщений Н.245 открываются каналы с новой скоростью передачи и приема информации.


Если же привратник по каким- либо причинам не может удовлетворить требование оборудования, он отклоняет это требование и передает сообщение Bandwidth Change Reject (BRJ). Сценарий процедуры представлен на рис.6.6.

Рис. 6.6 Изменение полосы пропускания в процессе обслуживания вызова
В процессе обслуживания вызова привратник может изменить в ту или иную сторону выделенную оборудованию полосу пропускания, передав сообщение BRQ. Если это требование предписывает снизить скорость, оконечное оборудование обязано подчиниться, т.е. передать подтверждение BCF и переустановить логические каналы.

Если сообщением BRQ привратник предлагает увеличить скорость, то решение принять или не принимать это предложение остается за оконечным оборудованием.
6.2.6 Опрос текущего состояния оборудования
Привратник в любой момент времени может определить текущее состояние оборудования, т.е. установить, доступно ли ему это оборудование. Данный процесс называется опросом текущего состояния оборудования (рис.6.7). Очевидно, что если питание оборудования выключено, или если в его работе возникла какая-либо неисправность, то оборудование становится недоступным.
Рис. 6.7 Опрос текущего состояния оборудования

Запрос информации о текущем состоянии (статусе) оборудования производится привратником при помощи сообщения Information Request (IRQ). Интервал между посылками IRQ оставлен на усмотрение производителя, но должен быть не меньше 10с. Получив запрос IRQ, оконечное оборудование должно передать запрашиваемую информацию в сообщении Information Request Response (IRR).
Привратник может дать оконечному оборудованию предписание передавать сообщения IRR без запросов с его стороны. Для этого привратник использует сообщение ACF, в поле irrFrequency которого указывается частота, с какой оконечное оборудование должно выдавать информацию о своем текущем состоянии. Получив такое предписание, оконечное оборудование должно передавать сообщения IRR с указанной частотой в течение всего времени обслуживания вызова, причем привратник может запрашивать дополнительную информацию, используя сообщения IRQ, как было описано выше.


Оконечное оборудование, желающее убедиться в том, что сообщения IRR, посылаемые без предварительных запросов со стороны привратника, достигают адресата, может требовать от привратника подтверждений получения сообщений IRR. Наличие поля willRe-spondToIRR в сообщениях RCF или ACF, получаемых от привратника, означает его согласие удовлетворить данное требование. Привратник может подтверждать получение сообщения IRR сообщением IACK или сообщать о потере или задержке сообщения IRR с помощью сообщения INAK. Оба сообщения IACK и INAK используются, когда сообщения IRR переданы (привратникам версии 2 или выше) с полем needResponse, которому присвоено значение TRUE.
Существует еще один вариант использования сообщений IRR. Привратник может потребовать от оконечного оборудования присылать копии всех или некоторых сигнальных сообщений, передаваемых и принимаемых этим оборудованием. Если оборудование может удовлетворить данное требование, оно передает запрашиваемую информацию в сообщениях IRR сразу же после того, как получит или отправит сигнальное сообщение.
6.2.7 Освобождение полосы пропускания
Как уже упоминалось ранее, процедура завершения соединения выглядит следующим образом: сначала закрываются логические каналы, затем управляющий и сигнальный каналы. В конечной фазе завершения соединения оборудование извещает привратник об освобождении раннее занимавшейся полосы пропускания (рис.6.8). Оконечное оборудование передает своему привратнику сообщение Disengage Request (DRQ), на которое тот должен ответить подтверждением Disengage Confirm (DCF). Следует отметить, что после того, как полоса пропускания освобождена, оконечное оборудование не должно передавать незапрашиваемые сообщения IRR.
Рис. 6.8 Освобождение полосы пропускания

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


В случае, если привратник инициирует завершение конференции, сообщение DRQ должно передаваться каждому ее участнику.
6.2.8 Метка доступа
Метка доступа передается в некоторых сообщениях сигнализации RAS и в сообщении Setup, причем имеются два основных варианта ее использования.
Первый вариант служит для сокрытия транспортного адреса и alias-адреса оконечного оборудования. Пользователь, желающий сохранить в тайне свои адреса, сообщает каким-либо образом вызывающему пользователю метку доступа, о наличии которой привратник заранее оповещен в процессе регистрации. Вызывающий абонент использует метку доступа для установления соединения с вызываемым абонентом, причем сигнальные каналы непременно должны проходить через привратник, который маршрутизирует сигнальные сообщения от одного абонента к другому.
Во втором варианте использования метки доступа она назначается привратником и должна передаваться во всех сообщениях, служащих для установления соединения. Примером такого использования метки доступа может служить установление соединения со шлюзом. По наличию метки шлюз определяет, что устанавливать соединение с его участием абоненту разрешено.
В заключение этого параграфа приведем итоговую таблицу (табл. 6.1) сообщений протокола RAS, рассмотренных выше. В этой и следующих аналогичных таблицах для удобства читателей, работающих также с рекомендациями ITU-T, используются следующие обозначения: О (options) - необязательное, М (mandatory) - обязательное.
Таблица 6.1 Сообщения RAS

Сообщение RAS Передача оконечным оборудованием Приём оконечным оборудованием Передача привратником Приём привратником Примечания
GRQ 0     М Gatekeeper Request (Запрос привратника) Любой привратник, принявший это сообщение, должен на него ответить
GCF   0 М   Gatekeeper Confirm (Подтверждение привратника) Привратник идентифицирует себя
GRJ   0 М   Gatekeeper Reject (Отказ привратника) Указывается причина
RRQ М     М Registration Request (Запрос регистрации)
RCF   М М   Registration Confirm (Подтверждение регистрации)
RRJ   М М   Registration Reject (Отказ в регистрации) Указывается причина
URQ 0 М 0 М Unregistratton Request (Запрос отмены регистрации) Терминал желает отменить регистрацию у привратника
UCF M 0 M 0 Unregistration Confirm (Регистрация отменена)
URJ 0 0 M 0 Unregistration Reject (Отказ в отмене регистрации) Указывается причина.
ARQ M     M Admission Request (Запрос доступа)
ACF   M M   Admission Confirm (Подтверждение доступа)
ARJ   M M   Admission Reject (Отказ в доступе) Указывается причина
BRQ M M 0 M Bandwidth Request (Запрос изменения полосы пропускания)
BCF M M M 0 Bandwidth Confirm (Подтверждение изменения полосы пропускания)
BRJ M M M 0 Bandwidth Reject (Отказ в предоставлении полосы) Указывается причина
IRQ   M M   Information Request (Запрос информации)
IRR M     M Information Response (Ответ на запрос информации)
IACK   0 Условное   InfoRequestAck (Подтверждение получения сообщения IRR)
INAK   0 Условное   InfoRequestNak (Индикация потери или задержки сообщения IRR)
DRQ M M 0 M Disengage Request (Запрос разъединения). Информирует привратник, что оконечное оборудование освобождает ранее занимавшуюся полосу пропускания, или оборудование о том, что ему необходимо освободить занимаемую полосу пропускания
DCF M M M M Disengage Confirm (Подтверждение получения сообщения DRQ)
DRJ M M M M Disengage Reject (Отклонение запроса/разъединения) Передаётся привратником, если оконечное оборудование не было зарегистрировано у данного привратника
LRQ 0   0 M Location Request (Запрос местоположения) Запрос предоставления транспортного адреса оконечного оборудования
LCF   0 M 0 Location Confirm (Сообщение о местоположении оборудования) Сообщается транспортный адрес искомого оконечного оборудования
LRJ   0 M 0 Location Reject (Отказ дать сведения о местоположении оборудования) Указывается причина, вероятнее всего -"искомое оборудование не зарегистрировано у привратника"
NSM 0 0 0 0 Non-Standard Message (Нестандартное сообщение) Передаются данные, не специфицированные в рекомендации Н. 225.0
XRS M M M M Unknown Message Response (Ответ на неизвестное сообщение) Передаётся оконечным оборудованием всякий раз, когда оно получает нераспознанное сообщение
RIP Условное M Условное M Request in Progress (Запрос обрабатывается) Передаётся оконечным оборудованием, если ответ на сообщение не может быть послан до срабатывания таймера RAS
RAI 0     M Resource Availability Indication (Индикация доступности ресурсов) Передаётся шлюзом привратнику, чтобы уведомить его о ресурсе шлюза для каждого из протоколов серии Н и о соответствующих скоростях передачи
RAC   0 M   Resource Availability Confirm (Подтверждение индикации доступности ресурсов) Ответ привратника на сообщение RAI




6.3 Сигнальный канал Н.225.0
Процедуры управления соединениями в сетях Н. 323 специфицированы Международным союзом электросвязи в рекомендации Н.225.0. Данные процедуры предусматривают использование в базовом процессе обслуживания вызова ряда сигнальных сообщений Q.931 [7], причем должен быть реализован симметричный обмен сигнальными сообщениями в соответствии с приложением D к рекомендации Q.931. Это требование не распространяется на взаимодействие шлюза с сетью коммутации каналов.
Для реализации дополнительных услуг в соответствии с рекомендацией Н.450 в сетях, построенных по рекомендации Н.323, привлекаются сигнальные сообщения Q.932. В дан ном. параграфе рассматриваются наиболее часто используемые сигнальные сообщения.
Сообщение Setup передается вызывающим оборудованием с целью установить соединение. Это сообщение передается на общеизвестный TCP порт 1720 вызываемого оборудования (см. рис.1.4 главы 1).
Сообщение Call Proceeding передается вызывающему оборудованию, чтобы известить его о том, что вызов принят к обслуживанию.
Сообщение Alerting передается вызывающему оборудованию и информирует его о том, что вызываемое оборудование не занято, и что пользователю подается сигнал о входящем вызове.
Сообщение Connect передается вызывающему оборудованию и информирует его о том, что вызываемый пользователь принял входящий вызов. Сообщение Connect может содержать транспортный адрес управляющего канала Н.245.
Сообщение Release Complete передается вызывающим или вызываемым оборудованием с целью завершить соединение. Это сообщение передается только в том случае, когда открыт сигнальный канал.
Сообщение Q.932 Facility используется для обращения к дополнительным услугам в соответствии с Рекомендациями ITU H.450.X.
Транспортировку сигнальных сообщений обеспечивает протокол с установлением соединения и с гарантированной доставкой информации -Transport Control Protocol (TCP). В соответствии с первой и второй версиями рекомендации Н.323 для каждого нового вызова открывается отдельный сигнальный канал.


Начиная с третьей версии рекомендации Н.323, один сигнальный канал Н.225. 0 может переносить сообщения, относящиеся к разным вызовам и имеющие разные метки соединения (call reference). Наличие такой возможности позволяет значительно уменьшить время установления соединения с участием шлюзов и объем передаваемой служебной информации.

Оборудование, поддерживающее управление множеством сигнальных соединений в одном сигнальном канале, присваивает в сигнальных сообщениях значение TRUE информационному полю multipleCalls. Оборудование может ограничивать количество сигнальных соединений, использующих один сигнальный канал, назначая определенный порог. Если этот порог достигнут, оборудование передает отказ в попытке установить соединение - сообщение Release Complete - с указанием причины newConnectionNeeded (требуется открыть новый сигнальный канал).
Кроме того, в версии 3 рекомендации Н.323 говорится о том, что сигнальный канал Н.225.0 может быть организован перед тем, как по нему потребуется передавать сигнальную информацию, и оставаться открытым после завершения соединения. Оборудование, поддерживающее постоянно открытый сигнальный канал, должно присваивать в сигнальных сообщениях значение TRUE информационному полю maintainConnection. Желательно также указывать на эту возможность при регистрации у привратника, что позволит привратнику (в случае маршрутизации им сигнальной информации) подключаться к оборудованию в любой момент после регистрации.
В сетях, не имеющих привратника, открывается сигнальный канал Н.225.0, непосредственно связывающий вызывающее оконечное оборудование с вызываемым. В этом случае вызывающий пользователь должен знать транспортный адрес сигнального канала (Call Signalling Transport Address) оборудования вызываемого пользователя.
В сетях с привратником вызывающее оборудование передает по транспортному адресу канала RAS привратника сообщение ARQ с указанием alias-адреса вызываемого пользователя. Если сигнальные сообщения будет маршрутизировать привратник (Gatekeeper Routed Call Signalling), то в ответном сообщении он передает транспортный адрес своего сигнального канала, что представлено на рис. 6.9.


Если же сигнальный канал будет, согласно рис. 6.10, устанавливаться непосредственно между вызывающим и вызываемым оборудованием (Direct Endpoint Call Signalling), то передается транспортный адрес сигнального канала вызываемого оборудования. Выбор варианта передачи сигнальных сообщений оставлен за привратником, хотя оконечное оборудование может указывать, какой вариант для него предпочтителен. И в первом, и во втором случае сигнальный канал Н.225 выполняет одни и те же функции и переносит одни и те же сообщения.
При маршрутизации сигнальных сообщений привратником сигнальный канал может закрываться сразу после установления соединения или оставаться открытым в течение всего соединения для предоставления дополнительных услуг. Закрыть сигнальный канал может только привратник, но если в соединении участвует шлюз, то сигнальный канал должен оставаться открытым до окончания соединения. При закрытии сигнального канала оконечным оборудованием должно сохраняться текущее состояние соединения. Привратник может в любой момент соединения снова открыть сигнальный канал.
Рис. 6.9 Маршрутизация сигнальной информации привратником
Рис. 6.10 Передача сигнальной информации напрямую
После обмена с привратником сообщениями ARQ и ACF по каналу RAS вызывающее оборудование передает запрос соединения Setup либо по транспортному адресу сигнального канала привратника (если сигнальные сообщения будет маршрутизировать привратник), либо по транспортному адресу сигнального канала вызываемого оборудования (если сигнальный канал будет связывать вызывающее и вызываемое оборудование непосредственно). В ответ на сообщение Setup вызываемое оборудование может передать сообщение Call Proceeding, означающее, что вся информация, необходимая для установления соединения, получена, и вызов принят к обслуживанию. Далее от вызываемого оборудования может поступить сообщение Alerting, означающее, что вызываемому пользователю подается вызывной сигнал. После того как пользователь принимает вызов, вызывающему оборудованию передается сообщение Connect с транспортным адресом управляющего канала Н.245 вызываемого оборудования, если управляющий канал связывает вызывающее и вызываемое оборудование напрямую (рис.6.11), или транспортный адрес канала Н.245 привратника, если управляющие сообщения маршрутизирует привратник (рис.6.12).


В некоторых случаях, например, для проключения разговорных каналов в предответном состоянии, транспортный адрес управляющего канала Н.245 включается в сообщения Call Proceeding или Alerting.

Рис. 6.12 Маршрутизация управляющих сообщений привратником

И, по аналогии с рассмотрением в предыдущем параграфе протокола RAS, завершим краткое описание сигнального канала Н.225.0 перечнем сообщений, сведенным в таблицу 6.2.
Таблица 6.2 Сообщения протокола Н.225.0

Сообщение Q.931/Q.932 Передача Прием
Alerting (Аналог "КПВ") М М
Call Proceeding (Соединение устанавливается) 0 Условное
Connect (Соединение установлено) М М
Connect Acknowledge (Подтверждение установления соединения) Не разрешено Не разрешено
Progress (Особенности маршрута) 0 0
Setup (Запрос соединения) М М
Setup Acknowledge (Подтверждение приема запроса Setup) 0 0
     
Disconnect (Разъединение) Не разрешено Не разрешено
Release (Освободить ресурсы) Не разрешено Не разрешено
Release Complete (Ресурсы освобождены) М М
     
Resume (Возобновить соединение) Не разрешено Не разрешено
Resume Acknowledge (Соединение возобновлено) Не разрешено Не разрешено
Resume Reject (Отказ возобновить соединение) Не разрешено Не разрешено
Suspend (Прервать соединение) Не разрешено Не разрешено
Suspend Acknowledge (Соединение прервано) Не разрешено Не разрешено
Suspend Reject (Отказ прервать соединение) Не разрешено Не разрешено
User Information (Информация пользователя) 0 0
     
Congestion Control (Управление потоком сообщений USER INFORMATION) Не разрешено Не разрешено
     
Information (Информация) 0 0
Notify (Уведомление) 0 0
Status (Статус) М М
Status Inquiry (Запрос статуса) 0 М
     
Facility (Дополнительная услуга) М М
Hold (Удержать соединение) Не разрешено Не разрешено
Hold Acknowledge (Соединение удерживается) Не разрешено Не разрешено
Hold Reject (Отказ удержать соединение) Не разрешено Не разрешено
Retrieve (Снять с удержания) Не разрешено Не разрешено
Retrieve Acknowledge (С удержания снято) Не разрешено Не разрешено
Retrieve Reject (Отказ снять с удержания) Не разрешено Не разрешено



6.4 Управляющий канал Н.245
Ранее в книге уже упоминалось, что в рекомендации ITU-Т Н.245 определен ряд независимых процедур, которые должны выполняться для управления информационными каналами. К ним относятся процедуры:
• определения ведущего и ведомого устройств (Master/slave determination);
• обмена данными о функциональных возможностях (Capability Exchange);
• открытия и закрытия однонаправленных логических каналов (Logical Channel Signalling);
• открытия и закрытия двунаправленных логических каналов (Bidirectional Logical Channel Signalling);
• закрытия логических каналов (Close Logical Channel Signalling);
• определения задержки, возникающей при передаче информации от источника к приемнику и в обратном направлении (Round Trip Delay Determination);
• выбора режима обработки информации (Mode Request);
• сигнализации по петле, создаваемой для целей технического обслуживания оборудования (Maintenance Loop Signalling).
Для выполнения вышеуказанных процедур между оконечными устройствами или между оконечным оборудованием и устройством управления конференциями или привратником организуется управляющий канал Н.245. При этом оконечное оборудование должно открывать один (и только один) управляющий канал для каждого соединения, в котором оно участвует. Примечательно, что терминалы. устройства управления конференциями, шлюзы и привратники могут участвовать одновременно в нескольких соединениях и, следовательно, открывать несколько управляющих каналов.
Перенос управляющей информации Н.245 осуществляется протоколом TCP по нулевому логическому каналу, который должен быть постоянно открытым с момента организации канала Н.245 и вплоть до его ликвидации. Следует отметить, что нормальные процедуры открытия и закрытия логических каналов, описываемые в этой главе, для управления нулевым логическим каналом не применяются.
По управляющему каналу Н.245 передаются сообщения четырех категорий: запросы, ответы, команды и индикации. Получив сообщение-запрос, оборудование должно выполнить определенное действие и немедленно передать обратно сообщение-ответ.


Получив сообщение-команду, оборудование также должно выполнить определенное действие, но отвечать на команду не должно. Сообщение-индикация служит для того, чтобы информировать о чем-либо получателя, но не требует от него ни ответа, ни каких бы то ни было действий.
Ниже в этом параграфе дается краткое описание основных процедур Н.245, выполняемых в процессе управления логическими каналами.
6.4.1 Определение ведущего и ведомого
Процедура определения ведущего и ведомого оборудования используется для разрешения конфликтов, возникающих между двумя устройствами при организации конференции, когда ведущим в ней может быть любое из этих устройств, или между двумя устройствами, которые одновременно пытаются открыть двунаправленный логический канал. Устройства обмениваются сообщениями master-SlaveDetermination (рис.6.13), в поле terminalType которых помещается значение, соответствующее типу данного оборудования (таблица 6.3), а в поле statusDeterminationNumber - случайное число из интервала [0 - (224-'!)]. Ведущим становится оборудование, поместившее большее число в поле terminalType, а при совпадении типов оборудования - большее число в поле statusDeterminationNumber.
Рис. 6.13 Первый вариант определения ведущего и ведомого оборудования

В ответ на полученные сообщения masterSlaveDetermination оба устройства передают сообщения masterSlaveDetermlnatlonAck, в которых указывается, какое оборудование является для данного соединения ведущим, а какое - ведомым. При этом любое оборудование стандарта Н.323 должно быть способно работать и в качестве ведущего, и в качестве ведомого.
Следует отметить, что активный МС в конференции должен использовать значение 240. При этом в конференции может быть только один активный контроллер. В ходе конференции активный контроллер не должен меняться.
Таблица 6.3 Значения поля TerminalType для разных типов оборудования

Тип оборудования стандарта Н.323 Значение в поле TerminalType
Терминал Шлюз Привратник MCU
Оборудование, не содержащее МС 50 60 - -
Оборудование, содержащее МС, но без МР 70 80 120 160
Оборудование, содержащее МС и МР для данных - 90 130 170
Оборудование, содержащее МС и МР для данных и речи - 100 140 180
Оборудование, содержащее МС и МР для данных, для речи и для видеоинформации - 110 150 190



Существует вариант процедуры Master- Slave Determination, предусматривающий сокращение числа передаваемых сообщений (рис.6.14).
Рис. 6.14 Второй вариант определения ведущего и ведомого оборудования
В этом варианте оборудование, передавшее сообщение master-SlaveDetermination и получившее в ответ сообщение masterSlave-DeterminationAck, передает сообщение masterSlaveDetermina-tlonAck.

6.4.2 Обмен данными о функциональных возможностях
Оборудование стандарта Н.323, в общем случае, способно принимать и передавать речь, видеоинформацию и данные. Это означает, что оборудование обычно содержит приемник и передатчик информации. Как правило, устройства поддерживают несколько алгоритмов кодирования и декодирования информации каждого вида, которые подробно обсуждались в главе 3. Для согласования режимов работы передающей и принимающей сторон используется процедура, называемая обменом данными о функциональных возможностях оборудования(рис.6.15).

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


Таким образом, алгоритмы, которые используются для кодирования передаваемой информации, указывать не обязательно, и в существующих продуктах IP-телефонии, реализованных на базе Н.323, для речи и видеоинформации обычно указываются только алгоритмы, которые используются для декодирования принимаемой информации.
В сообщение TerminalCapabilitySet включается поле capability Table - таблица функциональных возможностей, где каждому алгоритму кодирования/декодирования присвоен порядковый номер. Например, возможности приема речевой информации, закодированной по алгоритму G.723.1, соответствует номер 1, возможности приема речевой информации, закодированной по алгоритму G.728, - номер 2, возможности приема видеосигналов, закодированных по алгоритму Н.263, - номер 3 и т. д.
Указанные порядковые номера объединяются в список альтернативных режимов alternativeCapabilitySet. Оборудование может использовать любой (но только один) из режимов, указанных в списке. Например, список альтернативных режимов {G.711, G.723.1, G.728} означает, что оборудование может функционировать в любом из указанных режимов обработки речи, но только в одном.
В свою очередь, альтернативные режимы объединяются в наборы одновременно возможных режимов функционирования simulta-neousCapabilltles. Например, набор одновременно возможных режимов, содержащий список альтернативных режимов обработки видеоинформации {Н.261, Н.263} и список альтернативных режимов обработки речевой информации {G.711, G.723.1, G.728}, означает, что оборудование может использовать любой из указанных алгоритмов кодирования видеоинформации совместно с любым из списка алгоритмов кодирования речевой информации.
Другой пример: набор одновременно возможных режимов, содержащий два списка альтернативных режимов обработки видеоинформации {Н.261}, {Н.261, Н.263} и один список альтернативных режимов обработки аудиоинформации {G.711, G.723.1, G.728}, означает, что оборудование может одновременно использовать два алгоритма кодирования видеоинформации (первый - Н.261, второй - Н.261 или Н.263) и один алгоритм декодирования речи (либо G.711, либо G.723.1.


либо G.728).
Функциональные возможности терминала описываются набором дескрипторов (capability Descriptor), каждый из которых состоит из одного набора одновременно возможных режимов функционирования оборудования и номера дескриптора (capabilityDescrlptorNum-ber). Если при обмене данными о функциональных возможностях оборудование указывает более чем один дескриптор, то это означает, что оборудование поддерживает несколько режимов функционирования. Например, наличие в сообщении TerminalCapabilitySet двух дескрипторов: первого - как и в предыдущем примере, т.е. {Н.261, Н.263} и {G.711, G.723.1. G.728}, а второго-{Н.262} и {G.711}, означает, что оборудование, кроме описанного выше режима, поддерживает обработку видеоинформации, закодированной по алгоритму Н.262, совместно с обработкой речи. закодированной по менее сложному, по сравнению с остальными, алгоритму кодирования G.711.
Заметим, что функциональные возможности оборудования, не определенные рекомендацией ITU H.245, могут быть указаны в поле nonStandardParameter.
Оборудование может в любое время передать сообщение TerminalCapabilitySet с дескриптором, добавляющим новые функциональные возможности, или с дескриптором, обеспечивающим исключение некоторых из ранее указанных возможностей. Любое оборудование стандарта Н.323 должно включать в сообщение TerminalCapabilitySet, no крайней мере, один дескриптор. Исключение составляет сообщение EmptyCapabilitySet (пустой набор функциональных возможностей), которое используется для реализации дополнительных возможностей системы.
Оборудование, которое получило от другого оборудования сообщение TerminalCapabllHySet, может подтвердить его получение передачей сообщения TerminalCapabilltySetAck.
При получении сообщения с некорректным набором возможностей оборудование отвечает сообщением TerminalCapabilitySetRe-ject. При срабатывании таймера, запущенного после отправки сообщения TerminalCapabilitySet, оборудование, его пославшее, передает сообщение TerminalCapabilitySetRelease.


6.4.3 Открытие и закрытие логических каналов
Информация, передаваемая источником к одному или более приемникам в сетях, базирующихся на рекомендации Н.323, переносится по логическим каналам, которые идентифицируются уникальным для каждого направления передачи номером канала.
Рекомендацией Н.245 предусмотрена возможность открытия логических каналов двух видов: однонаправленных (uni-directional), т.е. открывающихся в направлении от источника к приемнику информации, и двунаправленных (bi-directional), открывающихся сразу в двух направлениях - от источника к приемнику информации и в обратном направлении.
Однонаправленные логические каналы открываются при помощи процедуры Uni-directional Logical Signalling (рис.6.16).

Рис. 6.16 Процедура открытия однонаправленных логических каналов

В требовании открыть логический канал openLogicalChannel оборудование указывает вид информации, который будет передаваться по этому каналу, и алгоритм кодирования информации. Если логический канал предназначается для переноса речи или видеоинформации, упакованной в пакеты рассмотренного в главе 4 протокола RTP (Real Time Protocol), то в сообщение openLogicalChannel должен включаться параметр mediaControlChannel с указанием транспорт-
ного адреса канала протокола RTCP (Real Time Control Protocol), при помощи которого ведется контроль передачи RTP пакетов.
Оборудование, получившее запрос открыть логический канал для приема данных, вид которых не поддерживается или не распознан, должно ответить сообщением openLogicalChannelReject. Получение корректного сообщения opentogicalChannel оборудование должно подтвердить сообщением openLogicalChannelAck.
Если логический канал открывается для переноса речи или видеоинформации, то принимающая сторона указывает в параметре mеdiaTransportChannel сообщения openLogicalChannelAck транспортный адрес, на который передающая сторона должна передавать RTP пакеты, а в параметре mediaControlChannel, - транспортный адрес канала RTCP.
При открытии каналов для передачи данных, например для приложений Т. 120 параметр mediaControlChannel в сообщениях ореп-LoglcalChannel и openLogicalChannelAck отсутствует.


Когда оборудование открывает однонаправленный логический канал, то, чтобы организовать дуплексную связь, встречное оборудование также должно открыть однонаправленный канал в обратном направлении, используя для этого вышеописанную процедуру Unidirectional Logical Signalling.
Для передачи речи или видеоинформации, как правило, открывается однонаправленный канал от источника к приемнику информации и, независимо, канал в обратном направлении. Поэтому допускается асимметричный режим работы, когда в разных направлениях передачи открывается разное количество каналов и используются разные алгоритмы кодирования информации одного и того же вида.
Если приемная сторона способна работать только в симметричном режиме, она может указать на это ограничение при выполнении процедуры Capabilities exchange.
Следует отметить, что прямой и обратный каналы не должны иметь один и тот же номер, так как номера логических каналов присваиваются независимо для каждого направления передачи. Кроме того, для прямого и обратного логических каналов, относящихся к одной RTP-сессии и имеющих один и тот же идентификатор сессии (sessionID), открывается только один канал RTCP.
В некоторых случаях, например, для обмена данными по протоколу Т. 120, оборудование, инициирующее такой обмен, должно открывать сразу и прямой, и обратный каналы. Делается это с помощью процедуры Bi-directional Logical Signalling, которая практически идентична вышеописанной процедуре Uni-directional Logical Signalling и также предусматривает обмен сообщениями openLogicalChannel и openLogicalChannelAck. Добавляется сообщение - openLogicalChannelConfirm, - которое передается в ответ на сообщение OpenLogicalChannelAck и подтверждает, что двунаправленный логический канал открыт (см. сценарий на рис.6.17). Заметим, что если процедура Uni-directional Logical Signalling для организации дуплексной связи должна выполняться два раза, то процедура Bi-directional Logical Signalling выполняется только один раз.
Рис. 6.17 Процедура открытия двунаправленного логического канала



Закрытие логических каналов может производиться с помощью процедуры CloseLogicalChannel, но она используется, в основном, для поддержки предоставления дополнительных услуг, в первую очередь, - перевода в режим удержания. Для нормального разрушения соединения стороны обмениваются сообщениями endSessionCommand. После обмена этими сообщениями закрываются не только логические каналы, но и управляющий канал Н.245.
6.4.4 Выбор режима обработки информации
Оконечное оборудование в ходе процедуры Capabilitiesexchange может объявить поддерживаемые им режимы передачи информации. Встречное оборудование, получив список возможных режимов передачи информации, может, передав сообщение requestMode, запросить передачу в одном из этих режимов. Устройство, получившее сообщение requestMode, должно, если это возможно, выполнить содержащееся в нем требование (рис.6.18). Оборудование, не желающее находиться под контролем другого оборудования в части выбора режима передачи информации, может просто не указывать. каким способом оно будет ее передавать.
Рис. 6.18 Выбор режима обработки информации

Терминальное оборудование, участвующее в конференции и получившее от контроллера конференций сообщение multipointModeCommand, должно выполнять требования, содержащиеся в сообщениях requestMode, если эти требования не выходят за пределы возможностей оборудования. Примечательно, что в централизованных и децентрализованных конференциях, все сообщения requestMode, передаваемые терминалами, поступают на контроллер конференций, и он принимает решение, удовлетворить полученные требования или нет.
В таблице 6.4 приведены сообщения Н.245, которые оборудование стандарта Н.323 обязано принимать и передавать, а также необязательные и запрещенные сообщения Н.245. Приняв нераспознаваемое сообщение, оборудование Н.323 должно передать в ответ сообщение functlonNotSupported. Следует отметить, что описание наиболее часто используемых сообщений было приведено в данном параграфе.
Таблица 6.4 Управляющие сообщения Н.245



Сообщения Н.245 Прием Передача
Determination M M
Determination Acknowledge M M
Determination Reject M M
Determination Release M M
Capability Set M M
Capability Set Acknowledge M M
Capability Set Reject M M
Capability Set Release M M
Open Logical Channel M M
Open Logical Channel Acknowledge M M
Open Logical Channel Reject M M
Open Logical Channel Confirm M M
     
Close Logical Channel M M
Close Logical Channel Acknowledge M M
     
Request Channel Close M 0
Request Channel Close Acknowledge 0 0
Request Channel Close Reject 0 M
Request Channel Close Release 0 M
Multiplex Entry Send He разрешено He разрешено
Multiplex Entry Send Acknowledge He разрешено He разрешено
Multiplex Entry Send Reject He разрешено He разрешено
Multiplex Entry Send Release He разрешено He разрешено
Request Mode M 0
Request Mode Acknowledge M 0
Request Mode Reject 0 M
Request Mode Release 0 M
Round Trip Delay Request M 0
Round Trip Delay Response 0 M
Maintenance Loop Request    
System Loop He разрешено Не разрешено
Media Loop Обязательно только для шлюзов
Logical Channel Loop Не разрешено Не разрешено
Maintenance Loop Acknowledge 0 0
Maintenance Loop Reject 0 M
Maintenance Loop Command Off M 0
Terminal List Request 0 0
Drop Terminal 0 0
Make Me Chair 0 0
Cancel Make Me Chair 0 0
Enter H.243 Password 0 0
Enter H.243 Terminal Id 0 0
Enter H.243 Conference ID 0 0
Request Terminal ID 0 0
Terminal ID Response 0 0
MC Terminal ID Response 0 0
Enter Extension Address 0 0
Enter Address Response 0 0
Terminal List Response 0 0
Make Me Chair Response 0 0
Conference ID Response 0 0
Password Response 0 0
Send Terminal Capability Set M M
Encryption 0 0
Flow Control M 0
End Session M M
Equalize Delay 0 0
Zero Delay 0 0
Multipoint Mode Command M 0
Cancel Multipoint Mode Command M 0
Video Freeze Picture M 0
Video Fast Update Picture M 0
Video Fast Update GOB M 0
Video Fast Update MB M 0
Video Temporal Spatial Trade Off 0 0
Video Send Sync Every GOB 0 0
Video Send Sync Every GOB Cancel 0 0
Terminal ID Request 0 0
Video Command Reject 0 0
Make Me Chair Response 0 0
Broadcast My Logical Channel Me 0 0
Cancel Broadcast My Logical Channel Me 0 0
Make Terminal Broadcaster 0 0
Cancel Make Terminal Broadcaster 0 0
Send This Source 0 0
Cancel Send This Source 0 0
Drop Conference 0 0
Communication Mode Command M 0
Communication Mode Request 0 0
Communication Mode Response 0 0
Function Not Understood M M
Function Not Supported M M
Logical Channel Active 0 0
Logical Channel Inactive 0 0
Multipoint Conference M 0
Cancel Multipoint Conference M 0
Multipoint Zero Comm 0 0
Cancel Multipoint Zero Comm 0 0
Multipoint Secondary Status 0 0
Cancel Multipoint Secondary Status 0 0
Video Indicate Ready to Activate 0 0
Video Temporal Spatial Trade Off 0 0
Video Not Decoded MBs 0 0
SBE Number 0 0
Terminal Number Assign M 0
Terminal Joined Conference 0 0
Terminal Left Conference 0 0
Seen By At Least One Other 0 0
Cancel Seen By At Least One Other 0 0
Seen By All 0 0
Cancel Seen By All 0 0
Terminal You Are Seeing 0 0
Request For Floor 0 0
Vendor Indications 0 0
MC Location Indication M 0
Jitter Indication 0 0
H.223 Skew Indication Не разрешено Не разрешено
H2250MaximumSkewlndication 0 M
New ATM Virtual Channel Indication Не разрешено Не разрешено
User input M (0-9, * и #) M (0-9, * и #)



6.5 Алгоритмы установления, поддержания и разрушения соединения
Процедура установления, поддержания и разрушения соединений в IP-сети с использованием семейства протоколов Н. 323 на страницах этой книги обсуждалась уже дважды, в главах 1 и 2, с разной степенью детализации. Теперь, вооружившись материалами глав 4, 5 и 6, пора продолжить эту цепочку последовательных приближений и рассмотреть алгоритмы установления, поддержания и разрушения соединений по протоколу Н.323 более подробно.
В силу важности этих алгоритмов авторам хотелось бы сохранить легкость восприятия материала. Поэтому они приняли решение рассмотреть наиболее часто применяемые на практике примеры базового соединения в сети, базирующейся на рекомендации Н.323. В качестве примеров взяты случаи:
• вызываемый и вызывающий пользователи зарегистрированы в одном и том же привратнике, который маршрутизирует сигнальную и управляющую информацию;
• вызываемый и вызывающий пользователи соединяются непосредственно друг с другом, привратник в сети отсутствует.
Прежде чем рассматривать эти два сценария, отметим, что в общем случае алгоритмы установления, поддержания и разрушения соединений по Н.323 включают в себя следующие фазы:
• Фаза А. Установление соединения;
• Фаза В. Определение ведущего/ведомого оборудования и обмен данными о функциональных возможностях;
• Фаза С. Установление аудиовизуальной связи между вызывающим и вызываемым оборудованием;
• Фаза D. Изменение полосы пропускания, запрос текущего состояния оборудования, создание конференций и обращение к дополнительным услугам;
• Фаза Е. Завершение соединения.
6.5.1 Базовое соединение с участием привратника
Сценарий этого первого случая приведен на рис.6.19. Вызывающее оборудование передает сообщение ARQ с alias-адресом вызываемого абонента, в ответ на которое привратник передает сообщение ACF с уведомлением, что именно он будет маршрутизировать сигнальные сообщения (Gatekeper routed call signaling), и с указанием транспортного адреса своего сигнального канала.


Далее вызывающее оборудование передает на этот транспортный адрес запрос соединения Setup. Привратник пересылает сообщение Setup вызываемому оборудованию и передает вызывающему оборудованию
сообщение Call Proceeding, означающее, что полученной информации достаточно для обслуживания поступившего вызова. Вызываемое оборудование также отвечает на Setup сообщением Call Proceeding. Если оборудование имеет возможность принять вызов, оно передает запрос допуска к ресурсам сети ARQ, на который привратник может ответить подтверждением ACF или отказом в допуске к ресурсам сети ARJ. В первом случае вызываемое оборудование передает сообщение Alerting, и привратник маршрутизирует его к вызывающему оборудованию. Вызываемому пользователю подается визуальный или акустический сигнал о входящем вызове, а вызывающему дается индикация того, что вызываемый пользователь не занят и ему подается вызывной сигнал. При отказе в допуске к ресурсам сети вызываемое оборудование закрывает сигнальный канал путем передачи привратнику сообщения Release Complete.
После того как вызываемый пользователь примет входящий вызов, привратнику передается сообщение Connect с транспортным адресом управляющего канала Н.245 вызываемого оборудования. Привратник заменяет этот адрес транспортным адресом своего управляющего канала Н.245 и пересылает Connect вызывающему оборудованию, после чего открывается управляющий канал Н.245.
Чтобы ускорить открытие разговорной сессии, управляющий канал может быть открыт вызываемым оборудованием после получения сообщения Setup с транспортным адресом управляющего канала Н.245 вызывающего оборудования или привратника, или вызывающим пользователем после получения сообщения Call Proceeding или Alerting, содержащего транспортный адрес управляющего канала Н.245 вызываемого пользователя или привратника.
После открытия управляющего канала Н.245 начинается обмен данными о функциональных возможностях оборудования. В рассматриваемом нами случае все управляющие сообщения, передаваемые от одного оконечного оборудования к другому, маршрутизируются привратником.


Терминалы обмениваются сообщениями TermlnalCapabilttySet, в которых указываются возможные алгоритмы декодирования принимаемой информации. Следует отметить, что сообщение TermjnalCapabllHySet должно быть первым сообщением, передаваемым по управляющему каналу. Оборудование, принявшее сообщение TermlnalCapabllitySet от другого оборудования, подтверждает его получение передачей сообщения TermlnalCapabllttySetAck.
Затем инициируется процедура определения ведущего/ведомого оборудования, необходимая для разрешения конфликтов, возникающих между двумя устройствами при организации конференции, когда оба они могут быть активными контроллерами конференций, или между двумя устройствами, пытающимися одновременно открыть двунаправленные логические каналы. В ходе процедуры устройства обмениваются сообщениями masterSlaveDetermlnation.
Рис. 6.19 Пример соединения с участием привратника

В ответ на полученные сообщения masterSlaveDetermination оба устройства передают сообщения masterSlaveDeterminationAck, в которых указывается, какое из этих устройств является для данного соединения ведущим, а какое - ведомым.
Напомним, что возможен сценарий процедуры Master-Slave Determination, предусматривающий сокращение количества передаваемых сообщений: оборудование, передавшее сообщение masterSlaveDetermination и получившее в ответ сообщение masterSlaveDeterminationAck, передает сообщение masterSlaveDeterminationAck.
После обмена данными о функциональных возможностях и определения ведущего и ведомого оборудования может выполняться процедура открытия однонаправленных логических каналов. В требовании открыть логический канал (в нашем случае - прямой логический канал) openLogicalChannel оборудование указывает вид информации, который будет передаваться по этому каналу, и алгоритм кодирования. В нашем случае логический канал предназначается для переноса речи, поэтому в сообщение openLogicalChannel включается параметр mediaControlChannel с указанием транспортного адреса канала RTCP, при помощи которого производится контроль передачи RTP пакетов.


В ответ на сообщение openLogicalChannel оборудование должно передать подтверждение openLogicalChannelAck, в котором указывается транспортный адрес, на который передающей стороне следует посылать RTP пакеты, а также транспортный адрес канала RTCP.
Далее открывается разговорная сессия. Оборудование вызывающего пользователя передает речевую информацию, упакованную в пакеты RTP/UDP/IP, на транспортный адрес RTP-канала оборудования вызванного пользователя, а вызванный пользователь передает пакетированную речевую информацию на транспортный адрес RTP-канала оборудования вызывающего пользователя. При помощи канала RTCP ведется контроль передачи информации по RTP каналам.
После окончания разговорной фазы начинается фаза разрушения соединения. Оборудование пользователя, инициирующего разъединение, должно прекратить передачу речевой информации, закрыть логические каналы и передать по управляющему каналу сообщение Н.245 endSessionCommand, означающее, что пользователь хочет завершить соединение. Далее от встречного оборудования ожидается сообщение endSessionCommand, после приема которого управляющий канал Н.245 закрывается. Следующим шагом, если сигнальный канал еще открыт, передается сообщение Release Complete.
Пользователь, получивший команду endSessionCommand от пользователя, инициировавшего разрушение соединения, должен прекратить передачу речевой информации, закрыть логические каналы и передать сообщение endSessionCommand. Далее, если сигнальный канал остался открытым, передается сообщение Release Complete, и сигнальный канал закрывается.
После вышеописанных действий оконечное оборудование извещает привратник об освобождении зарезервированной полосы пропускания. С этой целью каждый из участников соединения передает по каналу RAS запрос выхода из соединения DRQ, на который привратник должен ответить подтверждением DCF, после чего обслуживание вызова считается завершенным.
6.5.2 Базовое соединение без участия привратника
Теперь рассмотрим случай, когда вызываемое и вызывающее оборудование взаимодействуют непосредственно друг с другом, привратник в сети отсутствует (рис.6.20).


Вызывающее оборудование посылает запрос соединения Setup на известный транспортный адрес сигнального канала вызываемого оборудования. Вызываемое оборудование отвечает на Setup сообщением Call Proceeding, а затем - Alerting. Вызываемому пользователю дается визуальный или акустический сигнал о входящем вызове, а вызывающему - индикация того, что вызываемый пользователь не занят и получает вызывной сигнал.
Как только вызываемый пользователь примет входящий вызов, передается сообщение Connect с указанием транспортного адреса управляющего канала Н.245 вызываемого оборудования, после чего открывается управляющий канал Н.245.
И здесь, чтобы ускорить открытие разговорной сессии, управляющий канал тоже может быть открыт вызываемым оборудованием после получения сообщения Setup с транспортным адресом управляющего канала Н.245 вызывающего оборудования, или вызывающим пользователем после получения сообщения Call Proceeding или Alerting, в котором содержится транспортный адрес управляющего канала Н.245 вызываемого оборудования.
После открытия управляющего канала выполняются все процедуры, описанные в первом случае: обмен данными о функциональных возможностях, определение ведущего/ведомого оборудования, открытие однонаправленных логических каналов.
Далее открывается разговорная сессия. Оборудование вызывающего пользователя передает речевую информацию, упакованную в пакеты RTP/UDP/IP, на транспортный адрес RTP-канала оборудования вызываемого пользователя, а оно, в свою очередь, передает пакетированную речевую информацию на транспортный адрес RTP-канала оборудования вызывающего пользователя.
После окончания разговорной фазы начинается фаза разрушения соединения. Оборудование пользователя, инициирующего разъединение, прекращает передачу речевой информации, закрывает логические каналы и передает по управляющему каналу сообщение Н.245 endSessionCommand, означающее, что пользователь хочет завершить соединение. Ожидается сообщение endSessionCommand от встречного оборудования, после чего управляющий канал Н.245 закрывается.


Следующим шагом передается сообщение Release Complete, и сигнальный канал закрывается.
Рис. 6.20 Пример соединения без участия привратника

Пользователь, получивший команду endSessionCommand от пользователя, инициировавшего разъединение, должен прекратить передачу речевой информации, закрыть логические каналы и передать сообщение endSessionCommand. Далее, если сигнальный канал остался открытым, передается сообщение Release Complete, сигнальный канал закрывается, и обслуживание вызова считается завершенным.
6.5.3 Туннелирование управляющих сообщений
Для ускорения установления соединения может использоваться процесс, известный как инкапсуляция или Туннелирование управляющих сообщений Н.245. При этом передача сообщений Н.245 осуществляется по сигнальному, а не по отдельному управляющему каналу. Одно или несколько сообщений Н.245 переносятся в элементе h245Control информационного поля h323_uu_pdu в любом из разрешенных сообщений Q.931.
Чтобы применить инкапсуляцию сообщений Н.245, вызывающее оборудование должно присвоить значение TRUE элементу h245Tunnelling, передаваемому в сообщении Setup и в последующих сообщениях Q.931. Вызываемое оборудование, получившее в сообщении Setup элемент h245Tunnelling со значением TRUE и желающее использовать инкапсуляцию управляющих сообщений, также должно присвоить значение TRUE элементу h245Tunnelling в сообщении, передаваемом в ответ на сообщение Setup, и в последующих сообщениях Q.931.
Вызываемое оборудование, не поддерживающее Туннелирование управляющих сообщений, присваивает элементу h245Tunnelling, передаваемому в ответе на сообщение Setup, значение FALSE. В этом случае для передачи управляющих сообщений открывается отдельный канал Н.245.

6.5.4 Процедура быстрого установления соединения
Самый быстрый способ установления соединения в сети, базирующейся на рекомендации Н.323, - это использование процедуры Fast Connect. Чтобы инициировать процедуру Fast Connect, вызывающее оборудование передает сообщение Setup с элементом fastStart. Этот элемент может включать в себя одну или несколько структур Open Log icalChannel. Одна из структур OpenLogicalChannel обязательно должна содержать элемент forwardLogicalChannelParametere и может содержать элемент reverseLogicalChannelParameters, но, в то же время, структура OpenLogicalChannel описывает точно один однонаправленный логический канал.


Это означает, что когда описывается прямой логический канал, то в структуре присутствует только элемент forwardLogicalChannelParameters. Элемент содержит информацию об алгоритме, который используется вызывающим оборудованием для кодирования передаваемой информации, и адрес канала RTCR При описании канала обратного направления в элементе forwardLogicalChannelParameters не содержится никакой информации, хотя сам он обязательно присутствует, а в элементе reverseLogicalChannelParameters содержатся сведения об алгоритме декодирования принимаемой информации, транспортный адрес RTP, на который следует передавать информацию, и адрес канала RTCP.
В элементе fastStart может присутствовать несколько альтернативных структур OpenLogica (Channel, различающихся алгоритмами кодирования передаваемой информации или декодирования принимаемой информации, причем наиболее предпочтительные алгоритмы указываются в первую очередь.
Вызываемое оборудование может отклонить процедуру Fast Connect, либо если оно ее не поддерживает, либо если существует потребность в использовании процедур Н.245 с открытием отдельного канала Н.245 или с Туннелированием управляющих сообщений. В этом случае элемент fastStart не включается ни в одно из сообщений, передаваемых после приема Setup, до сообщения Connect включительно. Открытие логических каналов для передачи речевой информации производится с использованием процедур Н.245.
Вызываемое оборудование, получившее сообщение Setup с элементом fastStart и могущее поддержать процедуру Fast Connect, должно включить элемент fastStart в любое из сообщений Q.931, передаваемых после приема Setup, до сообщения Connect включительно. Элемент fastStart содержит структуры OpenLogicalChan-nel, которые выбраны вызываемым оборудованием из структур, предложенных вызывающим оборудованием. И снова одна из структур OpenLogicalChannel содержит элемент forwardLogicalChannel-Parameters со сведениями об алгоритме кодирования информации, с транспортными адресами каналов RTP и RTCP вызываемого оборудования.


Вторая структура OpenLogicalChannel включает в себя элемент forwardLogicalChannelParameters, не содержащий никакой информации, и элемент reverseLogicalChannelParameters со сведениями об алгоритме кодирования информации и с транспортным адресом канала RTCP вызываемого оборудования.
Вызываемое оборудование может начинать передачу информации сразу вслед за любым сообщением Q.931 с элементом fastStart. Это означает, что вызывающее оборудование должно быть готовым к приему информации, закодированной любым из указанных в сообщении Setup способов. Сообщение Q.931 с элементом fastStart, переданное вызываемым оборудованием после получения сообщения Setup, может прийти после начала передачи пользовательской
информации. Если вызывающее оборудование не желает принимать речевую информацию до прихода сообщения Connect, оно присваивает значение TRUE элементу mediaWaitForConnect, передаваемому в сообщении Setup.
Вызывающее оборудование, инициировавшее процедуру Fast Connect, может начать передачу речевой информации сразу после приема любого из разрешенных сообщений Q.931, содержащего элемент fastStart.
При разрушении соединения одним из участников передается сообщение Release Complete, после чего закрывается сигнальный канал и соединение считается завершенным.
Следует отметить, что при использовании процедуры Fast Connect или при Туннелировании управляющих сообщений как одна, так и другая сторона может открыть управляющий канал Н.245, для чего оборудование этой стороны должно включить в любое сообщение Q.931 элемент h245Address. При этом процедура Fast Connect или Туннелирование прерывается.
6.5.5 Установление соединения с участием шлюза
В главе 2 обсуждались основные сценарии установления соединения в IP-телефонии. Напомним приведенные там варианты, предполагающие участие шлюза - элемента сети Н.323, который был рассмотрен в предыдущей главе. Первый вариант - это случай, когда абонент ТфОП вызывает пользователя IP-сети, второй - когда пользователь IP-сети вызывает абонента ТфОП, а в третьем варианте абонент ТфОП вызывает абонента ТфОП, но соединение проходит через IP-сеть.


В первом варианте с точки зрения протоколов Н. 323 соединение устанавливается так же, как соединение участников, включенных в сеть с маршрутизацией пакетов IP. Рассмотрим ситуацию с точки зрения ТфОП. Существует два способа набора номера вызываемого абонента: одноступенчатый и двухступенчатый.
При одноступенчатом способе вызывающий абонент сразу набирает номер вызываемого абонента, и шлюз устанавливает с ним соединение. Пока устанавливается соединение в IP-сети, шлюз может передать вызывающему абоненту ТфОП сообщение Call Proceeding, чтобы перезапустить таймеры. Данный способ может использоваться в корпоративной сети для организации связи между абонентами учрежденческих телефонных станций.
В сетях связи общего пользования применяется двухступенчатый способ, при котором вызывающий абонент сначала набирает телефонный номер шлюза и устанавливает с ним соединение. Затем абонент вводит свой персональный код для идентификации и номер вызываемого абонента; эта информация передается по проключенному разговорному тракту сигналами DTMF. Следует отметить, что необходимость в наборе персонального кода возникает не всегда, так как номер вызывающего абонента может содержаться в сигнальных сообщениях систем сигнализации DSS1 и ОКС7, а при использовании систем сигнализации 2ВСК или аналоговых систем сигнализации - определяться при помощи АОН.
Существует несколько способов идентификации абонентов. В первом случае alias-адрес абонента (PIN-код или телефонный номер) шлюз передает привратнику в сообщении ARQ. Во втором случае идентификационный номер вызывающего абонента, набранный с помощью DTMF, передается специальному серверу. Кроме того, в ТфОП вызов может обрабатываться системой обработки телефонных карт, которая отвечает за идентификацию пользователей и начисление платы. Существует еще один вариант когда функции идентификации абонентов и начисления оплаты возложены на опорную АТС, к которой подключен шлюз.
Во втором сценарии, когда пользователь IP-сети вызывает абонента ТфОП при помощи шлюза, с точки зрения протоколов Н.323 соединение устанавливается так же, как описанное соединение участников, включенных в сеть с маршрутизацией пакетов IP.Вызываемое оборудование организует сигнальный канал Н.225.0 со шлюзом (при участии или без участия привратника). Далее передается требование на установление соединения Setup, которое содержит телефонный номер вызываемого абонента в формате Е. 164. Пока устанавливается соединение в ТфОП, шлюз может передать вызывающему абоненту IP-сети сообщение Call Proceeding, чтобы перезапустить таймеры, если в течение 4 секунд после приема сообщения Setup он не передал сообщения Alerting, Connect или Release Complete. Чтобы указать, что вызов выходит за пределы IP-сети, в сообщения Alerting, Call Proceeding, Progress и Connect должен включаться информационный элемент Progress Indicator.
Сценарий вызова абонента ТфОП абонентом ТфОП является комбинацией двух предыдущих сценариев и с технической точки зрения не содержит никаких новых процедур. О социальном и экономическом аспектах обслуживания вызовов по этому сценарию уже говорилось в главе 2.

Содержание раздела