Структура команд і відповідей

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

9.4 Структура команд і відповідей
Далі йде опис команд, які використовуються для маніпулювання двома основними об'єктами протоколу MEGACO/H.248:
портами і контекстами. У більшості випадків команди передає контролер, але суті ють два винятки: команда Notify, передається шлюзом, а команда ServiceChange може передаватися і шлюзом, і контролером. У квадратних дужках вказані необов'язкові дескриптори команд. Ті дескриптори, які розташовані над командами, передаються у відповідях на команди.
Команда Add додає порт до контексту. Якщо команда відноситься до першого порту, який повинен бути доданий до контексту, то створюється новий контекст.
[TerminationID], MediaDescriptor], ModeinDescriptor], MuxDescriptor], EventsDescriptor], SignalsDescriptor], DigitMapDescriptor],
ObservedEventsDescriptor], StatisticsDescriptor], PackagesDescriptor] Add (TerminationID MediaDescriptor] ModemDescriptor] MuxDescriptor] EventsDescriptor] SignalsDescriptor] DigitMapDescriptor] AuditDescriptor]), де TerminationID - це ідентифікатор порту, який повинен бути доданий до контексту. Для вже існуючого порту має бути вказано його ідентифікатор, для неіснуючого порту повинен бути зазначений ідентифікатор «$». У відповіді на команду має передаватися TerminationID, призначений шлюзом.
MediaDescriptor - необов'язковий дескриптор, що описує інформаційні потоки.
ModemDescriptor - необов'язковий дескриптор, що описує тип модему, який повинен бути підключений до контексту.
MuxDescriptor - необов'язковий дескриптор, що містить список портів, які повинні бути підключені до контексту.
EventsDescriptor - необов'язковий дескриптор, що визначає список подій, при детектуванні яких порт повинен оповістити контролер.
SignalsDescriptor - необов'язковий дескриптор, що визначає сигнали, які порт повинен передавати в канал.
DigitMapDescriptor-необов'язковий дескриптор, що визначає план нумерації, який повинен бути використаний для з'єднання.
AuditDescriptor - необов'язковий дескриптор, специфицирующих параметри порту, які повинні бути передані шлюзом контролеру.
PackagesDescriptor - необов'язковий дескриптор, що описує пакет підтримуваних сигналів і подій.
Команда Modify змінює властивості, події або сигнали для існуючого порту.
[TerminationID] MediaDescriptor] ModemDescriptor] MuxDescriptor] EventsDescriptor] SignalsDescriptor] DigitMapDescriptor] ObservedEventsDescriptor] StatisticsDescriptor] PackagesDescriptor]
Modify (TerminationID [MediaDescriptor] [ModemDescriptor] [MuxDescriptor] [EventsDescriptor] [SignalsDescriptor] [DigitMapDescriptor] [AuditDescriptor]) Якщо команда відноситься до конкретного порту шлюзу, який бере участь у контексті, то повинен бути зазначений ідентифікатор порту. У команді Modify використовуються такі ж дескриптори, як і в команді Add.
Команда Subtract відключає порт від існуючого контексту.
[TerminationID], MediaDescriptor, ModemDescriptor], MuxDescriptor], EventsDescriptor], SignalsDescriptor], DigitMapDescriptor], ObservedEventsDescriptor], StatisticsDescriptor], PackagesDescriptor]
Subtract (TerminationID [, AuditDescriptor])
де TerminationID - ідентифікатор порту, який повинен бути від'єднаний від контексту. У разі відключення всіх портів від контексту використовується TerminationID «*».
У відповідь на команду Subtract в дескрипторі StatisticsDescriptor шлюз посилає статистику, зібрану за час з'єднання. Команда Move переводить порт з поточного контексту в інший контекст в одну дію.
[TerminationID] [MediaDescriptor] ModemDescriptor] MuxDescriptor] EventsDescriptor] SignalsDescriptor] DigitMapDescriptor] ObservedEventsDescriptor] StatisticsDescriptor] PackagesDescriptor]
Move (TerminationID MediaDescriptor] ModemDescriptor] MuxDescriptor] EventsDescriptor] SignalsDescriptor] DigitMapDescriptor] AuditDescriptor]) де TerminationID - ідентифікатор порту, який повинен бути переведений з одного контексту в інший. Дескриптори тут використовуються такі ж, як в команді Modify.
За допомогою команди AuditValue контролер запитує відомості про властивості порту, події, що відбулися або сигналах, що передаються в канал, а також статистику, зібрану на поточний момент.
[TerminationID] MediaDescriptor] ModemDescriptor] MuxDescriptor] EventsDescriptor] SignalsDescriptor] DigitMapDescriptor] ObservedEventsDescriptor] StatisticsDescriptor] PackagesDescriptor]
AuditValue (TerminationID, AuditDescriptor)
У відповідь на команду передаються запитувані параметри порту або портів шлюзу.
За допомогою команди AuditCapabilities контролер запитує можливі значення властивостей порту, список подій, які можуть бути виявлені портом, список сигналів, які порт може передавати в канал, статичні дані.
[TenninationID] MediaDescriptor] ModemDescriptor] MuxDescriptor] EventsDescriptor] SignalsDescriptor] DigitMapDescriptor] ObservedEventsDescriptor] StatisticsDescriptor] PackagesDescriptor]
AuditCapabilities (TenninationID,AuditDescriptor)
У відповідь на команду передаються запитувані параметри порту.
Команда Notify служить для того, щоб сповістити контролер про події, які сталися в шлюзі.
Notify (TenninationID, ObservedEventsDescriptor),
де TerminationID ідентифікує порт, який передав команду Notify.
ObservedEventsDescriptor-дескриптор, що містить список подій, що відбулися (у тому порядку, в якому вони відбувалися).
Команда ServiceChange дозволяє шлюзу сповістити контролер про те, що порт або група портів вийшли з обслуговування або повернулися в обслуговування. Media Gateway Controller може наказати порту вийти з обслуговування або повернутися в обслуговування. За допомогою даної команди контролер може передати управління шлюзом іншому контролеру.
[ServiceChangeDescriptor] ServiceChange (TerminationID , ServiceDescriptor),
де TerminationID ідентифікує порт або порти, що вийшли з обслуговування або, що повернулися в обслуговування. Значення «Root» дескриптора TerminationID показує, що весь шлюз вийшов з обслуговування або повернувся в обслуговування.
ServiceDescriptor - дескриптор, що містить поля з відомостями: про метод зміни стану; причини зміни; затримці;
адресу, куди повинні передаватися повідомлення; профілі підтримуваного протоколу та інші поля.
За аналогією з попередніми главами, в таблицю 9.3 зведені всі команди протоколу MEGACO/H.248.
На закінчення даного параграфа у таблиці 9.4 наведено коди помилок, які використовуються в протоколі MEGACO/H.248.
Таблиця 9.3 Команди протоколу MEGACO/H.248


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