Вы здесь

Cisco H.323 Gatekeeper. Теория

Gatekeeper - это важная часть средних и крупных H.323 VoIP Networks.
Главная функция Gatekeeper - это возможность масштабирования диалплана, что позволяет содержать диалплан в одном месте, а не распылять усилия на локальные устройства.

Основными функциями Gatekeeper являются:

  • Address translation - звонки, идущие от сети H.323 могут использовать alias или псевдоним. Gatekeeper может осуществлять трансляцию Calling party number или Called Party number в соответствии с принятым диалпланом. Например, при использовании в филиалах предприятия Partitioned addressing (Overlapping addressing) для доступа в регионы используются Site Codes, а также необходима трансляция Calling и Called номеров. Ну и конечно при выходе наружу нам нужно транслировать внутренний DN на внешне доступный номер.
  • Call Admission Control - не позволяет перегрузить сеть слишком большим количеством звонков. Например по определенному каналу CAC может разрешить только 10 одновременных звонков. В этом отличие CAC от QoS: QoS обеспечивает приоритезацию голосового трафика, а CAC регулирует количество голосового трафика.
  • Bandwidth control - при регистрации на Gatekeeper, endpoint указывает свой предпочитаемый кодек, тем самым регулируя затраты Bandwidth на свои звонки.
  • Zone management - работа Gatekeeper (address translation, admission
    control, bandwidth control) выполняется на основе принципа разделения на зоны.

Дополнительными функциями Gatekeeper являются:

  • Call authorization - ограничения на звонки например по времени дня.
  • Call management - Gatekeeper может воспринимать active call information, например понимать что абонент занят и автоматически перенаправить звонок.
  • Bandwidth management - Gatekeeper может запрещать установление соединения в случае недоступности необходимой полосы пропускания.
  • Call control signaling - Gatekeeper может позволить сигнализации H.225 либо идти непосредственно между endpoints, так и "проксировать" сигнализацию через себя к другому Gatekeeper (Gatekeeper-Routed Call Signaling (GKRCS) model)

cisco_h.323_gatekeeper._teoriya_basic_gatekeeper_scheme_ciscomaster.ru.jpg
При каждом запуске Endpoint пытается зарегистрироваться на Gatekeeper. Если Endpoint хочет позвонить на другую Endpoint, она, набирая номер, фактически запрашивает admission на инициирование звонка. Если Gatekeeper даёт разрешение, он возвращает этой Endpoint destination IP address.
Этот адрес есть либо фактический адрес destination endpoint, либо адрес посредника например proxy или gatekeeper.

Сигнализация Gatekeeper

Gatekeeper использует сигнализацию RAS (Registration, Admission, and Status).
RAS - это подмножество протокола H.225 и использует в качестве транспорта UDP.

Для инициации соединения между самими H.323 endpoints используется протокол H.225.
cisco_h.323_gatekeeper._teoriya_gatekeeper_signaling_ciscomaster.ru.jpg
Как показано на рисунке, изначально Gateway запрашивает admission, используя сигнализацию H.225 RAS (UDP). Эта сигнализация используется для взаимодействия с Gatekeeper и основными функциями этого канала являются Registration, Admission, и Status (RAS). Gatekeeper даёт "добро" и возвращает инициирующему шлюза IP адрес второго шлюза.

Далее уже между шлюзами устанавливается сигнализация H.225 Call Setup (TCP). H.225 позволяют создать соединение между H.323 endpoints. Для создания соединения должны быть выполнены call setup procedures, которые базируются на ISDN ITU Q.931.

Далее негоциируется H.245. H.245 это control signaling protocol, который используется для сигнализации и управления собственно самими потоками Аудио или Видео. H.245 использует отдельный logical channel 0, который всегда в открытом состоянии.
H.245 используется для таких функций как:
- Logical channel signaling - открывает/закрывает потоки RTP, RTCP
- Capabilities exchange - Негоциация аудио, видео, кодеков.
- Master or responder determination
- Mode request
Таким образом H.245 устанавливает и сопровождает и закрывает сессию звонка.

После того, как звонок между шлюзами установлен номера портов RTP UDP устанавливаются динамически из диапазона 16384–32767.

RAS Messages

Gatekeeper взаимодействует через RAS channel используя различные типы RAS messages.
Общий список сообщений ниже.
Gatekeeper Discovery
Gatekeeper Request (GRQ)
Gatekeeper Confirmation (GCF)
Gatekeeper Reject (GRJ)

Terminal and Gateway Registration
Registration Request (RRQ)
Registration Confirmation (RCF)
Registration Reject (RRJ)

Terminal and Gateway Unregistration
Unregistration Request (URQ)
Unregistration Confirmation (UCF)
Unregistration Reject (URJ)

Resource Availability
Resource Availability Indicator (RAI)
Resource Availability Confirmation (RAC)

Bandwidth
Bandwidth Request (BRQ)
Bandwidth Confirmation (BCF)
Bandwidth Reject (BRJ)

Location
Location Request (LRQ)
Location Confirmation (LCF)
Location Reject (LRJ)

Call Admission
Admission Request (ARQ)
Admission Confirmation (ACF)
Admission Reject (ARJ)

Disengage
Disengage Request (DRQ)
Disengage Confirmation (DCF)
Disengage Rejection (DRJ)

Request in Progress
Request in Progress (RIP)

Status
Info Request (IRQ)
Info Request Response (IRR)
Info_Request_Acknowledge (IACK)
Info_Request_Neg_Acknowledge (INAK)
Information Confirm (ICF)

Gatekeeper discovery

Endpoints пытаются обнаружить Gatekeeper а также Zone, к которой они принадлежат.
Discovery призводится через протокол RAS message protocol, который поддерживает Discovery message.
Discovery message отсылается с использованием multicast или unicast.

Unicast Discovery
- Использует UDP port 1718
- В Endpoint прописывают адрес Gatekeeper, и собственно Endpoint сразу может регистрироваться на
Gatekeeper.
- Gatekeeper отвечает сообщениями GCF либо GRJ.

Multicast Discovery
- UDP Multicast address 224.0.1.41
- Здесь не требуется вручную прописывать адрес Gatekeeper, т.к. его получают по мультикасту.
- Gatekeeper отвечает сообщениями GCF либо GRJ.
- Связь устанавливается с первым Gatekeeper кто ответил на запрос
- Gatekeeper может быть настроен отвечать только запросам с определённых подсетей. Это даст предсказуемую регистрацию и делается через команду zone subnet

Registration Request

После того, как endpoint произвёл процедуру Gatekeeper discovery, проводится попытка регистрации на этом Gatekeeper.

RRQ message - это запрос от terminal или gateway на gatekeeper на регистрацию, register.
На этот запрос возможны два ответа: RCF message - Registration Confirmation, либо RRJ message - Registration Reject.

При регистрации Gateway или Terminal отдаёт Gatekeeper информацию о своем ID или E.164 address, например:
■ H323 ID: gatewayname@domain.com
■ E.164 address: 4085551212

Lightweight Registration

До H.323 v2 Cisco Gateways каждые 30 секунд регистрировались на Gatekeeper, затрачивая при этом массу ресурсов и трафика.
H.323 version 2 определил процедуру lightweight registration, которая значительно упрощает этот процесс. При этом полная регистрация требуется только вначале. Далее Gateway периодически отсылает Keepalive на Gatekeeper, подтверждая свою доступность

Admission Request

Перед тем как поднимается сессия звонка Gateway_A отсылает ARQ на Gatekeeper.
Gatekeeper проверят статус и возвращает ACF message или ARJ message.
Если получено ACF message (добро), непосредственно между шлюзами уже поднимается H.225 call setup.
cisco_h.323_gatekeeper._teoriya_gatekeeper_admission_request_ciscomaster.ru.jpg

Таким образом, Admission messages позволяют гейткиперу контролировать пропускную способность канала: например он разрешает или запрещает звонок, не давая каналу переполниться.

Admission Request Message Failures

Admission Request может быть разрешен или запрещён через сообщения ACF message или ARJ message, при этом причины могут быть различными, и соответственно различные типы ARJ message, например calledPartyNotRegistered, resourceUnavailable, incompleteAddress и т.д.

Information Request

К каждой зарегистрированной endpoint, gatekeeper периодически отсылает IRQ message. IRQ отсылается в случае если от endpoint ничего не приходило в течение определённого времени. Если Gatekeeper не получает ответное IRR, регистрация для данного endpoint обнуляется.

Location Request

Вообще, Location messages обычно используются между interzone gatekeepers для получения IP адреса endpoint, находящейся в другой зоне.
H.323 LRQ message отсылаются одним gatekeeper другому gatekeeper для запроса информации об terminating endpoint.
При этом в запросе содержится номер назначения E.164.
Второй Gatekeeper обнаруживает и высылает адрес соответствующей terminating endpoint за которым находится абонент с номером назначения.

Gatekeeper Signaling: LRQ Sequential

Для обеспечения redundancy и load-sharing, мы можем настроить несколько gatekeeper для обслуживания одной и той же зоны или technology prefix. В этом случае LRQ будет отдаваться нескольким гейткиперам последовательно (sequentially) согласно matching-list, либо параллельно (blast).

Рассмотрим пример LRQ Sequential:
cisco_h.323_gatekeeper._teoriya_gatekeeper_sequential_lrq_ciscomaster.ru_0.jpg
Sequential forwarding, в отличие от Blast LRQ Forwarding, позвляет настроить приоритеты в маршрутах.
На рисунке GatewayA производит Admission Request(ARQ) у Gatekeeper_A.
Gatekeeper_A в свою очередь производит Sequential forwarding начиная с Gatekeeper_B.
B, C и D в ответ могут возвратить LCF или LRJ. Если Gatekeeper_B отдаёт LCF, LRQ Forwarding process
терминируется, в случае отказа отправляется запрос на следующий по списку Gatekeeper_С. И так далее.

Gatekeeper signaling: LRQ Blast

Blast LRQ Forwarding производится одновременно на все гейткиперы в списке.
cisco_h.323_gatekeeper._teoriya_gatekeeper_blast_lrq_ciscomaster.ru.jpg
Обратите внимание, в кофигурации выбрана опция blast, означающая что к поиску данного префикса будет
применён Blast LRQ Forwarding. Если команду blast не указать, будет применён метод по умолчанию -
Sequential forwarding.
Если все ответят LCF, то приоритет между ними настраивается на уровне cost и priority.
Gatekeeper с наименьшей cost будет выбран раньше.
Gatekeeper с наибольшей priority будет выбран раньше.

Например в следующей конфигурации сначала будет выбран GKB, затем GKC, и последним будет GKC.

GKA(config-gk)#zone remote GKB cisco.com cost 50 priority 50 GKA(config-gk)#zone remote GKC cisco.com cost 51 priority 49 GKA(config-gk)#zone remote GKD Cisco.com cost 52 priority 48

H.225 RAS Intrazone Call Setup

cisco_h.323_gatekeeper._teoriya_gatekeeper_ras_intrazone_call_setup_ciscomaster.ru.jpg
Как видно, маршрутизаторы вначале используют Gatekeeper для Admission, но затем происходит обычная процедура звонка H.323.

H.225 RAS Interzone Call Setup

cisco_h.323_gatekeeper._teoriya_gatekeeper_ras_interzone_call_setup_ciscomaster.ru.jpg

Zones

Zone - это группа устройств H.323, контролируемая одним логическим Gatekeeper.
Только один активный Gatekeeper может контролировать отдельно взятую зону.
В отдельно взятой зоне могут быть клиенты из различных IP-подсетей. Например в разные зоны могут входить клиенты из одной и той же подсети.

Endpoints всегда проходят процедуру discover, в процессе которой они определяют свой Gatekeeper, а также свою зону.
Как уже упоминалось, Gatekeeper discovery может быть Unicast или Multicast.
Для успешной Gatekeeper discovery, а также Registration сама Endpoint должен быть прописан на Gatekeeper, в противном случае гейткипер ответит Gatekeeper Reject (GRJ).

Zone Prefixes

Zone Prefix - это код зоны, т.е. часть номера, идентифицирующий эту зону. Обычно Area Code совпадает с префиксом зоны(Zone Prefix).

В процессе обработки звонка Cisco IOS gatekeeper определяет куда необходимо маршрутизировать данный звонок: remote zone или local zone.
cisco_h.323_gatekeeper._teoriya_gatekeeper_zone_prefix_ciscomaster.ru_0.jpg
На данном примере Gatekeeper1 маршрутизирует звонки 408XXXXXXX на Gateway_B, а звонки в area code 801 обрабатываются локально.
Конфигурация Gatekeeper для данного примера будет выглядеть следующим образом:

GK-A(config)#gatekeeper GK-A(config-gk)#zone local Houston cisco.com 172.22.2.3 1719 GK-A(config-gk)#zone local SanJose cisco.com GK-A(config-gk)#zone prefix Houston 801....... GK-A(config-gk)#zone prefix SanJose 408.......

Понятно что H.323 endpoint с соответствующим E.164 address должен быть зарегистрирован на своём Gateway.

Technology Prefixes

Technology Prefixes - это необязательная настройка, поддерживаемая Cisco gateways и gatekeepers.
Technology Prefixes добавляет определённой гибкости в маршрутизацию звонков в сетях H.323 VoIP network.
Technology Prefixes используется для группирования шлюзов по типу(voice или video): на основании этой информации gatekeeper может маршрутизировать звонки на соответствующие этому типу шлюзы.

В конфигурации gatekeeper задаются допустимые Technology Prefixes. Gateway затем настраивается на регистрацию на этот Gatekeeper с его Technology Prefix.
Например шлюзы могут регистрироваться со следующими префиксами:

  • Voice gateways - tech-prefix 1#
  • H.320 gateways - tech-prefix 2#
  • voice-mail gateways - tech-prefix 3#

Более одного шлюза могут быть зарегистрированы с одинаковым префиксом. В этом случае Gatekeeper делает между ними случайный выбор.
Если Caller знает тип девайса куда он звонит, он может включить Technology Prefix в тело destination address.

Например если номер для голосового звонка 2125551111, то можно использовать destination address 1#2125551111.
Когда голосовой шлюз получает такой звонок, то при обработке он отрезает от номера префикс и затем осуществляет соединение уже непосредственно с абонентом на искомый номер 2125551111.
cisco_h.323_gatekeeper._teoriya_gatekeeper_technology_prefixes_ciscomaster.ru_0.jpg

Cisco IOS gatekeepers используют Technology Prefixes в случае, если called number не совпадает ни с одним зарегистрированным E.164 address. При этом E.164 address регаются на гейткипере by a gateway.
Такая ситуация может быть довольно частой, например CUCME и SRST могут зарегистрировать свои внутренние ephone-dns на Gatekeeper с номерами не в формате E.164. В этом случае у Gatekeeper есть два выбора:

  • Если в called number есть префикс, использовать его для выбора шлюза назначения.
  • Для маршрутизации unresolved call addresses использовать default technology prefix

Gatekeeper использует default technology prefix для маршрутизации всех звонков у которых не указан technology prefix, либо для Gateways не указавших свой technology prefix.
Zone prefix определяет в какую зону осуществлять маршрутизацию, также как и technology prefix определяет Gateway уже внутри зоны.

Если большинство звонков в нашей среде идут на определённый тип шлюзов, мы можем настроить наш Gatekeeper использовать этот тип как default type. Это избавит абонентов в каждом звонке указывать technology prefix.
Например если в нашей сети преимущественно используются голосовые шлюзы с настроенным technology prefix 1#, мы можем настроить наш Gatekeeper с таким же дефолтным префиксом:

Router(config-gk)#gw-type-prefix 1#* default-technology

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image