summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/sabp/SABP-Containers.asn
blob: 777d7229687bb6a3d9b65572277800db706de83e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
-- SABP-Containers.asn
--
-- Taken from 3GPP TS 25.419 V11.1.0 (2013-03)
-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
--
-- 9.3.7	Container Definitions
--

-- **************************************************************
--
-- Container definitions
--
-- **************************************************************

SABP-Containers {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Containers (5) } 

DEFINITIONS AUTOMATIC TAGS ::= 

BEGIN

-- **************************************************************
--
-- IE parameter types from other modules.
--
-- **************************************************************

IMPORTS
	Criticality,
	Presence,
	ProtocolExtensionID,
	ProtocolIE-ID
FROM SABP-CommonDataTypes

	maxProtocolExtensions,
	maxProtocolIEs
FROM SABP-Constants;

-- **************************************************************
--
-- Class Definition for Protocol IEs
--
-- **************************************************************

SABP-PROTOCOL-IES ::= CLASS {
	&id				ProtocolIE-ID 		UNIQUE,
	&criticality			Criticality		DEFAULT ignore,
	&Value,
	&presence			Presence
}
WITH SYNTAX {
	ID				&id
	CRITICALITY			&criticality
	TYPE				&Value
	PRESENCE			&presence
}

-- **************************************************************
--
-- Class Definition for Protocol Extensions
--
-- **************************************************************

SABP-PROTOCOL-EXTENSION ::= CLASS {
	&id				ProtocolExtensionID 	UNIQUE,
	&criticality			Criticality		DEFAULT ignore,
	&Extension,
	&presence		Presence
}
WITH SYNTAX {
	ID				&id
	CRITICALITY			&criticality
	EXTENSION			&Extension
	PRESENCE			&presence
}

-- **************************************************************
--
-- Container for Protocol IEs
--
-- **************************************************************

ProtocolIE-Container {SABP-PROTOCOL-IES : IEsSetParam} ::= 
	SEQUENCE (SIZE (0..maxProtocolIEs)) OF
	ProtocolIE-Field {{IEsSetParam}}

ProtocolIE-Field {SABP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
	id				SABP-PROTOCOL-IES.&id				({IEsSetParam}),
	criticality			SABP-PROTOCOL-IES.&criticality			({IEsSetParam}{@id}),
	value				SABP-PROTOCOL-IES.&Value	        	({IEsSetParam}{@id})
}

-- **************************************************************
--
-- Container Lists for Protocol IE Containers
--
-- **************************************************************

ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SABP-PROTOCOL-IES : IEsSetParam} ::=
	SEQUENCE (SIZE (lowerBound..upperBound)) OF
	ProtocolIE-Container {{IEsSetParam}}

-- **************************************************************
--
-- Container for Protocol Extensions
--
-- **************************************************************

ProtocolExtensionContainer {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= 
	SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
	ProtocolExtensionField {{ExtensionSetParam}}

ProtocolExtensionField {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
	id				SABP-PROTOCOL-EXTENSION.&id			({ExtensionSetParam}),
	criticality			SABP-PROTOCOL-EXTENSION.&criticality		({ExtensionSetParam}{@id}),
	extensionValue			SABP-PROTOCOL-EXTENSION.&Extension		({ExtensionSetParam}{@id})
}


END