Відмінності між версіями «Структура команд»
(Створена сторінка: <div style="background: #33ccff"> '''Технологія VoIP''' >> '''[[Розділ_8._Протокол_управління_шлюзами_MGCP|Розд...) |
|||
Рядок 9: | Рядок 9: | ||
</center> | </center> | ||
</div> | </div> | ||
− | + | '''8.5 Структура команд'''<br> | |
+ | Команда протоколу MGCP обов'язково містить заголовок, за яким може слідувати опис сеансу зв'язку (session description). Тема команди і опис сеансу зв'язку є набір текстових рядків. Опис сеансу відокремлено від заголовка команди порожній рядком. | ||
+ | Заголовок містить список параметрів і командний рядок виду '''CRCX 1204 ts / [email protected] MGCP 0.1.''' Командний рядок, у свою чергу, складається з декількох інформаційних полів:<br> | ||
+ | '''1.''' Назва команди представлено у вигляді коду з чотирьох літер (табл.8.2)<br> | ||
+ | '''Таблиця 8.2''' Кодування команд протоколу MGCP<br> | ||
+ | '''2.''' ''Идентификатор транзакции''. Протокол MGCP предусматривает корреляцию команд и ответов. Команда и ответ на нее образуют транзакцию, имеющую уникальный идентификатор (Transaction-Identifier). Идентификатор транзакции включается в заголовок и команды, и ответа. Значения идентификаторов выбираются из диапазона чисел 1 -999999999, причем значение идентификатора текущей транзакции на единицу больше идентификатора предыдущей транзакции.<br> | ||
+ | '''3.''' ''Идентификатор порта'' определяет тот порт шлюза, которому надлежит выполнить команду, за исключением команд Notify и '''ReStartlnProgress''', в которых идентификатор определяет порт, передавший команду. Идентификаторы портов кодируются также, как кодируются адреса электронной почты в соответствии с документом RFC 821 комитета IETF. Например, возможен идентификатор '''ts/[email protected]''', который идентифицирует первый порт (временной канал) шлюза «protei», расположенного в домене loniis. | ||
+ | '''4.''' ''Версия протокола'' кодируется следующим образом: MGCP 1.0.<br> | ||
+ | Выше указывалось, что заголовок команды, кроме командной строки, содержит список параметров. Параметры команд протокола MGCP сведены в таблицу 8.3.<br> | ||
+ | Таблица 8.3 Параметры команд протокола MGCP<br><br> | ||
+ | Не всі параметри, наведені в таблиці 8.3, повинні обов'язково бути присутніми при всіх командах протоколу MGCR У таблиці 8.4 представлені можливі комбінації параметрів у командах протоколу MGCR Буква «М» означає обов'язкову присутність параметра в команді, літера «О» - не обов'язкова присутність, літера « F »забороняє присутність параметра.<br> | ||
+ | Таблиця 8.4 Комбінації параметрів у командах протоколу MGCP<br><br> | ||
+ | ** - Параметр Requestldentifier не обов'язковий для команд Create-Connection, ModifyConnection і DeleteConnection, але якщо ці команди містять інкапсульовані команду NotificationRequest, присутність в них параметра Requestldentifier стає обов'язковим;<br> | ||
+ | * - Параметри Requested Events і SignalRequests не обов'язкові для команди NotificationRequest.<br> | ||
<div style="background: #33ccff"> | <div style="background: #33ccff"> | ||
<center> | <center> |
Версія за 11:51, 30 листопада 2010
Технологія VoIP >> Розділ 8. Протокол управління шлюзами MGCP
[ << 8.4 Команди протоколу MGCP ] [ 8.6 Структура відповідей на команди >> ]
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 стає обов'язковим;
- - Параметр Requestldentifier не обов'язковий для команд Create-Connection, ModifyConnection і DeleteConnection, але якщо ці команди містять інкапсульовані команду NotificationRequest, присутність в них параметра Requestldentifier стає обов'язковим;
- - Параметри Requested Events і SignalRequests не обов'язкові для команди NotificationRequest.
--Козінцев Олексій 36 гр. 17:14, 29 листопада 2010 (EET)