- •Е.В. Букрина Протоколы мультисервисных сетей
- •Содержание
- •1 Softswitch в составе сети связи следующего поколения
- •1.1 Концепция Softswitch
- •1.2 Функциональные плоскости эталонной архитектуры Softswitch
- •1.3 Основные протоколы сети ngn
- •Вопросы для самоконтроля
- •2 Инициирование сеансов связи
- •2.1 Основы протокола sip
- •2.2 Архитектура сети sip
- •2.3 Сценарии сеансов связи
- •Вопросы для самоконтроля
- •3 Управление шлюзами
- •3.1 Декомпозиция шлюза
- •3.2 Команды протокола mgcp
- •3.3 Пример сценария соединения ip-телефонии с использованием протоколов mgcp и окс№7
- •Вопросы для самоконтроля
- •4 Группа sigtran
- •4.1 Архитектура sigtran
- •4.2 Протокол передачи с управлением потоками
- •4.3 Уровни адаптации
- •Вопросы для самоконтроля
- •5 Подсистема мультимедиа на базе ip-протокола (ims)
- •5.1Архитектура ims
- •5.2 Протоколы и интерфейсы подсистемы ims
- •5.3 Взаимодействие сетевых элементов на уровне ядра подсистемы
- •5.4 Сравнительная характеристика Softswitch и подсистемы ims
- •Вопросы для самоконтроля
- •Список сокращений
- •Список литературы
3.2 Команды протокола mgcp
3.2.1 MGCP использует девять команд (таблица 3.1) и поддерживает концепцию инкапсуляции, при которой одна команда может быть включена в состав другой.
Таблица 3.1 – Команды протокола MGCP
Команда |
Код |
Направление передачи |
Назначение |
Endpoint Configuration (конфигурация оконечного пункта) |
EPCF |
MGC (Softswitch) → MG |
MGC (Softswitch) инструктирует шлюз о способе обработки речевых сигналов |
Create Connection (создать подключение) |
CRCX |
MGC (Softswitch) → MG |
MGC (Softswitch) дает указание шлюзу создать подключение |
Modify Connection (модифицировать подключение) |
MDCX |
MGC (Softswitch) → MG |
MGC (Softswitch) дает указание шлюзу изменить параметры существующего подключения |
Delete Connection (разрушить подключение) |
DLCX |
MGC (Softswitch) → MG MG → MGC (Softswitch) |
MGC (Softswitch) и MG ликвидируют подключение |
Notification Request (запрос уведомления) |
RQNT |
MGC (Softswitch) → MG |
MGC (Softswitch) инструктирует шлюз, какие события нужно обнаруживать и уведомлять о них |
Notify (уведомление) |
NTPY |
MG → MGC (Softswitch) |
Шлюз информирует MGC (Softswitch) о наступлении события, специфицированного в команде Notification Request |
Audit Endpoint (проверить порт) |
AUEP |
MGC (Softswitch) → MG |
MGC (Softswitch) запрашивает информацию о каком-либо порте шлюза |
Audit Connection (проверить подключение) |
AUCX |
MGC (Softswitch) → MG |
MGC (Softswitch) запрашивает параметры подключения |
Restarting Progress (идет рестарт0 |
RSIP |
MG → MGC (Softswitch) |
Шлюз информирует MGC (Softswitch) о выводе из рабочего состояния одного или нескольких портов или возвращение портов в рабочее состояние |
3.2.2 Команда протокола MGCP обязательно содержит заголовок, за которым может следовать описание сеанса связи. Заголовок команды и описание сеанса связи представляют собой набор текстовых строк. Описание сеанса связи отделено от заголовка команды пустой строкой.
Заголовок содержит командную строку и список параметров.
Пример командной строки:
CRCX 1204 ts/1@skri.nits.ru MGCP 0.1
CRCX –название команды (создать подключение);
1204 – идентификатор транзакции. В протоколе MGCP команда и ответ на нее образуют транзакцию, имеющую уникальный идентификатор, значение которого выбираются из диапазона чисел 1 … 999999999. Значение идентификатора текущей транзакции всегда на единицу больше значения идентификатора предыдущей транзакции;
ts/1@skri.nits/ru – идентификатор порта, определяет тот порт, которому надлежит выполнить команду (за исключением команд Notify и Restarting Progress, в которых идентификатор определяет порт, передавший команду). Идентификаторы портов кодируются также как адреса электронной почты (в соответствии с RFC 821). В приведенном примере идентифицируется первый порт (первый временной интервал) шлюза skri, расположенного в домене nits;
MGCP 0.1 – версия протокола MGCP.
Заголовок команды, кроме командной строки, содержит список параметров.
Состав параметра: КОД:_ЗНАЧЕНИЕ ПАРАМЕТРА
Каждый параметр идентифицируется кодом, который состоит из одной или двух заглавных букв. За кодом параметра следует одно двоеточие, один символ пробела и значение параметра. Значение параметра может быть единой численной величиной, единой шестнадцатеричной строкой, списком разделенных запятой значений или списком субполей. В командах и ответах допускается использовать один и тот же набор параметров (таблица 3.2).
Таблица 3.2 – Параметры команд протокола MGCP
Название параметра |
Код |
Описание и значение параметра |
Response Ack (Подтверждение транзакции) |
K |
Подтверждает завершение одной или нескольких транзакций. Например: К: 6234-6255, 6257, 19030-19044 Подтверждается завершение транзакций, имеющих идентификаторы с 6234 по 6255, 6257 и с 19030 по 19044 |
Bearerinformation (Сведения о доставке информации) |
B |
Служит для передачи сведений о законе кодирования речевой информации – А или µ |
Продолжение таблицы 3.2
Название параметра |
Код |
Описание и значение параметра |
Reason Code (Код причины) |
|
Определены коды причин: 000 – нормальное состояние порта, передается только в ответе на запрос о состоянии порта; 900 – неисправность порта; 901 – порт выведен из обслуживания; 902 – отказ на физическом уровне (например, потеря синхронизации) |
CaIIID (Идентификатор сеанса связи) |
C |
Идентифицирует сеанс связи, в котором может использоваться одно или несколько соединений. Кодируется шестнадцатеричной последовательностью символов длиной не более 32 символов |
Connection ID (Идентификатор подключения) |
I |
Идентифицирует подключение данного порта к одному соединению, т.к. один порт может быть одновременно подключен к нескольким соединениям |
Notified Entity (Уведомляемый объект) |
N |
Идентификатор объекта, к которому следует передавать уведомления об обнаруженных событиях. Если параметр отсутствует, порт сообщает об этом объекту, от которого была получена команда. Идентификатор объекта кодируется так же, как кодируются адреса электронной почты согласно RFC 821. Например: MGC@alex.niits.ru:5625 или Alex@[128.23.0.4] При использовании IP-адреса, он должен быть заключен в квадратные скобки |
Requestidentifier (Идентификатор запроса) |
X |
Согласует требование уведомить о событии, полученном от MGC (Softswitch), с уведомлением, передаваемым шлюзом в команде Notify |
Local Connection Options (Параметры подключения порта к соединению) |
L |
Данные об алгоритме кодирования информации, о периоде пакетизации в миллисекундах, об используемой полосе пропускания в кбит/с, о типе обслуживания, использовании эхокомпенсации и другие сведения.. Передается от MGC (Softswitch) к шлюзу в команде CRCX |
Connection Mode (Режим соединения) |
M |
Определены режимы соединения: передача, прием, прием/передача, конференция, передача данных, отсутствие активности, петля, тест. Значение параметру присваивает MGC (Softswitch) |
Продолжение таблицы 3.2
Название параметра |
Код |
Описание и значение параметра |
Requested Events (Запрашиваемые события) |
R |
Список событий, о которых нужно оповестить MGC (Softswitch), и действия шлюза при обнаружении события. Определены действия: - оповестить MGC (Softswitch) о событии немедленно, ожидать дальнейших событий; - если событием является прием сигналов кода DTMF, то накапливать цифры в соответствии с требованием параметра Digit Map; - в определенных ситуациях передавать в канал акустические или вызывные сигналы; - обработать инкапсулированную команду Endpoint Configuration; -. игнорировать событие |
Signal Requests (Требование передать сигнал) |
S |
Специфицирует сигнал, который должен быть передан абоненту, например, акустический сигнал «Ответ станции» |
Digit Map (План нумерации) |
D |
Специфицирует правила обработки сигналов кода DTMF. При накоплении количества цифр, указанного в параметре, шлюз должен передать их MGC (Softswitch) |
Observed Events (Обнаруженные события) |
O |
Список обнаруженных событий |
Connection Parameters (Параметры соединения) |
P |
Статистические данные о соединении, передаваемые шлюзом после его разрушения |
Specified End Point ID (Идентификатор порта) |
Z |
Идентификатор порта в формате RFC 821. Например: EndPoint@alex.niits.ru:1234 |
Requested Info (Запрашиваемая информация) |
F |
Описывает информацию, которую MGC (Softswitch) запрашивает у шлюза. Например, цифры номера вызываемого абонента |
Quarantine Handing (Карантинная обработка) |
Q |
Определяет правила обработки событий, которые были обнаружены до получения этой команды в период карантина, и о которых MGC (Softswitch) еще не оповещен |
Defect Events (Выявляемые события) |
T |
Перечень событий, которые оконечный пункт должен обнаруживать, а при их обнаружении – извещать MGC (Softswitch) |
Events States (Состояния, обусловленные событиями) |
ES |
Перечень состояний оконечного пункта, обусловленных изменением состояний абонентского оборудования (например, абонент ответил на поступивший вызов или дал отбой). Информация об этих состояниях должна передаваться к MGC (Softswitch) в ответ на команду Audit Endpoint |
Продолжение таблицы 3.2
Название параметра |
Код |
Описание и значение параметра |
Restart Method (Метод рестарта) |
RM |
Способ индикации шлюзом вывода оконечного пункта из обслуживания или ввода его в обслуживание. Поддерживаются несколько вариантов рестарта |
Restart Delay (Задержка перезапуска) |
RD |
Определяет время в секундах. Если этот параметр отсутствует, задержка рестарта равна нулю. |
Capabilities (Функциональные возможности порта) |
A |
MGC (Softswitch) запрашивает сведения о функциональных возможностях оконечного пункта. К функциональным возможностям оконечного относятся: поддерживаемые алгоритмы кодирования, период пакетизации, полоса пропускания, подавление пауз речи, эхокомпенсация, режимы соединения, тип обслуживания, совокупность событий и др. |
3.2.3 На каждую команду MGCP передается ответ. Структура ответов идентична структуре команд. В строку ответа входит код возврата, идентификатор транзакции и фраза комментария или причины. Элементы отделяются друг от друга символом единичный пробел (SP). Строка ответа заканчивается символом возврат каретки/перевод строки (CRLF).
Коды возврата являются целыми числами и разделяются на категории:
0ХХ (000 … 099) – ответ с подтверждением;
1ХХ (100 … 199) –предварительные ответы, окончательный ответ последует позже;
2ХХ (200 … 299) – команда успешно выполнена;
4ХХ (400 … 499) – отказ из-за случайной ошибки;
5ХХ (500 … 599) – отказ из-за постоянной ошибки;
8ХХ (800 … 899) – ответы с пакетной спецификой.
В таблице 3.3 приведены возможные варианты кода ответа на команды протокола MGCP.
Таблица 3.3 – Варианты кода ответа на команды протокола MGCP
Код |
Значение кода |
100 |
Полученная команда выполняется, сообщение о выполнении команды будет передано позже |
200 |
Полученная команда выполнена |
250 |
Соединение разрушено |
400 |
Транзакция не может быть выполнена из-за временной ошибки |
401 |
Абонент уже ответил (трубка телефона уже снята) |
402 |
Абонент уже дал отбой (трубка телефона уже положена) |
403 |
Команда не может быть выполнена из-за отсутствия необходимых ресурсов |
404 |
В настоящий момент отсутствует необходимая полоса пропускания |
500 |
Команда не может быть выполнена, т.к. порт неизвестен |
Продолжение таблицы 3.3
Код |
Значение кода |
501 |
Команда не может быть выполнена, т.к. порт не готов к ее выполнению |
502 |
Команда не может быть выполнена, т.к. порт не имеет необходимой полосы пропускания |
510 |
Команда не может быть выполнена из-за ошибки в протоколе |
511 |
Команда не может быть выполнена, т.к. в ней содержится нераспознанное расширение |
512 |
Команда не может быть выполнена, т.к. шлюз не имеет средств детектирования одного из указанных в ней сигналов |
513 |
Команда не может быть выполнена, т.к. шлюз не имеет средств генерирования одного из запрашиваемых сигналов |
514 |
Команда не может быть выполнена, т.к. шлюз не может передать необходимое речевое уведомление или подсказку |
515 |
Команда имеет некорректный идентификатор соединения (например, идентификатор уже завершенного соединения) |
516 |
Команда имеет некорректный идентификатор сеанса связи |
517 |
Неподдерживаемый или некорректный идентификатор сеанса связи |
518 |
Неподдерживаемый или некорректный режим |
519 |
Порт не имеет сведений о плане нумерации |
520 |
Команда не может быть выполнена, потому что идет рестарт порта |
521 |
Порт передан другому Call Agent |
522 |
Нет такого события или сигнала |
523 |
Неизвестное действие или неразрешенная комбинация действий |
524 |
Внутреннее несоответствие в параметре Local Connection Options |
525 |
Неизвестное расширение параметра Local Connection Options |
526 |
Недостаточная полоса пропускания |
527 |
Отсутствует параметр Local Connection Options |
528 |
Несовместимая версия протокола |
529 |
Отказ в аппаратном обеспечении |
530 |
Ошибка в сигнальном протоколе CAS |
531 |
Отказ группы каналов или трактов |
532 |
Неподдерживаемые значения в параметре Local Connection Options |
533 |
Ответ слишком большой |
534 |
Неисправность согласования кодека |
535 |
Период пакетизации не поддерживается |
536 |
Неизвестный или неподдерживаемый параметр Restart Method |
537 |
Неизвестное или неподдерживаемое расширение плана нумерации |
538 |
Ошибка параметра события / сигнала (отсутствует, ошибочный, неизвестный., неподдерживаемый и др.) |
539 |
Неверный или неподдерживаемый параметр команды |
540 |
Повышен предел числа соединений в расчете на оконечный пункт |
541 |
Неверный или неподдерживаемый параметр Local Connection Options |
Ответ связан с командой, на которую он отвечает. Ответ должен использовать тот же самый идентификатор транзакции, что и вызвавшая ответ команда.