blob: 9d2ab4bcdb0d75c5c0a883d34bdcf91014e21667 [file] [log] [blame]
--/////////////////////////////////////////////////////////////////////////////
-- Copyright (c) 2000-2019 Ericsson Telecom AB
-- All rights reserved. This program and the accompanying materials
-- are made available under the terms of the Eclipse Public License v2.0
-- which accompanies this distribution, and is available at
-- https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
--
-- Contributors:
-- Janos Zoltan Szabo - initial implementation
--
--/////////////////////////////////////////////////////////////////////////////
--
-- File: GCP_PDU_Defs.asn
-- Rev: <RnXnn>
-- Updated: 2012-11-12
-- Prodnr: CNL 113 364
-- Contact: http://ttcn.ericsson.se
--/////////////////////////////////////////////////////////////////////////////
GCP-PDU-Defs {itu-t(0) identified-organization (4) etsi(0) reserved(127) etsi-identified-organization(0) ericsson(5) testing (0) ip(7) gcp(0) version0600(1) pduDefinitions(1) patchNo(1) }
DEFINITIONS AUTOMATIC TAGS::=
BEGIN
IMPORTS ;
-- ethekr , copied ASN1 section from GCP_ASN1_31r1 specification
-- ethekr , added error codes from previous ASN.1 file
-- ethekr, changed 32 bit integers to octetstring
-- ethekr, "value" changed to "valueField" in EventParameter, PropertyParm,SigParameter
-- ethekr, "optional" cnanged to "optionalField" in CommandRequest
-- ethgasz added IMPORTS; and address changed to addressField
MegacoMessage ::= SEQUENCE
{
authHeader AuthenticationHeader OPTIONAL,
mess Message
}
AuthenticationHeader ::= SEQUENCE
{
secParmIndex SecurityParmIndex,
seqNum SequenceNum,
ad AuthData
}
SecurityParmIndex ::= OCTET STRING(SIZE(4))
SequenceNum ::= OCTET STRING(SIZE(4))
AuthData ::= OCTET STRING (SIZE (12..32))
Message ::= SEQUENCE
{
version INTEGER(0..99),
-- The version of the protocol defined here is equal to 2.
mId MId, -- Name/address of message originator
messageBody CHOICE
{
messageError ErrorDescriptor,
transactions SEQUENCE OF Transaction
},
...
}
MId ::= CHOICE
{
ip4Address IP4Address,
ip6Address IP6Address,
domainName DomainName,
deviceName PathName,
mtpAddress OCTET STRING(SIZE(2..4)),
-- 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.
...
}
DomainName ::= SEQUENCE
{
name 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 INTEGER(0..65535) OPTIONAL
}
IP4Address ::= SEQUENCE
{
addressField OCTET STRING (SIZE(4)),
portNumber INTEGER(0..65535) OPTIONAL
}
IP6Address ::= SEQUENCE
{
addressField OCTET STRING (SIZE(16)),
portNumber INTEGER(0..65535) OPTIONAL
}
PathName ::= IA5String(SIZE (1..64))
-- See section
Transaction ::= CHOICE
{
transactionRequest TransactionRequest,
transactionPending TransactionPending,
transactionReply TransactionReply,
transactionResponseAck TransactionResponseAck,
-- use of response acks is dependent on underlying transport
...
}
TransactionId ::= OCTET STRING (SIZE(1..5))
-- ethekr changed from INTEGER(0..4294967295)
-- 32 bit unsigned integer
TransactionRequest ::= SEQUENCE
{
transactionId TransactionId,
actions SEQUENCE OF ActionRequest,
...
}
TransactionPending ::= SEQUENCE
{
transactionId TransactionId,
...
}
TransactionReply ::= SEQUENCE
{
transactionId TransactionId,
immAckRequired NULL OPTIONAL,
transactionResult CHOICE
{
transactionError ErrorDescriptor,
actionReplies SEQUENCE OF ActionReply
},
...
}
TransactionResponseAck ::= SEQUENCE OF TransactionAck
TransactionAck ::= SEQUENCE
{
firstAck TransactionId,
lastAck TransactionId OPTIONAL
}
ErrorDescriptor ::= SEQUENCE
{
errorCode ErrorCode,
errorText ErrorText OPTIONAL
}
ErrorCode ::= INTEGER(0..65535)
-- See section 13 for IANA considerations with respect to error codes
ErrorText ::= IA5String
ContextID ::= OCTET STRING (SIZE(1..5))
-- ethekr changed from
-- INTEGER(0..4294967295)
-- Context NULL Value: 0
-- Context CHOOSE Value: 4294967294 (0xFFFFFFFE)
-- Context ALL Value: 4294967295 (0xFFFFFFFF)
ActionRequest ::= SEQUENCE
{
contextId ContextID,
contextRequest ContextRequest OPTIONAL,
contextAttrAuditReq ContextAttrAuditRequest OPTIONAL,
commandRequests SEQUENCE OF CommandRequest
}
ActionReply ::= SEQUENCE
{
contextId ContextID,
errorDescriptor ErrorDescriptor OPTIONAL,
contextReply ContextRequest OPTIONAL,
commandReply SEQUENCE OF CommandReply
}
ContextRequest ::= SEQUENCE
{
priority INTEGER(0..15) OPTIONAL,
emergency BOOLEAN OPTIONAL,
topologyReq SEQUENCE OF TopologyRequest OPTIONAL,
...
}
ContextAttrAuditRequest ::= SEQUENCE
{
topology NULL OPTIONAL,
emergency NULL OPTIONAL,
priority NULL OPTIONAL,
...
}
CommandRequest ::= SEQUENCE
{
command Command,
optionalField NULL OPTIONAL,
wildcardReturn NULL OPTIONAL,
...
}
Command ::= CHOICE
{
addReq AmmRequest,
moveReq AmmRequest,
modReq AmmRequest,
-- Add, Move, Modify requests have the same parameters
subtractReq SubtractRequest,
auditCapRequest AuditRequest,
auditValueRequest AuditRequest,
notifyReq NotifyRequest,
serviceChangeReq ServiceChangeRequest,
...
}
CommandReply ::= CHOICE
{
addReply AmmsReply,
moveReply AmmsReply,
modReply AmmsReply,
subtractReply AmmsReply,
-- Add, Move, Modify, Subtract replies have the same parameters
auditCapReply AuditReply,
auditValueReply AuditReply,
notifyReply NotifyReply,
serviceChangeReply ServiceChangeReply,
...
}
TopologyRequest ::= SEQUENCE
{
terminationFrom TerminationID,
terminationTo TerminationID,
topologyDirection ENUMERATED
{
bothway(0),
isolate(1),
oneway(2)
},
--...,
streamID StreamID OPTIONAL
}
AmmRequest ::= SEQUENCE
{
terminationID TerminationIDList,
descriptors SEQUENCE OF AmmDescriptor,
-- At most one descriptor of each type (see AmmDescriptor)
-- allowed in the sequence.
...
}
AmmDescriptor ::= CHOICE
{
mediaDescriptor MediaDescriptor,
modemDescriptor ModemDescriptor,
muxDescriptor MuxDescriptor,
eventsDescriptor EventsDescriptor,
eventBufferDescriptor EventBufferDescriptor,
signalsDescriptor SignalsDescriptor,
digitMapDescriptor DigitMapDescriptor,
auditDescriptor AuditDescriptor,
...
}
AmmsReply ::= SEQUENCE
{
terminationID TerminationIDList,
terminationAudit TerminationAudit OPTIONAL,
...
}
SubtractRequest ::= SEQUENCE
{
terminationID TerminationIDList,
auditDescriptor AuditDescriptor OPTIONAL,
...
}
AuditRequest ::= SEQUENCE
{
terminationID TerminationID,
auditDescriptor AuditDescriptor,
...
}
AuditReply ::= CHOICE
{
contextAuditResult TerminationIDList,
errorDescriptor ErrorDescriptor,
auditResult AuditResult,
...
}
AuditResult ::= SEQUENCE
{
terminationID TerminationID,
terminationAuditResult TerminationAudit
}
TerminationAudit ::= SEQUENCE OF AuditReturnParameter
AuditReturnParameter ::= CHOICE
{
errorDescriptor ErrorDescriptor,
mediaDescriptor MediaDescriptor,
modemDescriptor ModemDescriptor,
muxDescriptor MuxDescriptor,
eventsDescriptor EventsDescriptor,
eventBufferDescriptor EventBufferDescriptor,
signalsDescriptor SignalsDescriptor,
digitMapDescriptor DigitMapDescriptor,
observedEventsDescriptor ObservedEventsDescriptor,
statisticsDescriptor StatisticsDescriptor,
packagesDescriptor PackagesDescriptor,
emptyDescriptors AuditDescriptor,
...
}
AuditDescriptor ::= SEQUENCE
{
auditToken BIT STRING
{
muxToken(0), modemToken(1), mediaToken(2),
eventsToken(3), signalsToken(4),
digitMapToken(5), statsToken(6),
observedEventsToken(7),
packagesToken(8), eventBufferToken(9)
} OPTIONAL,
...,
auditPropertyToken SEQUENCE OF IndAuditParameter OPTIONAL
}
IndAuditParameter ::= CHOICE
{
indaudmediaDescriptor IndAudMediaDescriptor,
indaudeventsDescriptor IndAudEventsDescriptor,
indaudeventBufferDescriptor IndAudEventBufferDescriptor,
indaudsignalsDescriptor IndAudSignalsDescriptor,
indauddigitMapDescriptor IndAudDigitMapDescriptor,
indaudstatisticsDescriptor IndAudStatisticsDescriptor,
indaudpackagesDescriptor IndAudPackagesDescriptor,
...
}
IndAudMediaDescriptor ::= SEQUENCE
{
termStateDescr IndAudTerminationStateDescriptor OPTIONAL,
streams CHOICE
{
oneStream IndAudStreamParms,
multiStream SEQUENCE OF IndAudStreamDescriptor
} OPTIONAL,
...
}
IndAudStreamDescriptor ::= SEQUENCE
{
streamID StreamID,
streamParms IndAudStreamParms
}
IndAudStreamParms ::= SEQUENCE
{
localControlDescriptor IndAudLocalControlDescriptor OPTIONAL,
localDescriptor IndAudLocalRemoteDescriptor OPTIONAL,
remoteDescriptor IndAudLocalRemoteDescriptor OPTIONAL,
...
}
IndAudLocalControlDescriptor ::= SEQUENCE
{
streamMode NULL OPTIONAL,
reserveValue NULL OPTIONAL,
reserveGroup NULL OPTIONAL,
propertyParms SEQUENCE OF IndAudPropertyParm OPTIONAL,
...
}
IndAudPropertyParm ::= SEQUENCE
{
name PkgdName,
...
}
IndAudLocalRemoteDescriptor ::= SEQUENCE
{
propGroupID INTEGER(0..65535) OPTIONAL,
propGrps IndAudPropertyGroup,
...
}
IndAudPropertyGroup ::= SEQUENCE OF IndAudPropertyParm
IndAudTerminationStateDescriptor ::= SEQUENCE
{
propertyParms SEQUENCE OF IndAudPropertyParm,
eventBufferControl NULL OPTIONAL,
serviceState NULL OPTIONAL,
...
}
IndAudEventsDescriptor ::= SEQUENCE
{
requestID RequestID OPTIONAL,
pkgdName PkgdName,
streamID StreamID OPTIONAL,
...
}
IndAudEventBufferDescriptor ::= SEQUENCE
{
eventName PkgdName,
streamID StreamID OPTIONAL,
...
}
IndAudSignalsDescriptor ::=CHOICE
{
signal IndAudSignal,
seqSigList IndAudSeqSigList,
...
}
IndAudSeqSigList ::= SEQUENCE
{
id INTEGER(0..65535),
signalList IndAudSignal OPTIONAL
}
IndAudSignal ::= SEQUENCE
{
signalName PkgdName,
streamID StreamID OPTIONAL,
...
}
IndAudDigitMapDescriptor ::= SEQUENCE
{
digitMapName DigitMapName OPTIONAL
}
IndAudStatisticsDescriptor ::= SEQUENCE
{
statName PkgdName
}
IndAudPackagesDescriptor ::= SEQUENCE
{
packageName Name,
packageVersion INTEGER(0..99),
...
}
NotifyRequest ::= SEQUENCE
{
terminationID TerminationIDList,
observedEventsDescriptor ObservedEventsDescriptor,
errorDescriptor ErrorDescriptor OPTIONAL,
...
}
NotifyReply ::= SEQUENCE
{
terminationID TerminationIDList,
errorDescriptor ErrorDescriptor OPTIONAL,
...
}
ObservedEventsDescriptor ::= SEQUENCE
{
requestId RequestID,
observedEventLst SEQUENCE OF ObservedEvent
}
ObservedEvent ::= SEQUENCE
{
eventName EventName,
streamID StreamID OPTIONAL,
eventParList SEQUENCE OF EventParameter,
timeNotation TimeNotation OPTIONAL,
...
}
EventName ::= PkgdName
EventParameter ::= SEQUENCE
{
eventParameterName Name,
valueField Value,
-- For use of extraInfo see the comment related to PropertyParm
extraInfo CHOICE
{
relation Relation,
range BOOLEAN,
sublist BOOLEAN
} OPTIONAL,
...
}
ServiceChangeRequest ::= SEQUENCE
{
terminationID TerminationIDList,
serviceChangeParms ServiceChangeParm,
...
}
ServiceChangeReply ::= SEQUENCE
{
terminationID TerminationIDList,
serviceChangeResult ServiceChangeResult,
...
}
-- For ServiceChangeResult, no parameters are mandatory. Hence the
-- distinction between ServiceChangeParm and ServiceChangeResParm.
ServiceChangeResult ::= CHOICE
{
errorDescriptor ErrorDescriptor,
serviceChangeResParms ServiceChangeResParm
}
WildcardField ::= OCTET STRING(SIZE(1))
TerminationID ::= SEQUENCE
{
wildcard SEQUENCE OF WildcardField,
id OCTET STRING (SIZE(1..8)),
...
}
-- See Section for explanation of wildcarding mechanism.
-- Termination ID 0xFFFFFFFFFFFFFFFF indicates the ROOT Termination.
TerminationIDList ::= SEQUENCE OF TerminationID
MediaDescriptor ::= SEQUENCE
{
termStateDescr TerminationStateDescriptor OPTIONAL,
streams MediaDescriptorStreams OPTIONAL,
...
}
-- added by ethcky beacuse of the tool
MediaDescriptorStreams ::= CHOICE
{
oneStream StreamParms,
multiStream SEQUENCE OF StreamDescriptor
}
StreamDescriptor ::= SEQUENCE
{
streamID StreamID,
streamParms StreamParms
}
StreamParms ::= SEQUENCE
{
localControlDescriptor LocalControlDescriptor OPTIONAL,
localDescriptor LocalRemoteDescriptor OPTIONAL,
remoteDescriptor LocalRemoteDescriptor OPTIONAL,
...
}
LocalControlDescriptor ::= SEQUENCE
{
streamMode StreamMode OPTIONAL,
reserveValue BOOLEAN OPTIONAL,
reserveGroup BOOLEAN OPTIONAL,
propertyParms SEQUENCE OF PropertyParm,
...
}
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
{
name PkgdName,
valueField SEQUENCE OF OCTET STRING,
extraInfo CHOICE
{
relation Relation,
range BOOLEAN,
sublist BOOLEAN
} OPTIONAL,
...
}
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 is
-- also wildcarded.
SDP-IA5String ::= IA5String
Relation ::= ENUMERATED
{
greaterThan(0),
smallerThan(1),
unequalTo(2),
...
}
LocalRemoteDescriptor ::= SEQUENCE
{
propGrps SEQUENCE OF PropertyGroup,
...
}
PropertyGroup ::= SEQUENCE OF PropertyParm
TerminationStateDescriptor ::= SEQUENCE
{
propertyParms SEQUENCE OF PropertyParm,
eventBufferControl EventBufferControl OPTIONAL,
serviceState ServiceState OPTIONAL,
...
}
EventBufferControl ::= ENUMERATED
{
off(0),
lockStep(1),
...
}
ServiceState ::= ENUMERATED
{
test(0),
outOfSvc(1),
inSvc(2),
...
}
MuxDescriptor ::= SEQUENCE
{
muxType MuxType,
termList SEQUENCE OF TerminationID,
nonStandardData 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 RequestID OPTIONAL,
-- RequestID must be present if eventList
-- is non empty,
eventList SEQUENCE OF RequestedEvent,
...
}
RequestedEvent ::= SEQUENCE
{
pkgdName PkgdName,
streamID StreamID OPTIONAL,
eventAction RequestedActions OPTIONAL,
evParList SEQUENCE OF EventParameter,
...
}
RequestedActions ::= SEQUENCE
{
keepActive BOOLEAN OPTIONAL,
eventDM EventDM OPTIONAL,
secondEvent SecondEventsDescriptor OPTIONAL,
signalsDescriptor SignalsDescriptor OPTIONAL,
...
}
EventDM ::= CHOICE
{ digitMapName DigitMapName,
digitMapValue DigitMapValue
}
SecondEventsDescriptor ::= SEQUENCE
{
requestID RequestID OPTIONAL,
eventList SEQUENCE OF SecondRequestedEvent,
...
}
SecondRequestedEvent ::= SEQUENCE
{
pkgdName PkgdName,
streamID StreamID OPTIONAL,
eventAction SecondRequestedActions OPTIONAL,
evParList SEQUENCE OF EventParameter,
...
}
SecondRequestedActions ::= SEQUENCE
{
keepActive BOOLEAN OPTIONAL,
eventDM EventDM OPTIONAL,
signalsDescriptor SignalsDescriptor OPTIONAL,
...
}
EventBufferDescriptor ::= SEQUENCE OF EventSpec
EventSpec ::= SEQUENCE
{
eventName EventName,
streamID StreamID OPTIONAL,
eventParList SEQUENCE OF EventParameter,
...
}
SignalsDescriptor ::= SEQUENCE OF SignalRequest
SignalRequest ::=CHOICE
{
signal Signal,
seqSigList SeqSigList,
...
}
SeqSigList ::= SEQUENCE
{
id INTEGER(0..65535),
signalList SEQUENCE OF Signal
}
Signal ::= SEQUENCE
{
signalName SignalName,
streamID StreamID OPTIONAL,
sigType SignalType OPTIONAL,
duration INTEGER (0..65535) OPTIONAL,
notifyCompletion NotifyCompletion OPTIONAL,
keepActive BOOLEAN OPTIONAL,
sigParList SEQUENCE OF SigParameter,
...
}
SignalType ::= ENUMERATED
{
brief(0),
onOff(1),
timeOut(2),
...
}
SignalName ::= PkgdName
NotifyCompletion ::= BIT STRING
{
onTimeOut(0), onInterruptByEvent(1),
onInterruptByNewSignalDescr(2), otherReason(3)
}
SigParameter ::= SEQUENCE
{
sigParameterName Name,
valueField Value,
-- For use of extraInfo see the comment related to PropertyParm
extraInfo CHOICE
{
relation Relation,
range BOOLEAN,
sublist BOOLEAN
} OPTIONAL,
...
}
-- For an AuditCapReply with all events, the RequestID SHALL be ALL.
-- ALL is represented by 0xffffffff.
RequestID ::= OCTET STRING (SIZE(1..5))
-- ethekr changed from INTEGER(0..4294967295)
-- 32 bit unsigned integer
ModemDescriptor ::= SEQUENCE
{
mtl SEQUENCE OF ModemType,
mpl SEQUENCE OF PropertyParm,
nonStandardData 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 DigitMapName OPTIONAL,
digitMapValue DigitMapValue OPTIONAL
}
DigitMapName ::= Name
DigitMapValue ::= SEQUENCE
{
startTimer INTEGER(0..99) OPTIONAL,
shortTimer INTEGER(0..99) OPTIONAL,
longTimer INTEGER(0..99) OPTIONAL,
durationTimer INTEGER(0..99) OPTIONAL,
digitMapBody 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 Section for explanation of digit map syntax
...
}
ServiceChangeParm ::= SEQUENCE
{
serviceChangeMethod ServiceChangeMethod,
serviceChangeAddress ServiceChangeAddress OPTIONAL,
serviceChangeVersion INTEGER(0..99) OPTIONAL,
serviceChangeProfile ServiceChangeProfile OPTIONAL,
serviceChangeReason 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 OCTET STRING (SIZE(1..5)) OPTIONAL,
-- ethekr changed from
-- INTEGER(0..4294967295) OPTIONAL,
-- 32 bit unsigned integer
serviceChangeMgcId MId OPTIONAL,
timeStamp TimeNotation OPTIONAL,
nonStandardData NonStandardData OPTIONAL,
...,
serviceChangeInfo AuditDescriptor OPTIONAL
}
ServiceChangeAddress ::= CHOICE
{
portNumber INTEGER(0..65535), -- TCP/UDP port number
ip4Address IP4Address,
ip6Address IP6Address,
domainName DomainName,
deviceName PathName,
mtpAddress OCTET STRING(SIZE(2..4)),
...
}
ServiceChangeResParm ::= SEQUENCE
{
serviceChangeMgcId MId OPTIONAL,
serviceChangeAddress ServiceChangeAddress OPTIONAL,
serviceChangeVersion INTEGER(0..99) OPTIONAL,
serviceChangeProfile ServiceChangeProfile OPTIONAL,
timestamp TimeNotation OPTIONAL,
...
}
ServiceChangeMethod ::= ENUMERATED
{
failover(0),
forced(1),
graceful(2),
restart(3),
disconnected(4),
handOff(5),
...
}
ServiceChangeProfile ::= SEQUENCE
{
profileName IA5String(SIZE (1..67))
-- 64 characters for name, 1 for "/", 2 for version to match ABNF
}
PackagesDescriptor ::= SEQUENCE OF PackagesItem
PackagesItem ::= SEQUENCE
{
packageName Name,
packageVersion INTEGER(0..99),
...
}
StatisticsDescriptor ::= SEQUENCE OF StatisticsParameter
StatisticsParameter ::= SEQUENCE
{
statName PkgdName,
statValue Value OPTIONAL
}
NonStandardData ::= SEQUENCE
{
nonStandardIdentifier NonStandardIdentifier,
data OCTET STRING
}
NonStandardIdentifier ::= CHOICE
{
object OBJECT IDENTIFIER,
h221NonStandard H221NonStandard,
experimental IA5String(SIZE(8)),
-- first two characters should be "X-" or "X+"
...
}
H221NonStandard ::= SEQUENCE
{ t35CountryCode1 INTEGER(0..255),
t35CountryCode2 INTEGER(0..255), -- country, as per T.35
t35Extension INTEGER(0..255), -- assigned nationally
manufacturerCode INTEGER(0..65535), -- assigned nationally
...
}
TimeNotation ::= SEQUENCE
{
date IA5String(SIZE(8)), -- yyyymmdd format
time IA5String(SIZE(8)) -- hhmmssss format
-- per ISO 8601:1988
}
Value ::= SEQUENCE OF OCTET STRING
-- *******************************************************
-- MGC Command Error Codes (Registered IANA codes)
-- Extracted from H.248v2 annex L
-- test suite constants
tsc-errDesc400 ErrorDescriptor ::= {errorCode 400, errorText "Syntax error in message" }
tsc-errDesc401 ErrorDescriptor ::= {errorCode 401, errorText "Protocol Error" }
tsc-errDesc402 ErrorDescriptor ::= {errorCode 402, errorText "Unauthorized" }
tsc-errDesc403 ErrorDescriptor ::= {errorCode 403, errorText "Syntax Error in TransactionRequest" }
tsc-errDesc406 ErrorDescriptor ::= {errorCode 406, errorText "Version Not Supported" }
tsc-errDesc410 ErrorDescriptor ::= {errorCode 410, errorText "Incorrect identifier" }
tsc-errDesc411 ErrorDescriptor ::= {errorCode 411, errorText "The transaction refers to an unknown ContextId" }
tsc-errDesc412 ErrorDescriptor ::= {errorCode 412, errorText "No ContextIDs available" }
tsc-errDesc421 ErrorDescriptor ::= {errorCode 421, errorText "Unknown action or illegal combination of actions" }
tsc-errDesc422 ErrorDescriptor ::= {errorCode 422, errorText "Syntax Error in Action" }
tsc-errDesc430 ErrorDescriptor ::= {errorCode 430, errorText "Unknown TerminationID" }
tsc-errDesc431 ErrorDescriptor ::= {errorCode 431, errorText "No TerminationID matched a wildcard" }
tsc-errDesc432 ErrorDescriptor ::= {errorCode 432, errorText "Out of TerminationIDs or No TerminationID available" }
tsc-errDesc433 ErrorDescriptor ::= {errorCode 433, errorText "TerminationID is already in a Context" }
tsc-errDesc434 ErrorDescriptor ::= {errorCode 434, errorText "Max number of Terminations in a Context exceeded" }
tsc-errDesc435 ErrorDescriptor ::= {errorCode 435, errorText "Termination ID is not in specified Context" }
tsc-errDesc440 ErrorDescriptor ::= {errorCode 440, errorText "Unsupported or unknown Package" }
tsc-errDesc441 ErrorDescriptor ::= {errorCode 441, errorText "Missing Remote or Local Descriptor" }
tsc-errDesc442 ErrorDescriptor ::= {errorCode 442, errorText "Syntax Error in Command" }
tsc-errDesc443 ErrorDescriptor ::= {errorCode 443, errorText "Unsupported or Unknown Command" }
tsc-errDesc444 ErrorDescriptor ::= {errorCode 444, errorText "Unsupported or Unknown Descriptor" }
tsc-errDesc445 ErrorDescriptor ::= {errorCode 445, errorText "Unsupported or Unknown Property" }
tsc-errDesc446 ErrorDescriptor ::= {errorCode 446, errorText "Unsupported or Unknown Parameter" }
tsc-errDesc447 ErrorDescriptor ::= {errorCode 447, errorText "Descriptor not legal in this command" }
tsc-errDesc448 ErrorDescriptor ::= {errorCode 448, errorText "Descriptor appears twice in a command" }
tsc-errDesc450 ErrorDescriptor ::= {errorCode 450, errorText "No such property in this package" }
tsc-errDesc451 ErrorDescriptor ::= {errorCode 451, errorText "No such event in this package" }
tsc-errDesc452 ErrorDescriptor ::= {errorCode 452, errorText "No such signal in this package" }
tsc-errDesc453 ErrorDescriptor ::= {errorCode 453, errorText "No such statistic in this package" }
tsc-errDesc454 ErrorDescriptor ::= {errorCode 454, errorText "No such parameter value in this package" }
tsc-errDesc455 ErrorDescriptor ::= {errorCode 455, errorText "Property illegal in this Descriptor" }
tsc-errDesc456 ErrorDescriptor ::= {errorCode 456, errorText "Property appears twice in this Descriptor" }
tsc-errDesc457 ErrorDescriptor ::= {errorCode 457, errorText "Missing parameter in signal or event" }
tsc-errDesc471 ErrorDescriptor ::= {errorCode 471, errorText "Implied Add for Multiplex failure" }
tsc-errDesc500 ErrorDescriptor ::= {errorCode 500, errorText "Internal software failure in the MG" }
tsc-errDesc501 ErrorDescriptor ::= {errorCode 501, errorText "Not Implemented" }
tsc-errDesc502 ErrorDescriptor ::= {errorCode 502, errorText "Not ready" }
tsc-errDesc503 ErrorDescriptor ::= {errorCode 503, errorText "Service Unavailable" }
tsc-errDesc504 ErrorDescriptor ::= {errorCode 504, errorText "Command Received from unauthorized entity" }
tsc-errDesc505 ErrorDescriptor ::= {errorCode 505, errorText "Command Received before a ServiceChange Reply has been received" }
tsc-errDesc510 ErrorDescriptor ::= {errorCode 510, errorText "Insufficient resources" }
tsc-errDesc512 ErrorDescriptor ::= {errorCode 512, errorText "Media Gateway unequipped to detect requested Event" }
tsc-errDesc513 ErrorDescriptor ::= {errorCode 513, errorText "Media Gateway unequipped to generate requested Signals" }
tsc-errDesc514 ErrorDescriptor ::= {errorCode 514, errorText "Media Gateway cannot send the specified announcement" }
tsc-errDesc515 ErrorDescriptor ::= {errorCode 515, errorText "Unsupported Media Type" }
tsc-errDesc517 ErrorDescriptor ::= {errorCode 517, errorText "Unsupported or invalid mode" }
tsc-errDesc518 ErrorDescriptor ::= {errorCode 518, errorText "Event buffer full" }
tsc-errDesc519 ErrorDescriptor ::= {errorCode 519, errorText "Out of space to store digit map" }
tsc-errDesc520 ErrorDescriptor ::= {errorCode 520, errorText "Digit map undefined in the MG" }
tsc-errDesc521 ErrorDescriptor ::= {errorCode 521, errorText "Termination is ""ServiceChangeing""" }
tsc-errDesc526 ErrorDescriptor ::= {errorCode 526, errorText "Insufficient bandwidth" }
tsc-errDesc529 ErrorDescriptor ::= {errorCode 529, errorText "Internal hardware failure in MG" }
tsc-errDesc530 ErrorDescriptor ::= {errorCode 530, errorText "Temporary Network failure" }
tsc-errDesc531 ErrorDescriptor ::= {errorCode 531, errorText "Permanent Network failure" }
tsc-errDesc532 ErrorDescriptor ::= {errorCode 532, errorText "Audited Property, Statistic, Event or Signal does not exist" }
tsc-errDesc533 ErrorDescriptor ::= {errorCode 533, errorText "Response exceeds maximum transport PDU size" }
tsc-errDesc534 ErrorDescriptor ::= {errorCode 534, errorText "Illegal write of read only property" }
tsc-errDesc540 ErrorDescriptor ::= {errorCode 540, errorText "Unexpected initial hook state" }
tsc-errDesc581 ErrorDescriptor ::= {errorCode 581 ,errorText "Does Not Exist" }
-- *******************************************************
-- Extracted from H.248v1 Annex C
-- C.11 SDP equivalents
-- The SDP equivalents are subject to the SDP exceptions outlined in 7.1.8 for the text encoding of the
-- protocol. For example, the CHOOSE wildcard is allowed to be used in the MGC to MG direction
-- irrespective of the encoding (binary or text) of the protocol.
-- test suite constants
tsc-anxc-generic OCTET STRING ::= '0000'H
tsc-anxc-generic-media OCTET STRING ::= '00001001'H
tsc-SDP-V OCTET STRING ::= '0000B001'H --String Protocol Version
tsc-SDP-O OCTET STRING ::= '0000B002'H -- String Owner/creator and session ID
tsc-SDP-S OCTET STRING ::= '0000B003'H -- String Session name
tsc-SDP-I OCTET STRING ::= '0000B004'H -- String Session identifier
tsc-SDP-U OCTET STRING ::= '0000B005'H -- String URI of descriptor
-- SDC_E B006 String email address renamed to SDP_E here, seems to be a typo in the standard
tsc-SDP-E OCTET STRING ::= '0000B006'H -- String email address
tsc-SDP-P OCTET STRING ::= '0000B007'H -- String phone number
tsc-SDP-C OCTET STRING ::= '0000B008'H -- String Connection information
tsc-SDP-B OCTET STRING ::= '0000B009'H -- String Bandwidth Information
tsc-SDP-Z OCTET STRING ::= '0000B00A'H -- String Time zone adjustment
tsc-SDP-K OCTET STRING ::= '0000B00B'H -- String Encryption Key
tsc-SDP-A OCTET STRING ::= '0000B00C'H -- String Zero or more session attributes
tsc-SDP-T OCTET STRING ::= '0000B00D'H -- String Active Session Time
tsc-SDP-R OCTET STRING ::= '0000B00E'H -- String Zero or more repeat times
tsc-SDP-M OCTET STRING ::= '0000B00F'H -- String
-- *******************************************************
-- Extracted from H.248v1 Annex E, Basic packages
-- test suite constants
tsc-Package-generic OCTET STRING ::= '0001'H
tsc-Package-generic-cause OCTET STRING ::= '00010001'H
tsc-Package-generic-signalCompletion OCTET STRING ::= '00010002'H
tsc-Package-toot OCTET STRING ::= '0002'H
tsc-Package-root-maxNumberOfContexts OCTET STRING ::= '00020001'H
tsc-Package-root-maxTerminationsPerContext OCTET STRING ::= '00020002'H
tsc-Package-root-normalMGExecutionTime OCTET STRING ::= '00020003'H
tsc-Package-root-normalMGCExecutionTime OCTET STRING ::= '00020004'H
tsc-Package-root-MGProvisionalResponseTimerValue OCTET STRING ::= '00020005'H
tsc-Package-root-MGCProvisionalResponseTimerValue OCTET STRING ::= '00020006'H
tsc-Package-root-MGCOriginatedPendingLimit OCTET STRING ::= '00020007'H
tsc-Package-root-MGOriginatedPendingLimit OCTET STRING ::= '00020008'H
tsc-Package-tonegen OCTET STRING ::= '0003'H
tsc-Package-tonegen-playTone OCTET STRING ::= '00030001'H
END