Структура ответов на команды

Протокол MGCP предусматривает подтверждение получения всех команд. Структура ответов на команды в протоколе MGCP идентична вышеописанной структуре самих команд. Ответ на команду также представляет собой набор текстовых строк и обязательно содержит заголовок ответа, за которым (после пустой строки) может следовать описание сеанса связи.

В этом параграфе речь пойдет, главным образом, о заголовке ответа. Заголовок состоит из ответной строки, например,2001203 OK,и списка параметров. Ответная строка, в свою очередь, состоит из нескольких информационных полей: кода ответа, идентификатора транзакции и необязательного комментария.

В таблице 8.5 приведены возможные варианты кода ответа на команды протокола MGCP.

 

Таблица 8.5 Коды ответов на команды протокола MGCP

 

Код Значение кода
Полученная команда в данный момент обрабатывается, сообщение о выполнении команды будет передано позже
Полученная команда выполнена
Соединение разрушено
Транзакция не может быть выполнена из-за временной ошибки
Трубка телефона уже снята
Трубка телефона уже повешена
Команда не может быть выполнена из-за отсутствия в данный момент необходимых ресурсов
В настоящий момент отсутствует необходимая полоса пропускания
Команда не может быть выполнена, потому что порт неизвестен
Команда не может быть выполнена, потому что порт не готов к ее выполнению
Команда не может быть выполнена, потому что порт не имеет необходимой полосы пропускания
Команда не может быть выполнена из-за ошибки в протоколе
Команда не может быть выполнена, так как в ней содержится нераспознанное расширение
Команда не может быть выполнена, потому что шлюз не имеет средств детектирования одного из запрашиваемых сигналов
Команда не может быть выполнена, потому что шлюз не имеет средств генерирования одного из запрашиваемых сигналов
Команда не может быть выполнена, потому что шлюз не может передать необходимое речевое уведомление или подсказку
Команда имеет некорректный идентификатор соединения, например, идентификатор уже завершенного соединения
Команда имеет некорректный идентификатор сеанса связи
Неподдерживаемый или некорректный режим
Неподдерживаемая или неизвестная совокупность сигналов или событий
Порт не имеет сведений о плане нумерации
Команда не может быть выполнена, потому что идет рестарт порта
Порт передан другому Call Agent
Нет такого события или сигнала
Неизвестное действие или неразрешённая комбинация действий
Внутреннее несоответствие в параметре LocalConnectionOptions
Неизвестное расширение параметра LocalConnectionOptions
Недостаточная полоса пропускания
Отсутствует параметр LocalConnectionOptions
Несовместимая версия протокола
Отказ в аппаратном обеспечении
Ошибка в сигнальном протоколе CAS
Отказ группы каналов или трактов

Из представленного в таблице 8.5 перечня кодов ответов видно, что их основная роль заключается в защите от ошибок протокола, конфигурации или функциональных возможностей. На основании информации, предоставляемой этими кодами ошибок, невозможно реализовать осмысленный механизм диагностики. Для получения диагностической информации от шлюзов и портов шлюза нужны другие методы. Одним из возможных методов является упоминавшийся в главе 4 протокол SNMP (простой протокол эксплуатационного управления сетью), который, безусловно, найдёт применение в транспортных шлюзах IP-телефонии.

В заключение рассмотрения структуры ответов на команды протокола MGCP приведем возможные комбинации параметров в ответах (таблица 8.6).

 

 

Таблица 8.6 Возможные комбинации параметров в ответах протокола MGCP

 

Имя параметра EP CF CR CX MD CX DL CX RQ NT NT FY AU EP AU CX RS IP
ResponseAck F F F F F F F F F
Bearerlnformation F F F F F F F F
Callld F F F F F F F F
Connectionid F F F F F F F F
Requestldentifier F F F F F F F F
LocalConnection F F F F F F F
Options                  
Connection Mode   F F F F F F F F
RequestedEvents F F F F F F F F
SignalRequests F F F F F F F F
Notified Entity F F F F F F F F
ReasonCode F F F F F F F F
Observed Events F F F F F F F F
DigitMap F F F F F F F F
Connection F F F F F F F
Parameters                  
Specific Endpoint ID F F F F F F F F
Requested Info F F F F F F F F F
QuarantineHandling F F F F F F F F
DetectEvents F F F F F F F F
EventStates F F F F F F F F
RestartMethod F F F F F F F F
RestartDelay F F F F F F F F
Capabilities F F F F F F F F
SecondConnectionId F F F F F F F F
SecondEndpointID F F F F F F F F
LocalConnection F м F F F F F
Descriptor                  
RemoteConnection F F F F F F F F
Descriptor