Структура команд

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

8.5 Структура команд
Команда протоколу MGCP обов'язково містить заголовок, за яким може слідувати опис сеансу зв'язку (session description). Тема команди і опис сеансу зв'язку є набір текстових рядків. Опис сеансу відокремлено від заголовка команди порожній рядком. Заголовок містить список параметрів і командний рядок виду CRCX 1204 ts / [email protected] MGCP 0.1. Командний рядок, у свою чергу, складається з декількох інформаційних полів:
1. Назва команди представлено у вигляді коду з чотирьох літер (табл.8.2)
Таблиця 8.2 Кодування команд протоколу MGCP

2. Идентификатор транзакции. Протокол MGCP предусматривает корреляцию команд и ответов. Команда и ответ на нее образуют транзакцию, имеющую уникальный идентификатор (Transaction-Identifier). Идентификатор транзакции включается в заголовок и команды, и ответа. Значения идентификаторов выбираются из диапазона чисел 1 -999999999, причем значение идентификатора текущей транзакции на единицу больше идентификатора предыдущей транзакции.
3. Идентификатор порта определяет тот порт шлюза, которому надлежит выполнить команду, за исключением команд Notify и ReStartlnProgress, в которых идентификатор определяет порт, передавший команду. Идентификаторы портов кодируются также, как кодируются адреса электронной почты в соответствии с документом RFC 821 комитета IETF. Например, возможен идентификатор ts/[email protected], который идентифицирует первый порт (временной канал) шлюза «protei», расположенного в домене loniis.
4. Версия протокола кодируется следующим образом: MGCP 1.0.
Выше указывалось, что заголовок команды, кроме командной строки, содержит список параметров. Параметры команд протокола MGCP сведены в таблицу 8.3.
Таблица 8.3 Параметры команд протокола MGCP

Не всі параметри, наведені в таблиці 8.3, повинні обов'язково бути присутніми при всіх командах протоколу MGCR У таблиці 8.4 представлені можливі комбінації параметрів у командах протоколу MGCR Буква «М» означає обов'язкову присутність параметра в команді, літера «О» - не обов'язкова присутність, літера « F »забороняє присутність параметра.
Таблиця 8.4 Комбінації параметрів у командах протоколу MGCP

** - Параметр Requestldentifier не обов'язковий для команд Create-Connection, ModifyConnection і DeleteConnection, але якщо ці команди містять інкапсульовані команду NotificationRequest, присутність в них параметра Requestldentifier стає обов'язковим;
* - Параметри Requested Events і SignalRequests не обов'язкові для команди NotificationRequest.


--Козінцев Олексій 36 гр. 17:14, 29 листопада 2010 (EET)