add RUA asn.1 syntax from 3GPP TS 25.468 V12.1.0 (2014-12)

daniel/wip
Harald Welte 2015-08-29 09:33:12 +02:00
parent a97e436ce5
commit b1c6a2c3ef
4 changed files with 445 additions and 0 deletions

View File

@ -0,0 +1,46 @@
-- **************************************************************
--
-- Common definitions
--
-- **************************************************************
RUA-CommonDataTypes {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
umts-Access (20) modules (3) rua(5) version1 (1) rUA-CommonDataTypes (3) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- **************************************************************
--
-- Extension constants
--
-- **************************************************************
maxPrivateIEs INTEGER ::= 65535
maxProtocolExtensions INTEGER ::= 65535
maxProtocolIEs INTEGER ::= 65535
-- **************************************************************
--
-- Common Data Types
--
-- **************************************************************
Criticality ::= ENUMERATED { reject, ignore, notify }
Presence ::= ENUMERATED { optional, conditional, mandatory }
ProcedureCode ::= INTEGER (0..255)
PrivateIE-ID ::= CHOICE {
local INTEGER (0..65535),
global OBJECT IDENTIFIER
}
ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome }
END

View File

@ -0,0 +1,55 @@
-- **************************************************************
--
-- Constant definitions
--
-- **************************************************************
RUA-Constants {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
umts-Access (20) modules (3) rua(5) version1 (1) rUA-Constants (4) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
ProcedureCode,
ProtocolIE-ID
FROM RUA-CommonDataTypes;
-- **************************************************************
--
-- Elementary Procedures
--
id-Connect ProcedureCode ::= 1
id-DirectTransfer ProcedureCode ::= 2
id-Disconnect ProcedureCode ::= 3
id-ConnectionlessTransfer ProcedureCode ::= 4
id-ErrorIndication ProcedureCode ::= 5
id-privateMessage ProcedureCode ::= 6
-- **************************************************************
--
-- Lists
--
-- **************************************************************
maxNrOfErrors INTEGER ::= 256
-- **************************************************************
--
-- IEs
--
-- **************************************************************
id-Cause ProtocolIE-ID ::= 1
id-CriticalityDiagnostics ProtocolIE-ID ::= 2
id-Context-ID ProtocolIE-ID ::= 3
id-RANAP-Message ProtocolIE-ID ::= 4
id-IntraDomainNasNodeSelector ProtocolIE-ID ::= 5
id-Establishment-Cause ProtocolIE-ID ::= 6
id-CN-DomainIndicator ProtocolIE-ID ::= 7
id-CSGMembershipStatus ProtocolIE-ID ::= 9
END

153
asn1/rua/RUA-Containers.asn Normal file
View File

@ -0,0 +1,153 @@
-- **************************************************************
--
-- Container definitions
--
-- **************************************************************
RUA-Containers {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
umts-Access (20) modules (3) rua(5) version1 (1) rUA-Containers (5) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- **************************************************************
--
-- IE parameter types from other modules.
--
-- **************************************************************
IMPORTS
Criticality,
Presence,
PrivateIE-ID,
ProtocolIE-ID,
maxPrivateIEs,
maxProtocolExtensions,
maxProtocolIEs
FROM RUA-CommonDataTypes;
-- **************************************************************
--
-- Class Definition for Private IEs
--
-- **************************************************************
RUA-PRIVATE-IES ::= CLASS {
&id PrivateIE-ID,
&criticality Criticality,
&Value,
&presence Presence
}
WITH SYNTAX {
ID &id
CRITICALITY &criticality
TYPE &Value
PRESENCE &presence
}
-- **************************************************************
--
-- Class Definition for Protocol IEs
--
-- **************************************************************
RUA-PROTOCOL-IES ::= CLASS {
&id ProtocolIE-ID UNIQUE,
&criticality Criticality,
&Value,
&presence Presence
}
WITH SYNTAX {
ID &id
CRITICALITY &criticality
TYPE &Value
PRESENCE &presence
}
-- **************************************************************
--
-- Class Definition for Protocol Extensions
--
-- **************************************************************
RUA-PROTOCOL-EXTENSION ::= CLASS {
&id ProtocolIE-ID UNIQUE,
&criticality Criticality,
&Extension,
&presence Presence
}
WITH SYNTAX {
ID &id
CRITICALITY &criticality
EXTENSION &Extension
PRESENCE &presence
}
-- **************************************************************
--
-- Container for Protocol IEs
--
-- **************************************************************
ProtocolIE-Container {RUA-PROTOCOL-IES : IEsSetParam} ::=
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
ProtocolIE-Field {{IEsSetParam}}
ProtocolIE-Single-Container {RUA-PROTOCOL-IES : IEsSetParam} ::=
ProtocolIE-Field {{IEsSetParam}}
ProtocolIE-Field {RUA-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
id RUA-PROTOCOL-IES.&id ({IEsSetParam}),
criticality RUA-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
value RUA-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
}
-- **************************************************************
--
-- Container Lists for Protocol IE Containers
--
-- **************************************************************
ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RUA-PROTOCOL-IES : IEsSetParam} ::=
SEQUENCE (SIZE (lowerBound..upperBound)) OF
ProtocolIE-Container {{IEsSetParam}}
-- **************************************************************
--
-- Container for Protocol Extensions
--
-- **************************************************************
ProtocolExtensionContainer {RUA-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
ProtocolExtensionField {{ExtensionSetParam}}
ProtocolExtensionField {RUA-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
id RUA-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
criticality RUA-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
extensionValue RUA-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
}
-- **************************************************************
--
-- Container for Private IEs
--
-- **************************************************************
PrivateIE-Container {RUA-PRIVATE-IES : IEsSetParam } ::=
SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
PrivateIE-Field {{IEsSetParam}}
PrivateIE-Field {RUA-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
id RUA-PRIVATE-IES.&id ({IEsSetParam}),
criticality RUA-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
value RUA-PRIVATE-IES.&Value ({IEsSetParam}{@id})
}
END

191
asn1/rua/RUA-IEs.asn Normal file
View File

@ -0,0 +1,191 @@
-- **************************************************************
--
-- Information Element Definitions
--
-- **************************************************************
RUA-IEs {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
umts-Access (20) modules (3) rua(5) version1 (1) rUA-IEs (2) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
maxNrOfErrors
FROM RUA-Constants
Criticality,
ProcedureCode,
ProtocolIE-ID,
TriggeringMessage
FROM RUA-CommonDataTypes
ProtocolExtensionContainer{},
RUA-PROTOCOL-EXTENSION
FROM RUA-Containers;
CN-DomainIndicator ::= ENUMERATED {
cs-domain,
ps-domain
}
CSGMembershipStatus ::= ENUMERATED {
member,
non-member,
...
}
Establishment-Cause ::= ENUMERATED {
emergency-call,
normal-call,
...
}
Context-ID ::= BIT STRING (SIZE(24))
IntraDomainNasNodeSelector ::= SEQUENCE {
version CHOICE {
release99 SEQUENCE {
cn-Type CHOICE {
gsm-Map-IDNNS Gsm-map-IDNNS,
ansi-41-IDNNS Ansi-41-IDNNS
}
},
later SEQUENCE {
futurecoding BIT STRING (SIZE (15))
}
}
}
Gsm-map-IDNNS ::= SEQUENCE {
routingbasis CHOICE {
localPTMSI SEQUENCE {
routingparameter RoutingParameter
},
tMSIofsamePLMN SEQUENCE {
routingparameter RoutingParameter
},
tMSIofdifferentPLMN SEQUENCE {
routingparameter RoutingParameter
},
iMSIresponsetopaging SEQUENCE {
routingparameter RoutingParameter
},
iMSIcauseUEinitiatedEvent SEQUENCE {
routingparameter RoutingParameter
},
iMEI SEQUENCE {
routingparameter RoutingParameter
},
spare2 SEQUENCE {
routingparameter RoutingParameter
},
spare1 SEQUENCE {
routingparameter RoutingParameter
}
},
-- dummy is not used in this version of the specification and
-- it should be ignored by the receiver.
dummy BOOLEAN
}
Ansi-41-IDNNS ::= BIT STRING (SIZE (14))
RANAP-Message ::= OCTET STRING
RoutingParameter ::= BIT STRING (SIZE (10))
-- **************************************************************
--
-- Cause IE
--
-- **************************************************************
Cause ::= CHOICE {
radioNetwork CauseRadioNetwork,
transport CauseTransport,
protocol CauseProtocol,
misc CauseMisc,
...
}
CauseRadioNetwork ::= ENUMERATED {
normal,
connect-failed,
network-release,
unspecified,
...
}
CauseTransport ::= ENUMERATED {
transport-resource-unavailable,
unspecified,
...
}
CauseProtocol ::= ENUMERATED {
transfer-syntax-error,
abstract-syntax-error-reject,
abstract-syntax-error-ignore-and-notify,
message-not-compatible-with-receiver-state,
semantic-error,
unspecified,
abstract-syntax-error-falsely-constructed-message,
...
}
CauseMisc ::= ENUMERATED {
processing-overload,
hardware-failure,
o-and-m-intervention,
unspecified,
...
}
-- **************************************************************
--
-- CriticalityDiagnostics
--
-- **************************************************************
CriticalityDiagnostics ::= SEQUENCE {
procedureCode ProcedureCode OPTIONAL,
triggeringMessage TriggeringMessage OPTIONAL,
procedureCriticality Criticality OPTIONAL,
iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
...
}
CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
SEQUENCE {
iECriticality Criticality,
iE-ID ProtocolIE-ID,
typeOfError TypeOfError,
iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
...
}
CriticalityDiagnostics-IE-List-ExtIEs RUA-PROTOCOL-EXTENSION ::= {
...
}
CriticalityDiagnostics-ExtIEs RUA-PROTOCOL-EXTENSION ::= {
...
}
TypeOfError ::= ENUMERATED {
not-understood,
missing,
...
}
END