Модель соединения (Connection model)
Основой модели являются компоненты двух видов: оконечные пункты (Endpoints) и подключения (Connections).
n оконечные пункты (Endpoints) - порты, окончания оборудования, являющиеся источниками и/или приемниками информации. В их состав входят такие элементы, как интерфейсы соединительных линий или интерфейсы линий услуг традиционной телефонии (POTS). Оконечные пункты находятся в транспортных шлюзах, в зависимости от типа оконечного пункта, могут каждый иметь или не иметь один или несколько внешних каналов или линейных интерфейсов.
n Подключение (Connections) - это связь, устанавливаемая между оконечным пунктом и сеансом RTP/IP. Если между собой связываются два оконечных пункта, используются два подключения.
n Связь между портами разных шлюзов через IP-сеть или связь между портами внутри одного шлюза называется соединением.
Соединение на базе MGCP
n EP1, EP2 –(Endpoints) оконечные пункты;
n С1,С2 – (Connections) подключения.
Структура команды:
N Заголовок;
N Описание сеанса
Заголовок:
n Командная строка
(код команды)(идентификатор транзакции)(идентификатор порта)(идентификатор протокола)
код команды - пример: СRCX (создать подключение);
идентификатор транзакции- число от 1 до 999999999 идентифицирующее связанную пару: команду + ответ (пример 1204)
идентификатор порта – определяет порт, которому надлежит выполнить команду. Идентификаторы портов кодируются в соответствии с RFC 821 как адреса электронной почты. Пример ts/1@skri.kgtu.ru (таймслот №1) ;
идентификатор протокола – MGCP 0.1
Пример командной строки:
СRCX 1204 ts/1@skri.kgtu.ru MGCP 0.1
N список параметров
Каждый параметр идентифицируется:
(код параметра): (значение параметра)
Ответы на команды
На каждую команду MGCP передается ответ. Структура ответов на команды в протоколе MGCP идентична структуре команд.
Строку ответа составляет:
(код возврата)_(идентификатор транзакции)_ (опционально, - фраза комментария или причины)(CRLF).
Каждый из этих элементов отделен символом единичный пробел (SP), при этом строка ответа заканчивается символом возврат каретки/ перевод строки (CRLF).
Коды возврата являются целыми числами и разделяются на следующие категории:
n ОХХ (от 000 до 099) - ответ с подтверждением,
n 1ХХ (от 100 до 199) - предварительные ответы; окончательный ответ последует позже,
n 2ХХ (от200 до 299) - команда успешно выполнена,
n 4ХХ (от 400 до 499) - отказ из-за случайной ошибки,
n 5ХХ (от500 до 599) - отказ из-за постоянной ошибки,
n 8ХХ (от 800 до 899) - ответы с пакетной спецификой.
Описание сеансов связи
Синтаксис описания сеанса связи в протоколе MGCP соответствует синтаксису протокола SDP (Session Description Protocol),предусмотрено несколько информационных полей:
n версия протоколакодируется v=0;
n IP-адрес шлюзасодержит IP-адрес, который будет использоваться для обмена пакетами RTP.
Если это поле включено в команды протокола MGCP, то оно означает адрес удаленного шлюза, а если поле включено в ответы, то - адрес шлюза, передающего ответ;
n поле описания речевого каналакодируется буквой «m» и содержит идентификацию вида передаваемой или принимаемой информации (например - речи), номер порта, используемого для приема RTP пакетов удаленным шлюзом (если поле описания речевого канала включено в команды MGCP) или локальным шлюзом (если это поле включено в ответы), индикацию использования протокола RTP для передачи речи и указание алгоритма кодирования речевой информации;
n режим соединенияможет быть одним из следующих:
sendonly - шлюзу надлежит только передавать информацию,
ecvonly - шлюзу надлежит только принимать информацию,
sendrecv - шлюзу надлежит передавать и принимать информацию,
inactive - шлюз не должен ни передавать, ни принимать информацию,
loopback - шлюз должен передавать принимаемую информацию в обратном направлении,
conttest - шлюзу надлежит перевести порт в режим тестирования.
n необязательные информационные поля.