1
MEDIA-GATEWAY-CONTROL-prev3b
2
{itu-t(0) recommendation(0) h(8) h248(248)
3
modules(0) media-gateway-control(0) version3(3)}
4
DEFINITIONS AUTOMATIC TAGS ::=
8
MegacoMessage ::= SEQUENCE
10
authHeader AuthenticationHeader OPTIONAL,
14
AuthenticationHeader ::= SEQUENCE
16
secParmIndex SecurityParmIndex,
21
SecurityParmIndex ::= OCTET STRING(SIZE(4))
23
SequenceNum ::= OCTET STRING(SIZE(4))
25
AuthData ::= OCTET STRING (SIZE (12..32))
29
version INTEGER(0..99),
30
-- The version of the protocol defined here is equal to 3.
31
mId MId, -- Name/address of message originator
34
messageError ErrorDescriptor,
35
transactions SEQUENCE OF Transaction
42
ip4Address IP4Address,
43
ip6Address IP6Address,
44
domainName DomainName,
46
mtpAddress OCTET STRING(SIZE(2..4)),
47
-- Addressing structure of mtpAddress:
50
-- 24 - 14 bits 2 bits
51
-- Note: 14 bits are defined for international use.
52
-- Two national options exist where the point code is 16 or 24
54
-- To octet align the mtpAddress, the MSBs shall be encoded as 0s.
58
DomainName ::= SEQUENCE
61
-- The name starts with an alphanumeric digit followed by a
62
-- sequence of alphanumeric digits, hyphens and dots. No two
63
-- dots shall occur consecutively.
64
portNumber INTEGER(0..65535) OPTIONAL
67
IP4Address ::= SEQUENCE
69
address OCTET STRING (SIZE(4)),
70
portNumber INTEGER(0..65535) OPTIONAL
73
IP6Address ::= SEQUENCE
75
address OCTET STRING (SIZE(16)),
76
portNumber INTEGER(0..65535) OPTIONAL
79
PathName ::= IA5String(SIZE (1..64))
82
Transaction ::= CHOICE
84
transactionRequest TransactionRequest,
85
transactionPending TransactionPending,
86
transactionReply TransactionReply,
87
transactionResponseAck TransactionResponseAck,
88
-- use of response acks is dependent on underlying transport
92
TransactionId ::= INTEGER(0..4294967295) -- 32-bit unsigned integer
94
TransactionRequest ::= SEQUENCE
96
transactionId TransactionId,
97
actions SEQUENCE OF ActionRequest,
101
TransactionPending ::= SEQUENCE
103
transactionId TransactionId,
107
TransactionReply ::= SEQUENCE
109
transactionId TransactionId,
110
immAckRequired NULL OPTIONAL,
111
transactionResult CHOICE
113
transactionError ErrorDescriptor,
114
actionReplies SEQUENCE OF ActionReply
117
-- segmentNumber SegmentNumber OPTIONAL,
118
-- segmentationComplete NULL OPTIONAL
121
-- SegmentReply ::= SEQUENCE
123
-- transactionId TransactionId,
124
-- segmentNumber SegmentNumber,
125
-- segmentationComplete NULL OPTIONAL,
129
-- SegmentNumber ::= INTEGER(0..65535)
131
TransactionResponseAck ::= SEQUENCE OF TransactionAck
132
TransactionAck ::= SEQUENCE
134
firstAck TransactionId,
135
lastAck TransactionId OPTIONAL
138
ErrorDescriptor ::= SEQUENCE
141
errorText ErrorText OPTIONAL
144
ErrorCode ::= INTEGER(0..65535)
145
-- See clause 14 for IANA considerations with respect to error codes
146
ErrorText ::= IA5String
148
ContextID ::= INTEGER(0..4294967295)
150
-- Context NULL Value: 0
151
-- Context CHOOSE Value: 4294967294 (0xFFFFFFFE)
152
-- Context ALL Value: 4294967295 (0xFFFFFFFF)
155
ActionRequest ::= SEQUENCE
158
contextRequest ContextRequest OPTIONAL,
159
contextAttrAuditReq ContextAttrAuditRequest OPTIONAL,
160
commandRequests SEQUENCE OF CommandRequest
163
ActionReply ::= SEQUENCE
166
errorDescriptor ErrorDescriptor OPTIONAL,
167
contextReply ContextRequest OPTIONAL,
168
commandReply SEQUENCE OF CommandReply
171
ContextRequest ::= SEQUENCE
173
priority INTEGER(0..15) OPTIONAL,
174
emergency BOOLEAN OPTIONAL,
175
topologyReq SEQUENCE OF TopologyRequest OPTIONAL,
177
iepscallind BOOLEAN OPTIONAL,
178
contextProp SEQUENCE OF PropertyParm OPTIONAL
181
ContextAttrAuditRequest ::= SEQUENCE
183
topology NULL OPTIONAL,
184
emergency NULL OPTIONAL,
185
priority NULL OPTIONAL,
187
iepscallind NULL OPTIONAL,
188
contextPropAud SEQUENCE OF IndAudPropertyParm OPTIONAL
191
CommandRequest ::= SEQUENCE
194
optional NULL OPTIONAL,
195
wildcardReturn NULL OPTIONAL,
204
-- Add, Move, Modify requests have the same parameters
205
subtractReq SubtractRequest,
206
auditCapRequest AuditRequest,
207
auditValueRequest AuditRequest,
208
notifyReq NotifyRequest,
209
serviceChangeReq ServiceChangeRequest,
213
CommandReply ::= CHOICE
218
subtractReply AmmsReply,
219
-- Add, Move, Modify, Subtract replies have the same parameters
220
auditCapReply AuditReply,
221
auditValueReply AuditReply,
222
notifyReply NotifyReply,
223
serviceChangeReply ServiceChangeReply,
227
TopologyRequest ::= SEQUENCE
229
terminationFrom TerminationID,
230
terminationTo TerminationID,
231
topologyDirection ENUMERATED
238
streamID StreamID OPTIONAL
241
AmmRequest ::= SEQUENCE
243
terminationID TerminationIDList,
244
descriptors SEQUENCE OF AmmDescriptor,
245
-- At most one descriptor of each type (see AmmDescriptor)
246
-- allowed in the sequence.
250
AmmDescriptor ::= CHOICE
252
mediaDescriptor MediaDescriptor,
253
modemDescriptor ModemDescriptor,
254
muxDescriptor MuxDescriptor,
255
eventsDescriptor EventsDescriptor,
256
eventBufferDescriptor EventBufferDescriptor,
257
signalsDescriptor SignalsDescriptor,
258
digitMapDescriptor DigitMapDescriptor,
259
auditDescriptor AuditDescriptor,
261
statisticsDescriptor StatisticsDescriptor
265
AmmsReply ::= SEQUENCE
267
terminationID TerminationIDList,
268
terminationAudit TerminationAudit OPTIONAL,
272
SubtractRequest ::= SEQUENCE
274
terminationID TerminationIDList,
275
auditDescriptor AuditDescriptor OPTIONAL,
279
AuditRequest ::= SEQUENCE
281
terminationID TerminationID,
282
auditDescriptor AuditDescriptor,
286
AuditReply ::= CHOICE
288
contextAuditResult TerminationIDList,
289
error ErrorDescriptor,
290
auditResult AuditResult,
294
AuditResult ::= SEQUENCE
297
terminationID TerminationID,
298
terminationAuditResult TerminationAudit
303
TerminationAudit ::= SEQUENCE OF AuditReturnParameter
305
AuditReturnParameter ::= CHOICE
307
errorDescriptor ErrorDescriptor,
308
mediaDescriptor MediaDescriptor,
309
modemDescriptor ModemDescriptor,
310
muxDescriptor MuxDescriptor,
311
eventsDescriptor EventsDescriptor,
312
eventBufferDescriptor EventBufferDescriptor,
313
signalsDescriptor SignalsDescriptor,
314
digitMapDescriptor DigitMapDescriptor,
315
observedEventsDescriptor ObservedEventsDescriptor,
316
statisticsDescriptor StatisticsDescriptor,
317
packagesDescriptor PackagesDescriptor,
318
emptyDescriptors AuditDescriptor,
322
AuditDescriptor ::= SEQUENCE
324
auditToken BIT STRING
326
muxToken(0), modemToken(1), mediaToken(2),
327
eventsToken(3), signalsToken(4),
328
digitMapToken(5), statsToken(6),
329
observedEventsToken(7),
330
packagesToken(8), eventBufferToken(9)
333
auditPropertyToken SEQUENCE OF IndAuditParameter OPTIONAL
337
IndAuditParameter ::= CHOICE
339
-- Note that the lower/upper case letters of the tags have
340
-- been changed. The same changes has been made in text...
341
indAudMediaDescriptor IndAudMediaDescriptor,
342
indAudEventsDescriptor IndAudEventsDescriptor,
343
indAudEventBufferDescriptor IndAudEventBufferDescriptor,
344
indAudSignalsDescriptor IndAudSignalsDescriptor,
345
indAudDigitMapDescriptor IndAudDigitMapDescriptor,
346
indAudStatisticsDescriptor IndAudStatisticsDescriptor,
347
indAudPackagesDescriptor IndAudPackagesDescriptor,
351
IndAudMediaDescriptor ::= SEQUENCE
354
termStateDescr IndAudTerminationStateDescriptor OPTIONAL,
357
oneStream IndAudStreamParms,
358
multiStream SEQUENCE OF IndAudStreamDescriptor
363
IndAudStreamDescriptor ::= SEQUENCE
366
streamParms IndAudStreamParms
369
IndAudStreamParms ::= SEQUENCE
371
localControlDescriptor IndAudLocalControlDescriptor OPTIONAL,
372
localDescriptor IndAudLocalRemoteDescriptor OPTIONAL,
373
remoteDescriptor IndAudLocalRemoteDescriptor OPTIONAL,
375
statisticsDescriptor IndAudStatisticsDescriptor OPTIONAL
378
IndAudLocalControlDescriptor ::= SEQUENCE
380
streamMode NULL OPTIONAL,
381
reserveValue NULL OPTIONAL,
382
reserveGroup NULL OPTIONAL,
383
propertyParms SEQUENCE OF IndAudPropertyParm OPTIONAL,
387
IndAudPropertyParm ::= SEQUENCE
393
IndAudLocalRemoteDescriptor ::= SEQUENCE
395
propGroupID INTEGER(0..65535) OPTIONAL,
396
propGrps IndAudPropertyGroup,
400
IndAudPropertyGroup ::= SEQUENCE OF IndAudPropertyParm
402
IndAudTerminationStateDescriptor ::= SEQUENCE
404
propertyParms SEQUENCE OF IndAudPropertyParm,
405
eventBufferControl NULL OPTIONAL,
406
serviceState NULL OPTIONAL,
410
IndAudEventsDescriptor ::= SEQUENCE
412
requestID RequestID OPTIONAL,
414
streamID StreamID OPTIONAL,
418
IndAudEventBufferDescriptor ::= SEQUENCE
421
streamID StreamID OPTIONAL,
425
IndAudSignalsDescriptor ::=CHOICE
428
seqSigList IndAudSeqSigList,
432
IndAudSeqSigList ::= SEQUENCE
434
id INTEGER(0..65535),
435
signalList IndAudSignal OPTIONAL
438
IndAudSignal ::= SEQUENCE
441
streamID StreamID OPTIONAL,
445
IndAudDigitMapDescriptor ::= SEQUENCE
447
digitMapName DigitMapName OPTIONAL
450
IndAudStatisticsDescriptor ::= SEQUENCE
455
IndAudPackagesDescriptor ::= SEQUENCE
458
packageVersion INTEGER(0..99),
462
NotifyRequest ::= SEQUENCE
464
terminationID TerminationIDList,
465
observedEventsDescriptor ObservedEventsDescriptor,
466
errorDescriptor ErrorDescriptor OPTIONAL,
470
NotifyReply ::= SEQUENCE
472
terminationID TerminationIDList,
473
errorDescriptor ErrorDescriptor OPTIONAL,
477
ObservedEventsDescriptor ::= SEQUENCE
480
observedEventLst SEQUENCE OF ObservedEvent
483
ObservedEvent ::= SEQUENCE
486
streamID StreamID OPTIONAL,
487
eventParList SEQUENCE OF EventParameter,
488
timeNotation TimeNotation OPTIONAL,
492
EventName ::= PkgdName
494
EventParameter ::= SEQUENCE
496
eventParameterName Name,
498
-- For use of extraInfo see the comment related to PropertyParm
509
ServiceChangeRequest ::= SEQUENCE
511
terminationID TerminationIDList,
512
serviceChangeParms ServiceChangeParm,
516
ServiceChangeReply ::= SEQUENCE
518
terminationID TerminationIDList,
519
serviceChangeResult ServiceChangeResult,
523
-- For ServiceChangeResult, no parameters are mandatory. Hence the
524
-- distinction between ServiceChangeParm and ServiceChangeResParm.
526
ServiceChangeResult ::= CHOICE
528
errorDescriptor ErrorDescriptor,
529
serviceChangeResParms ServiceChangeResParm
532
WildcardField ::= OCTET STRING(SIZE(1))
534
TerminationID ::= SEQUENCE
536
wildcard SEQUENCE OF WildcardField,
537
id OCTET STRING(SIZE(1..8)),
540
-- See A.1 for explanation of wildcarding mechanism.
541
-- Termination ID 0xFFFFFFFFFFFFFFFF indicates the ROOT Termination.
543
TerminationIDList ::= SEQUENCE OF TerminationID
545
MediaDescriptor ::= SEQUENCE
547
termStateDescr TerminationStateDescriptor OPTIONAL,
550
oneStream StreamParms,
551
multiStream SEQUENCE OF StreamDescriptor
556
StreamDescriptor ::= SEQUENCE
559
streamParms StreamParms
562
StreamParms ::= SEQUENCE
564
localControlDescriptor LocalControlDescriptor OPTIONAL,
565
localDescriptor LocalRemoteDescriptor OPTIONAL,
566
remoteDescriptor LocalRemoteDescriptor OPTIONAL,
568
statisticsDescriptor StatisticsDescriptor OPTIONAL
571
LocalControlDescriptor ::= SEQUENCE
573
streamMode StreamMode OPTIONAL,
574
reserveValue BOOLEAN OPTIONAL,
575
reserveGroup BOOLEAN OPTIONAL,
576
propertyParms SEQUENCE OF PropertyParm,
580
StreamMode ::= ENUMERATED
590
-- In PropertyParm, value is a SEQUENCE OF octet string. When sent
591
-- by an MGC the interpretation is as follows:
592
-- empty sequence means CHOOSE
593
-- one element sequence specifies value
594
-- If the sublist field is not selected, a longer sequence means
595
-- "choose one of the values" (i.e. value1 OR value2 OR ...)
596
-- If the sublist field is selected,
597
-- a sequence with more than one element encodes the value of a
598
-- list-valued property (i.e. value1 AND value2 AND ...).
599
-- The relation field may only be selected if the value sequence
600
-- has length 1. It indicates that the MG has to choose a value
601
-- for the property. E.g. x > 3 (using the greaterThan
602
-- value for relation) instructs the MG to choose any value larger
603
-- than 3 for property x.
604
-- The range field may only be selected if the value sequence
605
-- has length 2. It indicates that the MG has to choose a value
606
-- in the range between the first octet in the value sequence and
607
-- the trailing octet in the value sequence, including the
609
-- When sent by the MG, only responses to an AuditCapability request
610
-- may contain multiple values, a range, or a relation field.
612
PropertyParm ::= SEQUENCE
615
value SEQUENCE OF OCTET STRING,
625
Name ::= OCTET STRING(SIZE(2))
627
PkgdName ::= OCTET STRING(SIZE(4))
628
-- represents Package Name (2 octets) plus Property, Event,
629
-- Signal Names or Statistics ID. (2 octets)
630
-- To wildcard a package use 0xFFFF for first two octets, choose
631
-- is not allowed. To reference native property tag specified in
632
-- Annex C, use 0x0000 as first two octets.
633
-- To wildcard a Property, Event, Signal, or Statistics ID, use
634
-- 0xFFFF for last two octets, choose is not allowed.
635
-- Wildcarding of Package Name is permitted only if Property,
636
-- Event, Signal, or Statistics ID are
639
Relation ::= ENUMERATED
647
LocalRemoteDescriptor ::= SEQUENCE
649
propGrps SEQUENCE OF PropertyGroup,
653
PropertyGroup ::= SEQUENCE OF PropertyParm
655
TerminationStateDescriptor ::= SEQUENCE
657
propertyParms SEQUENCE OF PropertyParm,
658
eventBufferControl EventBufferControl OPTIONAL,
659
serviceState ServiceState OPTIONAL,
663
EventBufferControl ::= ENUMERATED
670
ServiceState ::= ENUMERATED
678
MuxDescriptor ::= SEQUENCE
681
termList SEQUENCE OF TerminationID,
682
nonStandardData NonStandardData OPTIONAL,
686
MuxType ::= ENUMERATED
696
StreamID ::= INTEGER(0..65535) -- 16-bit unsigned integer
698
EventsDescriptor ::= SEQUENCE
700
requestID RequestID OPTIONAL,
701
-- RequestID must be present if eventList
703
eventList SEQUENCE OF RequestedEvent,
707
RequestedEvent ::= SEQUENCE
710
streamID StreamID OPTIONAL,
711
eventAction RequestedActions OPTIONAL,
712
evParList SEQUENCE OF EventParameter,
716
RequestedActions ::= SEQUENCE
718
keepActive BOOLEAN OPTIONAL,
719
eventDM EventDM OPTIONAL,
720
secondEvent SecondEventsDescriptor OPTIONAL,
721
signalsDescriptor SignalsDescriptor OPTIONAL,
727
digitMapName DigitMapName,
728
digitMapValue DigitMapValue
731
SecondEventsDescriptor ::= SEQUENCE
733
requestID RequestID OPTIONAL,
734
eventList SEQUENCE OF SecondRequestedEvent,
738
SecondRequestedEvent ::= SEQUENCE
741
streamID StreamID OPTIONAL,
742
eventAction SecondRequestedActions OPTIONAL,
743
evParList SEQUENCE OF EventParameter,
747
SecondRequestedActions ::= SEQUENCE
749
keepActive BOOLEAN OPTIONAL,
750
eventDM EventDM OPTIONAL,
751
signalsDescriptor SignalsDescriptor OPTIONAL,
755
EventBufferDescriptor ::= SEQUENCE OF EventSpec
757
EventSpec ::= SEQUENCE
760
streamID StreamID OPTIONAL,
761
eventParList SEQUENCE OF EventParameter,
766
SignalsDescriptor ::= SEQUENCE OF SignalRequest
768
SignalRequest ::= CHOICE
771
seqSigList SeqSigList,
775
SeqSigList ::= SEQUENCE
777
id INTEGER(0..65535),
778
signalList SEQUENCE OF Signal
783
signalName SignalName,
784
streamID StreamID OPTIONAL,
785
sigType SignalType OPTIONAL,
786
duration INTEGER (0..65535) OPTIONAL,
787
notifyCompletion NotifyCompletion OPTIONAL,
788
keepActive BOOLEAN OPTIONAL,
789
sigParList SEQUENCE OF SigParameter,
791
direction SignalDirection OPTIONAL,
792
requestID RequestID OPTIONAL
795
SignalType ::= ENUMERATED
803
SignalDirection ::= ENUMERATED
811
SignalName ::= PkgdName
813
NotifyCompletion ::= BIT STRING
815
onTimeOut(0), onInterruptByEvent(1),
816
onInterruptByNewSignalDescr(2), otherReason(3)
819
SigParameter ::= SEQUENCE
821
sigParameterName Name,
823
-- For use of extraInfo see the comment related to PropertyParm
833
-- For an AuditCapReply with all events, the RequestID SHALL be ALL.
834
-- ALL is represented by 0xffffffff.
836
RequestID ::= INTEGER(0..4294967295) -- 32-bit unsigned integer
838
ModemDescriptor ::= SEQUENCE
840
mtl SEQUENCE OF ModemType,
841
mpl SEQUENCE OF PropertyParm,
842
nonStandardData NonStandardData OPTIONAL
845
ModemType ::= ENUMERATED
859
DigitMapDescriptor ::= SEQUENCE
861
digitMapName DigitMapName OPTIONAL,
862
digitMapValue DigitMapValue OPTIONAL
865
DigitMapName ::= Name
867
DigitMapValue ::= SEQUENCE
869
startTimer INTEGER(0..99) OPTIONAL,
870
shortTimer INTEGER(0..99) OPTIONAL,
871
longTimer INTEGER(0..99) OPTIONAL,
872
digitMapBody IA5String,
873
-- Units are seconds for start, short and long timers, and
874
-- hundreds of milliseconds for duration timer. Thus start,
875
-- short, and long range from 1 to 99 seconds and duration
876
-- from 100 ms to 9.9 s
877
-- See A.3 for explanation of digit map syntax
879
durationTimer INTEGER (0..99) OPTIONAL
882
ServiceChangeParm ::= SEQUENCE
884
serviceChangeMethod ServiceChangeMethod,
885
serviceChangeAddress ServiceChangeAddress OPTIONAL,
886
serviceChangeVersion INTEGER(0..99) OPTIONAL,
887
serviceChangeProfile ServiceChangeProfile OPTIONAL,
888
serviceChangeReason Value,
889
-- A serviceChangeReason consists of a numeric reason code
890
-- and an optional text description.
891
-- The serviceChangeReason SHALL be a string consisting of
892
-- a decimal reason code, optionally followed by a single
893
-- space character and a textual description string.
894
-- This string is first BER-encoded as an IA5String.
895
-- The result of this BER-encoding is then encoded as
896
-- an ASN.1 OCTET STRING type, "double wrapping" the
898
-- as was done for package elements.
899
serviceChangeDelay INTEGER(0..4294967295) OPTIONAL,
900
-- 32-bit unsigned integer
901
serviceChangeMgcId MId OPTIONAL,
902
timeStamp TimeNotation OPTIONAL,
903
nonStandardData NonStandardData OPTIONAL,
905
serviceChangeInfo AuditDescriptor OPTIONAL,
906
serviceChangeIncompleteFlag NULL OPTIONAL
909
ServiceChangeAddress ::= CHOICE
911
portNumber INTEGER(0..65535), -- TCP/UDP port number
912
ip4Address IP4Address,
913
ip6Address IP6Address,
914
domainName DomainName,
916
mtpAddress OCTET STRING(SIZE(2..4)),
920
ServiceChangeResParm ::= SEQUENCE
922
serviceChangeMgcId MId OPTIONAL,
923
serviceChangeAddress ServiceChangeAddress OPTIONAL,
924
serviceChangeVersion INTEGER(0..99) OPTIONAL,
925
serviceChangeProfile ServiceChangeProfile OPTIONAL,
926
timestamp TimeNotation OPTIONAL,
930
ServiceChangeMethod ::= ENUMERATED
941
ServiceChangeProfile ::= SEQUENCE
943
profileName IA5String(SIZE (1..67))
945
-- 64 characters for name, 1 for "/", 2 for version to match ABNF
948
PackagesDescriptor ::= SEQUENCE OF PackagesItem
949
PackagesItem ::= SEQUENCE
952
packageVersion INTEGER(0..99),
956
StatisticsDescriptor ::= SEQUENCE OF StatisticsParameter
958
StatisticsParameter ::= SEQUENCE
961
statValue Value OPTIONAL
964
NonStandardData ::= SEQUENCE
966
nonStandardIdentifier NonStandardIdentifier,
970
NonStandardIdentifier ::= CHOICE
972
object OBJECT IDENTIFIER,
973
h221NonStandard H221NonStandard,
974
experimental IA5String(SIZE(8)),
975
-- first two characters SHOULD be "X-" or "X+"
979
H221NonStandard ::= SEQUENCE
980
{ t35CountryCode1 INTEGER(0..255),
981
t35CountryCode2 INTEGER(0..255), -- country, as per T.35
982
t35Extension INTEGER(0..255), -- assigned nationally
983
manufacturerCode INTEGER(0..65535), -- assigned nationally
987
TimeNotation ::= SEQUENCE
989
date IA5String(SIZE(8)), -- yyyymmdd format
990
time IA5String(SIZE(8)) -- hhmmssss format
994
Value ::= SEQUENCE OF OCTET STRING