MGCP

MGCP или Media Gateway Control Protocol дословно — Протокол контроля медиа шлюзов является протоколом связи в распределённых VoIP системах передачи голоса по протоколу IP.

Архитектура

Распределённые системы состоят из Агента — Call Agent (или контроллера медиа шлюза), по крайней мере одного медиа шлюза (MG) и по крайней мере одного сигнального шлюза (SG), подключенных к Телефонной сети общего пользования (ТФОП).

Агент использует протокол MGCP чтобы сообщать медиа шлюзу:

  • какие события направлять Агенту
  • каким образом конечные устройства должны соединяться друг с другом
  • какие сигналы (тоны вызова) должны воспроизводится на конечных устройствах

MGCP позволяет также следить Агенту за состоянием конечных устройств на медиа шлюзе (MG).

Медиа шлюз использует MGCP для сигнализации событий (таких как трубка положена/снята или набираемые цифры). На практике обычно сигнальный шлюз (SG) и медиа шлюз (MG) подключены в один физический коммутатор, но в принципе это совсем не обязательно. Агент не использует MGCP для контроля сигнального шлюза (SG), для этих целей — обратной связи между сигнальным шлюзом (SG) и Агентом используется протокол SIGTRAN. В MGCP каждая команда несёт в себе идентификатор транзакции и получает ответ на каждую.

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

Обзор протокола

Пакеты MGCP отличаются от многих других протоколов. Он резервирует обычно порт UDP 2427, датаграммы MGCP могут содержать и пустые значения, совсем не так как обычно строятся пакеты в протоколах TCP. Пакет MGCP является командой (запросом) или ответом. Команды (запросы) начинаются с четырехбуквенного кода, ответы начинаются с трехзначного цифрового кода.

Список запросов содержит всего восемь команд: AUEP, AUCX, CRCX, DLCX, MDCX, NTFY, RQNT, RSIP.

Две команды используются Агентом, чтобы сделать запрос на медиа шлюза: AUEP — аудит конечного устройства и AUCX — аудит соединения.

Три команды используются Агентом, чтобы управлять RTP соединением на медиа шлюзе (шлюз может также послать команду DLCX, когда нужно удалить соединение для самоуправления): CRCX — создать соединение, DLCX — удалить соединение, MDCX — изменить соединение.

Команда RQNT используется медиа шлюзом для запроса об уведомлениях используется Агентом, чтобы запросить уведомление о событиях на медиа шлюзе.

Команда NTFY используется медиа шлюзом, чтобы сообщить Агенту, что обнаружено событие, о котором Агент предварительно запросил уведомление (командой RQNT).

Команда RSIP — рестарт в процессе, используется медиа шлюзом, чтобы указать Агенту, идёт процесс перезапуска.

  • orphans/mgcp.txt
  • Последние изменения: 2016/12/18