aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/h248/MEGACO.asn
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/asn1/h248/MEGACO.asn')
-rw-r--r--epan/dissectors/asn1/h248/MEGACO.asn987
1 files changed, 987 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/h248/MEGACO.asn b/epan/dissectors/asn1/h248/MEGACO.asn
new file mode 100644
index 0000000000..aab13234c9
--- /dev/null
+++ b/epan/dissectors/asn1/h248/MEGACO.asn
@@ -0,0 +1,987 @@
+-- This ASN definition is taken from
+-- http://132.151.1.19/internet-drafts/draft-ietf-megaco-h248v2-04.txt
+--
+-- and has been modified to pass through the ASN2ETH compiler
+-- (we dont support automatic tags yet so the tags had to be added by
+-- hand)
+
+MEDIA-GATEWAY-CONTROL {itu-t(0) recommendation(0) h(8) h248(248)
+modules(0) media-gateway-control(0) version2(2)}
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+ MegacoMessage ::= SEQUENCE
+ {
+ authHeader [0] IMPLICIT AuthenticationHeader OPTIONAL,
+ mess [1] IMPLICIT Message
+ }
+
+ AuthenticationHeader ::= SEQUENCE
+ {
+ secParmIndex [0] IMPLICIT SecurityParmIndex,
+ seqNum [1] IMPLICIT SequenceNum,
+ ad [2] IMPLICIT AuthData
+ }
+
+ SecurityParmIndex ::= OCTET STRING(SIZE(4))
+
+ SequenceNum ::= OCTET STRING(SIZE(4))
+
+ AuthData ::= OCTET STRING (SIZE (12..32))
+
+ Message ::= SEQUENCE
+ {
+ version [0] IMPLICIT INTEGER(0..99),
+ -- The version of the protocol defined here is equal to 2.
+ mId [1] MId, -- Name/address of message originator
+ messageBody [2] CHOICE
+ {
+ messageError [0] IMPLICIT ErrorDescriptor,
+ transactions [1] IMPLICIT SEQUENCE OF Transaction
+ },
+ ...
+ }
+
+ MId ::= CHOICE
+ {
+ ip4Address [0] IMPLICIT IP4Address,
+ ip6Address [1] IMPLICIT IP6Address,
+ domainName [2] IMPLICIT DomainName,
+ deviceName [3] IMPLICIT PathName,
+ mtpAddress [4] IMPLICIT MtpAddress,
+ -- Addressing structure of mtpAddress:
+ -- 25 - 15 0
+ -- | PC | NI |
+ -- 24 - 14 bits 2 bits
+ -- Note: 14 bits are defined for international use.
+ -- Two national options exist where the point code is 16 or 24
+ -- bits.
+ -- To octet align the mtpAddress, the MSBs shall be encoded as 0s.
+ ...
+ }
+
+ MtpAddress ::= OCTET STRING(SIZE(2..4))
+
+ DomainName ::= SEQUENCE
+ {
+ name [0] IMPLICIT IA5String,
+ -- The name starts with an alphanumeric digit followed by a
+ -- sequence of alphanumeric digits, hyphens and dots. No two
+ -- dots shall occur consecutively.
+ portNumber [1] IMPLICIT INTEGER(0..65535) OPTIONAL
+ }
+
+ IP4Address ::= SEQUENCE
+ {
+ address [0] IMPLICIT OCTET STRING (SIZE(4)),
+ portNumber [1] IMPLICIT INTEGER(0..65535) OPTIONAL
+ }
+
+ IP6Address ::= SEQUENCE
+ {
+ address [0] IMPLICIT OCTET STRING (SIZE(16)),
+ portNumber [1] IMPLICIT INTEGER(0..65535) OPTIONAL
+ }
+
+ PathName ::= IA5String(SIZE (1..64))
+ -- See A.3
+
+ Transaction ::= CHOICE
+ {
+ transactionRequest [0] IMPLICIT TransactionRequest,
+ transactionPending [1] IMPLICIT TransactionPending,
+ transactionReply [2] IMPLICIT TransactionReply,
+ transactionResponseAck [3] IMPLICIT TransactionResponseAck,
+ -- use of response acks is dependent on underlying transport
+ ...
+ }
+
+ TransactionId ::= INTEGER(0..4294967295) -- 32-bit unsigned integer
+
+ TransactionRequest ::= SEQUENCE
+ {
+ transactionId [0] IMPLICIT TransactionId,
+ actions [1] IMPLICIT SEQUENCE OF ActionRequest,
+ ...
+ }
+
+ TransactionPending ::= SEQUENCE
+ {
+ transactionId [0] IMPLICIT TransactionId,
+ ...
+ }
+
+ TransactionReply ::= SEQUENCE
+ {
+ transactionId [0] IMPLICIT TransactionId,
+ immAckRequired [1] IMPLICIT NULL OPTIONAL,
+ transactionResult [2] CHOICE
+ {
+ transactionError [0] IMPLICIT ErrorDescriptor,
+ actionReplies [1] IMPLICIT SEQUENCE OF ActionReply
+ },
+ ...
+ }
+
+ TransactionResponseAck ::= SEQUENCE OF TransactionAck
+ TransactionAck ::= SEQUENCE
+ {
+ firstAck [0] IMPLICIT TransactionId,
+ lastAck [1] IMPLICIT TransactionId OPTIONAL
+ }
+
+ ErrorDescriptor ::= SEQUENCE
+ {
+ errorCode [0] IMPLICIT ErrorCode,
+ errorText [1] IMPLICIT ErrorText OPTIONAL
+ }
+
+ ErrorCode ::= INTEGER(0..65535)
+ -- See clause 14 for IANA considerations with respect to error codes
+
+ ErrorText ::= IA5String
+
+ ContextID ::= INTEGER(0..4294967295)
+
+ -- Context NULL Value: 0
+ -- Context CHOOSE Value: 4294967294 (0xFFFFFFFE)
+ -- Context ALL Value: 4294967295 (0xFFFFFFFF)
+
+
+ ActionRequest ::= SEQUENCE
+ {
+ contextId [0] IMPLICIT ContextID,
+ contextRequest [1] IMPLICIT ContextRequest OPTIONAL,
+ contextAttrAuditReq [2] IMPLICIT ContextAttrAuditRequest OPTIONAL,
+ commandRequests [3] IMPLICIT SEQUENCE OF CommandRequest
+ }
+
+ ActionReply ::= SEQUENCE
+ {
+ contextId [0] IMPLICIT ContextID,
+ errorDescriptor [1] IMPLICIT ErrorDescriptor OPTIONAL,
+ contextReply [2] IMPLICIT ContextRequest OPTIONAL,
+ commandReply [3] IMPLICIT SEQUENCE OF CommandReply
+ }
+
+ ContextRequest ::= SEQUENCE
+ {
+ priority [0] IMPLICIT INTEGER(0..15) OPTIONAL,
+ emergency [1] IMPLICIT BOOLEAN OPTIONAL,
+ topologyReq [2] IMPLICIT SEQUENCE OF TopologyRequest OPTIONAL,
+ ...
+ }
+
+ ContextAttrAuditRequest ::= SEQUENCE
+ {
+ topology [0] IMPLICIT NULL OPTIONAL,
+ emergency [1] IMPLICIT NULL OPTIONAL,
+ priority [2] IMPLICIT NULL OPTIONAL,
+ ...
+ }
+
+ CommandRequest ::= SEQUENCE
+ {
+ command [0] Command,
+ optional [1] IMPLICIT NULL OPTIONAL,
+ wildcardReturn [2] IMPLICIT NULL OPTIONAL,
+ ...
+ }
+
+ Command ::= CHOICE
+ {
+ addReq [0] IMPLICIT AmmRequest,
+ moveReq [1] IMPLICIT AmmRequest,
+ modReq [2] IMPLICIT AmmRequest,
+ -- Add, Move, Modify requests have the same parameters
+ subtractReq [3] IMPLICIT SubtractRequest,
+ auditCapRequest [4] IMPLICIT AuditRequest,
+ auditValueRequest [5] IMPLICIT AuditRequest,
+ notifyReq [6] IMPLICIT NotifyRequest,
+ serviceChangeReq [7] IMPLICIT ServiceChangeRequest,
+ ...
+ }
+
+ CommandReply ::= CHOICE
+ {
+ addReply [0] IMPLICIT AmmsReply,
+ moveReply [1] IMPLICIT AmmsReply,
+ modReply [2] IMPLICIT AmmsReply,
+ subtractReply [3] IMPLICIT AmmsReply,
+ -- Add, Move, Modify, Subtract replies have the same parameters
+ auditCapReply [4] AuditReply,
+ auditValueReply [5] AuditReply,
+ notifyReply [6] IMPLICIT NotifyReply,
+ serviceChangeReply [7] IMPLICIT ServiceChangeReply,
+ ...
+ }
+
+ TopologyRequest ::= SEQUENCE
+ {
+ terminationFrom [0] IMPLICIT TerminationID,
+ terminationTo [1] IMPLICIT TerminationID,
+ topologyDirection [2] IMPLICIT ENUMERATED
+ {
+ bothway(0),
+ isolate(1),
+ oneway(2)
+ },
+ ...,
+ streamID [3] IMPLICIT StreamID OPTIONAL
+ }
+
+ AmmRequest ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ descriptors [1] IMPLICIT SEQUENCE OF AmmDescriptor,
+ -- At most one descriptor of each type (see AmmDescriptor)
+ -- allowed in the sequence.
+ ...
+ }
+
+ AmmDescriptor ::= CHOICE
+ {
+ mediaDescriptor [0] IMPLICIT MediaDescriptor,
+ modemDescriptor [1] IMPLICIT ModemDescriptor,
+ muxDescriptor [2] IMPLICIT MuxDescriptor,
+ eventsDescriptor [3] IMPLICIT EventsDescriptor,
+ eventBufferDescriptor [4] IMPLICIT EventBufferDescriptor,
+ signalsDescriptor [5] IMPLICIT SignalsDescriptor,
+ digitMapDescriptor [6] IMPLICIT DigitMapDescriptor,
+ auditDescriptor [7] IMPLICIT AuditDescriptor,
+ ...
+ }
+
+
+ AmmsReply ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ terminationAudit [1] IMPLICIT TerminationAudit OPTIONAL,
+ ...
+ }
+
+ SubtractRequest ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ auditDescriptor [1] IMPLICIT AuditDescriptor OPTIONAL,
+ ...
+ }
+
+ AuditRequest ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationID,
+ auditDescriptor [1] IMPLICIT AuditDescriptor,
+ ...
+ }
+
+ AuditReply ::= CHOICE
+ {
+ contextAuditResult [0] IMPLICIT TerminationIDList,
+ error [1] IMPLICIT ErrorDescriptor,
+ auditResult [2] IMPLICIT AuditResult,
+ ...
+ }
+
+ AuditResult ::= SEQUENCE
+ {
+
+ terminationID [0] IMPLICIT TerminationID,
+ terminationAuditResult [1] IMPLICIT TerminationAudit
+ }
+
+
+
+ TerminationAudit ::= SEQUENCE OF AuditReturnParameter
+
+ AuditReturnParameter ::= CHOICE
+ {
+ errorDescriptor [0] IMPLICIT ErrorDescriptor,
+ mediaDescriptor [1] IMPLICIT MediaDescriptor,
+ modemDescriptor [2] IMPLICIT ModemDescriptor,
+ muxDescriptor [3] IMPLICIT MuxDescriptor,
+ eventsDescriptor [4] IMPLICIT EventsDescriptor,
+ eventBufferDescriptor [5] IMPLICIT EventBufferDescriptor,
+ signalsDescriptor [6] IMPLICIT SignalsDescriptor,
+ digitMapDescriptor [7] IMPLICIT DigitMapDescriptor,
+ observedEventsDescriptor [8] IMPLICIT ObservedEventsDescriptor,
+ statisticsDescriptor [9] IMPLICIT StatisticsDescriptor,
+ packagesDescriptor [10] IMPLICIT PackagesDescriptor,
+ emptyDescriptors [11] IMPLICIT AuditDescriptor,
+ ...
+ }
+
+ AuditDescriptor ::= SEQUENCE
+ {
+ auditToken [0] IMPLICIT BIT STRING
+ {
+ muxToken(0), modemToken(1), mediaToken(2),
+ eventsToken(3), signalsToken(4),
+ digitMapToken(5), statsToken(6),
+ observedEventsToken(7),
+ packagesToken(8), eventBufferToken(9)
+ } OPTIONAL,
+ ...,
+ auditPropertyToken [1] IMPLICIT SEQUENCE OF IndAuditParameter OPTIONAL
+ }
+
+ IndAuditParameter ::= CHOICE
+ {
+ indaudmediaDescriptor [0] IMPLICIT IndAudMediaDescriptor,
+ indaudeventsDescriptor [1] IMPLICIT IndAudEventsDescriptor,
+ indaudeventBufferDescriptor [2] IMPLICIT IndAudEventBufferDescriptor,
+ indaudsignalsDescriptor [3] IndAudSignalsDescriptor,
+ indauddigitMapDescriptor [4] IMPLICIT IndAudDigitMapDescriptor,
+ indaudstatisticsDescriptor [5] IMPLICIT IndAudStatisticsDescriptor,
+ indaudpackagesDescriptor [6] IMPLICIT IndAudPackagesDescriptor,
+ ...
+ }
+
+ IndAudMediaDescriptor ::= SEQUENCE
+ {
+
+ termStateDescr [0] IMPLICIT IndAudTerminationStateDescriptor OPTIONAL,
+ streams [1] CHOICE
+ {
+ oneStream [0] IMPLICIT IndAudStreamParms,
+ multiStream [1] IMPLICIT SEQUENCE OF IndAudStreamDescriptor
+ } OPTIONAL,
+ ...
+ }
+
+ IndAudStreamDescriptor ::= SEQUENCE
+ {
+ streamID [0] IMPLICIT StreamID,
+ streamParms [1] IMPLICIT IndAudStreamParms
+ }
+
+ IndAudStreamParms ::= SEQUENCE
+ {
+ localControlDescriptor [0] IMPLICIT IndAudLocalControlDescriptor OPTIONAL,
+ localDescriptor [1] IMPLICIT IndAudLocalRemoteDescriptor OPTIONAL,
+ remoteDescriptor [2] IMPLICIT IndAudLocalRemoteDescriptor OPTIONAL,
+ ...
+ }
+
+ IndAudLocalControlDescriptor ::= SEQUENCE
+ {
+ streamMode [0] IMPLICIT NULL OPTIONAL,
+ reserveValue [1] IMPLICIT NULL OPTIONAL,
+ reserveGroup [2] IMPLICIT NULL OPTIONAL,
+ propertyParms [3] IMPLICIT IndAudPropertyParms OPTIONAL,
+ ...
+ }
+
+ IndAudPropertyParm ::= SEQUENCE
+ {
+ name [0] IMPLICIT PkgdName,
+ ...
+ }
+
+ IndAudPropertyParms ::= SEQUENCE OF IndAudPropertyParm
+
+ IndAudLocalRemoteDescriptor ::= SEQUENCE
+ {
+ propGroupID [0] IMPLICIT INTEGER(0..65535) OPTIONAL,
+ propGrps [1] IMPLICIT IndAudPropertyGroup,
+ ...
+ }
+
+ IndAudPropertyGroup ::= SEQUENCE OF IndAudPropertyParm
+
+ IndAudTerminationStateDescriptor ::= SEQUENCE
+ {
+ propertyParms [0] IMPLICIT IndAudPropertyParms,
+ eventBufferControl [1] IMPLICIT NULL OPTIONAL,
+ serviceState [2] IMPLICIT NULL OPTIONAL,
+ ...
+ }
+
+ IndAudEventsDescriptor ::= SEQUENCE
+ {
+ requestID [0] IMPLICIT RequestID OPTIONAL,
+ pkgdName [1] IMPLICIT PkgdName,
+ streamID [2] IMPLICIT StreamID OPTIONAL,
+ ...
+ }
+
+ IndAudEventBufferDescriptor ::= SEQUENCE
+ {
+ eventName [0] IMPLICIT PkgdName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ ...
+ }
+
+ IndAudSignalsDescriptor ::=CHOICE
+ {
+ signal [0] IMPLICIT IndAudSignal,
+ seqSigList [1] IMPLICIT IndAudSeqSigList,
+ ...
+ }
+
+ IndAudSeqSigList ::= SEQUENCE
+ {
+ id [0] IMPLICIT INTEGER(0..65535),
+ signalList [1] IMPLICIT IndAudSignal OPTIONAL
+ }
+
+ IndAudSignal ::= SEQUENCE
+ {
+ signalName [0] IMPLICIT PkgdName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ ...
+ }
+
+ IndAudDigitMapDescriptor ::= SEQUENCE
+ {
+ digitMapName [0] IMPLICIT DigitMapName OPTIONAL
+ }
+
+ IndAudStatisticsDescriptor ::= SEQUENCE
+ {
+ statName [0] IMPLICIT PkgdName
+ }
+
+ IndAudPackagesDescriptor ::= SEQUENCE
+ {
+ packageName [0] IMPLICIT Name,
+ packageVersion [1] IMPLICIT INTEGER(0..99),
+ ...
+ }
+
+ NotifyRequest ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ observedEventsDescriptor [1] IMPLICIT ObservedEventsDescriptor,
+ errorDescriptor [2] IMPLICIT ErrorDescriptor OPTIONAL,
+ ...
+ }
+
+ NotifyReply ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ errorDescriptor [1] IMPLICIT ErrorDescriptor OPTIONAL,
+ ...
+ }
+
+ ObservedEventsDescriptor ::= SEQUENCE
+ {
+ requestId [0] IMPLICIT RequestID,
+ observedEventLst [1] IMPLICIT SEQUENCE OF ObservedEvent
+ }
+
+ ObservedEvent ::= SEQUENCE
+ {
+ eventName [0] IMPLICIT EventName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ eventParList [2] IMPLICIT EventParameters,
+ timeNotation [3] IMPLICIT TimeNotation OPTIONAL,
+ ...
+ }
+
+ EventName ::= OCTET STRING
+
+ ExtraInfo ::= CHOICE
+ {
+ relation [0] IMPLICIT Relation,
+ range [1] IMPLICIT BOOLEAN,
+ sublist [2] IMPLICIT BOOLEAN
+ }
+
+ EventParameter ::= SEQUENCE
+ {
+ eventParameterName [0] IMPLICIT EventParameterName,
+ eventParamValue [1] IMPLICIT EventParamValues,
+
+ -- For use of extraInfo see the comment related to PropertyParm
+ extraInfo [2] ExtraInfo OPTIONAL,
+ ...
+
+ }
+
+ EventParameterName ::= Name
+
+ EventParamValues ::= SEQUENCE OF EventParamValue
+
+ EventParamValue ::= OCTET STRING
+
+ EventParameters ::= SEQUENCE OF EventParameter
+
+ ServiceChangeRequest ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ serviceChangeParms [1] IMPLICIT ServiceChangeParm,
+ ...
+ }
+
+ ServiceChangeReply ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ serviceChangeResult [1] ServiceChangeResult,
+ ...
+ }
+
+ -- For ServiceChangeResult, no parameters are mandatory. Hence the
+ -- distinction between ServiceChangeParm and ServiceChangeResParm.
+
+ ServiceChangeResult ::= CHOICE
+ {
+ errorDescriptor [0] IMPLICIT ErrorDescriptor,
+ serviceChangeResParms [1] IMPLICIT ServiceChangeResParm
+ }
+
+ WildcardField ::= OCTET STRING(SIZE(1))
+
+ TerminationID ::= SEQUENCE
+ {
+ wildcard [0] IMPLICIT SEQUENCE OF WildcardField,
+ id [1] IMPLICIT OCTET STRING(SIZE(1..8)),
+ ...
+ }
+ -- See A.1 for explanation of wildcarding mechanism.
+ -- Termination ID 0xFFFFFFFFFFFFFFFF indicates the ROOT Termination.
+
+ TerminationIDList ::= SEQUENCE OF TerminationID
+
+
+ MediaDescriptor ::= SEQUENCE
+ {
+ termStateDescr [0] IMPLICIT TerminationStateDescriptor OPTIONAL,
+ streams [1] CHOICE
+ {
+ oneStream [0] IMPLICIT StreamParms,
+ multiStream [1] IMPLICIT SEQUENCE OF StreamDescriptor
+ } OPTIONAL,
+ ...
+ }
+
+ StreamDescriptor ::= SEQUENCE
+ {
+ streamID [0] IMPLICIT StreamID,
+ streamParms [1] IMPLICIT StreamParms
+ }
+
+ StreamParms ::= SEQUENCE
+ {
+ localControlDescriptor [0] IMPLICIT LocalControlDescriptor OPTIONAL,
+ localDescriptor [1] IMPLICIT LocalRemoteDescriptor OPTIONAL,
+ remoteDescriptor [2] IMPLICIT LocalRemoteDescriptor OPTIONAL,
+ ...
+ }
+
+ LocalControlDescriptor ::= SEQUENCE
+ {
+ streamMode [0] IMPLICIT StreamMode OPTIONAL,
+ reserveValue [1] IMPLICIT BOOLEAN OPTIONAL,
+ reserveGroup [2] IMPLICIT BOOLEAN OPTIONAL,
+ propertyParms [3] IMPLICIT PropertyParms,
+ ...
+ }
+
+ StreamMode ::= ENUMERATED
+ {
+ sendOnly(0),
+ recvOnly(1),
+ sendRecv(2),
+ inactive(3),
+ loopBack(4),
+ ...
+ }
+
+ -- In PropertyParm, value is a SEQUENCE OF octet string. When sent
+ -- by an MGC the interpretation is as follows:
+ -- empty sequence means CHOOSE
+ -- one element sequence specifies value
+ -- If the sublist field is not selected, a longer sequence means
+ -- "choose one of the values" (i.e. value1 OR value2 OR ...)
+ -- If the sublist field is selected,
+ -- a sequence with more than one element encodes the value of a
+ -- list-valued property (i.e. value1 AND value2 AND ...).
+ -- The relation field may only be selected if the value sequence
+ -- has length 1. It indicates that the MG has to choose a value
+ -- for the property. E.g. x > 3 (using the greaterThan
+ -- value for relation) instructs the MG to choose any value larger
+ -- than 3 for property x.
+ -- The range field may only be selected if the value sequence
+ -- has length 2. It indicates that the MG has to choose a value
+ -- in the range between the first octet in the value sequence and
+ -- the trailing octet in the value sequence, including the
+ -- boundary values.
+ -- When sent by the MG, only responses to an AuditCapability request
+ -- may contain multiple values, a range, or a relation field.
+
+ PropertyParm ::= SEQUENCE
+ {
+ propertyName [0] IMPLICIT PkgdName,
+ value [1] IMPLICIT SEQUENCE OF PropertyID,
+ extraInfo [2] ExtraInfo OPTIONAL,
+ ...
+ }
+
+ PropertyParms ::= SEQUENCE OF PropertyParm
+
+ Name ::= OCTET STRING(SIZE(2))
+
+ PkgdName ::= OCTET STRING(SIZE(4))
+ -- represents Package Name (2 octets) plus Property, Event,
+ -- Signal Names or Statistics ID. (2 octets)
+ -- To wildcard a package use 0xFFFF for first two octets, choose
+ -- is not allowed. To reference native property tag specified in
+ -- Annex C, use 0x0000 as first two octets.
+ -- To wildcard a Property, Event, Signal, or Statistics ID, use
+ -- 0xFFFF for last two octets, choose is not allowed.
+ -- Wildcarding of Package Name is permitted only if Property,
+ -- Event, Signal, or Statistics ID are
+ -- also wildcarded.
+ PropertyID ::= OCTET STRING
+
+ Relation ::= ENUMERATED
+ {
+ greaterThan(0),
+ smallerThan(1),
+ unequalTo(2),
+ ...
+ }
+
+ LocalRemoteDescriptor ::= SEQUENCE
+ {
+ propGrps [0] IMPLICIT SEQUENCE OF PropertyGroup,
+ ...
+ }
+
+ PropertyGroup ::= SEQUENCE OF PropertyParm
+
+ TerminationStateDescriptor ::= SEQUENCE
+ {
+ propertyParms [0] IMPLICIT PropertyParms,
+ eventBufferControl [1] IMPLICIT EventBufferControl OPTIONAL,
+ serviceState [2] IMPLICIT ServiceState OPTIONAL,
+ ...
+ }
+
+ EventBufferControl ::= ENUMERATED
+ {
+ off(0),
+ lockStep(1),
+ ...
+ }
+
+ ServiceState ::= ENUMERATED
+ {
+ test(0),
+ outOfSvc(1),
+ inSvc(2),
+ ...
+ }
+
+ MuxDescriptor ::= SEQUENCE
+ {
+ muxType [0] IMPLICIT MuxType,
+ termList [1] IMPLICIT SEQUENCE OF TerminationID,
+ nonStandardData [2] IMPLICIT NonStandardData OPTIONAL,
+ ...
+ }
+
+ MuxType ::= ENUMERATED
+ {
+ h221(0),
+ h223(1),
+ h226(2),
+ v76(3),
+ ...,
+ nx64k(4)
+ }
+
+ StreamID ::= INTEGER(0..65535) -- 16-bit unsigned integer
+
+ EventsDescriptor ::= SEQUENCE
+ {
+ requestID [0] IMPLICIT RequestID OPTIONAL,
+ -- RequestID must be present if eventList
+ -- is non empty
+ eventList [1] IMPLICIT RequestedEvents,
+ ...
+ }
+
+ RequestedEvent ::= SEQUENCE
+ {
+ pkgdName [0] IMPLICIT EventName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ eventAction [2] IMPLICIT RequestedActions OPTIONAL,
+ evParList [3] IMPLICIT EventParameters,
+ ...
+ }
+
+ RequestedEvents ::= SEQUENCE OF RequestedEvent
+
+ RequestedActions ::= SEQUENCE
+ {
+ keepActive [0] IMPLICIT BOOLEAN OPTIONAL,
+ eventDM [1] EventDM OPTIONAL,
+ secondEvent [2] IMPLICIT SecondEventsDescriptor OPTIONAL,
+ signalsDescriptor [3] IMPLICIT SignalsDescriptor OPTIONAL,
+ ...
+ }
+
+ EventDM ::= CHOICE
+ {
+ digitMapName [0] IMPLICIT DigitMapName,
+ digitMapValue [1] IMPLICIT DigitMapValue
+ }
+
+ SecondEventsDescriptor ::= SEQUENCE
+ {
+ requestID [0] IMPLICIT RequestID OPTIONAL,
+ eventList [1] IMPLICIT SEQUENCE OF SecondRequestedEvent,
+ ...
+ }
+
+ SecondRequestedEvent ::= SEQUENCE
+ {
+ pkgdName [0] IMPLICIT EventName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ eventAction [2] IMPLICIT SecondRequestedActions OPTIONAL,
+ evParList [3] IMPLICIT EventParameters,
+ ...
+ }
+
+ SecondRequestedActions ::= SEQUENCE
+ {
+ keepActive [0] IMPLICIT BOOLEAN OPTIONAL,
+ eventDM [1] EventDM OPTIONAL,
+ signalsDescriptor [2] IMPLICIT SignalsDescriptor OPTIONAL,
+ ...
+ }
+
+ EventBufferDescriptor ::= SEQUENCE OF EventSpec
+
+ EventSpec ::= SEQUENCE
+ {
+ eventName [0] IMPLICIT EventName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ eventParList [2] IMPLICIT EventParameters,
+ ...
+ }
+
+
+ SignalsDescriptor ::= SEQUENCE OF SignalRequest
+
+ SignalRequest ::= CHOICE
+ {
+ signal [0] IMPLICIT Signal,
+ seqSigList [1] IMPLICIT SeqSigList,
+ ...
+ }
+
+ SeqSigList ::= SEQUENCE
+ {
+ id [0] IMPLICIT INTEGER(0..65535),
+ signalList [1] IMPLICIT SEQUENCE OF Signal
+ }
+
+ Signal ::= SEQUENCE
+ {
+ signalName [0] IMPLICIT SignalName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ sigType [2] IMPLICIT SignalType OPTIONAL,
+ duration [3] IMPLICIT INTEGER (0..65535) OPTIONAL,
+ notifyCompletion [4] IMPLICIT NotifyCompletion OPTIONAL,
+ keepActive [5] IMPLICIT BOOLEAN OPTIONAL,
+ sigParList [6] IMPLICIT SEQUENCE OF SigParameter,
+ ...
+ }
+
+ SignalType ::= ENUMERATED
+ {
+ brief(0),
+ onOff(1),
+ timeOut(2),
+ ...
+ }
+
+ SignalName ::= OCTET STRING
+
+ NotifyCompletion ::= BIT STRING
+ {
+ onTimeOut(0), onInterruptByEvent(1),
+ onInterruptByNewSignalDescr(2), otherReason(3)
+ }
+
+ SigParameter ::= SEQUENCE
+ {
+ sigParameterName [0] IMPLICIT SigParameterName,
+ sigParameterValue [1] IMPLICIT SigParamValues,
+ -- For use of extraInfo see the comment related to PropertyParm
+ extraInfo [2] ExtraInfo OPTIONAL,
+ ...
+ }
+
+ SigParameterName ::= Name
+
+ SigParamValues ::= SEQUENCE OF SigParamValue
+
+ SigParamValue ::= OCTET STRING
+
+ -- For an AuditCapReply with all events, the RequestID SHALL be ALL.
+ -- ALL is represented by 0xffffffff.
+
+ RequestID ::= INTEGER(0..4294967295) -- 32-bit unsigned integer
+
+ ModemDescriptor ::= SEQUENCE
+ {
+ mtl [0] IMPLICIT SEQUENCE OF ModemType,
+ mpl [1] IMPLICIT PropertyParms,
+ nonStandardData [2] IMPLICIT NonStandardData OPTIONAL
+ }
+
+ ModemType ::= ENUMERATED
+ {
+ v18(0),
+ v22(1),
+ v22bis(2),
+ v32(3),
+ v32bis(4),
+ v34(5),
+ v90(6),
+ v91(7),
+ synchISDN(8),
+ ...
+ }
+
+ DigitMapDescriptor ::= SEQUENCE
+ {
+ digitMapName [0] IMPLICIT DigitMapName OPTIONAL,
+ digitMapValue [1] IMPLICIT DigitMapValue OPTIONAL
+ }
+
+ DigitMapName ::= Name
+
+ DigitMapValue ::= SEQUENCE
+ {
+ startTimer [0] IMPLICIT INTEGER(0..99) OPTIONAL,
+ shortTimer [1] IMPLICIT INTEGER(0..99) OPTIONAL,
+ longTimer [2] IMPLICIT INTEGER(0..99) OPTIONAL,
+ digitMapBody [3] IMPLICIT IA5String,
+ -- Units are seconds for start, short and long timers, and
+ -- hundreds of milliseconds for duration timer. Thus start,
+ -- short, and long range from 1 to 99 seconds and duration
+ -- from 100 ms to 9.9 s
+ -- See A.3 for explanation of digit map syntax
+ ...,
+ durationTimer [4] IMPLICIT INTEGER (0..99) OPTIONAL
+ }
+
+ ServiceChangeParm ::= SEQUENCE
+ {
+ serviceChangeMethod [0] IMPLICIT ServiceChangeMethod,
+ serviceChangeAddress [1] ServiceChangeAddress OPTIONAL,
+ serviceChangeVersion [2] IMPLICIT INTEGER(0..99) OPTIONAL,
+ serviceChangeProfile [3] IMPLICIT ServiceChangeProfile OPTIONAL,
+ serviceChangeReason [4] IMPLICIT Value,
+ -- A serviceChangeReason consists of a numeric reason code
+ -- and an optional text description.
+ -- The serviceChangeReason SHALL be a string consisting of
+ -- a decimal reason code, optionally followed by a single
+ -- space character and a textual description string.
+ -- This string is first BER-encoded as an IA5String.
+ -- The result of this BER-encoding is then encoded as
+ -- an ASN.1 OCTET STRING type, "double wrapping" the
+ -- value
+ -- as was done for package elements.
+ serviceChangeDelay [5] IMPLICIT INTEGER(0..4294967295) OPTIONAL,
+ -- 32-bit unsigned integer
+ serviceChangeMgcId [6] MId OPTIONAL,
+ timeStamp [7] IMPLICIT TimeNotation OPTIONAL,
+ nonStandardData [8] IMPLICIT NonStandardData OPTIONAL,
+ ...,
+ serviceChangeInfo [9] IMPLICIT AuditDescriptor OPTIONAL
+ }
+
+ ServiceChangeAddress ::= CHOICE
+ {
+ portNumber [0] IMPLICIT INTEGER(0..65535), -- TCP/UDP port number
+ ip4Address [1] IMPLICIT IP4Address,
+ ip6Address [2] IMPLICIT IP6Address,
+ domainName [3] IMPLICIT DomainName,
+ deviceName [4] IMPLICIT PathName,
+ mtpAddress [5] IMPLICIT MtpAddress,
+ ...
+ }
+
+ ServiceChangeResParm ::= SEQUENCE
+ {
+ serviceChangeMgcId [0] MId OPTIONAL,
+ serviceChangeAddress [1] ServiceChangeAddress OPTIONAL,
+ serviceChangeVersion [2] IMPLICIT INTEGER(0..99) OPTIONAL,
+ serviceChangeProfile [3] IMPLICIT ServiceChangeProfile OPTIONAL,
+ timestamp [4] IMPLICIT TimeNotation OPTIONAL,
+ ...
+ }
+
+ ServiceChangeMethod ::= ENUMERATED
+ {
+ failover(0),
+ forced(1),
+ graceful(2),
+ restart(3),
+ disconnected(4),
+ handOff(5),
+ ...
+ }
+
+ ServiceChangeProfile ::= SEQUENCE
+ {
+ profileName [0] IMPLICIT IA5String(SIZE (1..67))
+
+ -- 64 characters for name, 1 for "/", 2 for version to match ABNF
+ }
+
+ PackagesDescriptor ::= SEQUENCE OF PackagesItem
+
+ PackagesItem ::= SEQUENCE
+ {
+ packageName [0] IMPLICIT Name,
+ packageVersion [1] IMPLICIT INTEGER(0..99),
+ ...
+ }
+
+ StatisticsDescriptor ::= SEQUENCE OF StatisticsParameter
+
+ StatisticsParameter ::= SEQUENCE
+ {
+ statName [0] IMPLICIT PkgdName,
+ statValue [1] IMPLICIT Value OPTIONAL
+ }
+
+ NonStandardData ::= SEQUENCE
+ {
+ nonStandardIdentifier [0] NonStandardIdentifier,
+ data [1] IMPLICIT OCTET STRING
+ }
+
+ NonStandardIdentifier ::= CHOICE
+ {
+ object [0] IMPLICIT OBJECT IDENTIFIER,
+ h221NonStandard [1] IMPLICIT H221NonStandard,
+ experimental [2] IMPLICIT IA5String(SIZE(8)),
+ -- first two characters SHOULD be "X-" or "X+"
+ ...
+ }
+
+ H221NonStandard ::= SEQUENCE
+ { t35CountryCode1 [0] IMPLICIT INTEGER(0..255),
+ t35CountryCode2 [1] IMPLICIT INTEGER(0..255), -- country, as per T.35
+ t35Extension [2] IMPLICIT INTEGER(0..255), -- assigned nationally
+ manufacturerCode [3] IMPLICIT INTEGER(0..65535), -- assigned nationally
+ ...
+ }
+
+ TimeNotation ::= SEQUENCE
+ {
+ date [0] IMPLICIT IA5String(SIZE(8)), -- yyyymmdd format
+ time [1] IMPLICIT IA5String(SIZE(8)) -- hhmmssss format
+ -- per ISO 8601:1988
+ }
+
+ Value ::= SEQUENCE OF OCTET STRING
+
+ END