1-- module(Mvrasn-14-6).
2-- vsn('%CCaseRev: %').
3-- date('%CCaseDate: %').
4-- author('etord').
5-- =============================================================================
6
7-- =============================================================================
8--
9-- Title       : "Supplementary Service data types".
10--
11-- ASN.1 module: "MAP-SS-DataTypes".
12--
13-- =============================================================================
14
15
16-- ==============================================================
17-- #1.    REVISION LOG
18-- ==============================================================
19-- Rev   Date    Name     What
20-- .... ....... .......  ........................................
21-- PA1  010813  etord    First draft, based on GSM 29.002 v. 3.8.0.
22-- ..............................................................
23
24Mvrasn-14-6
25
26DEFINITIONS
27
28IMPLICIT TAGS
29
30::=
31
32BEGIN
33
34EXPORTS
35	RegisterSS-Arg,
36	SS-Info,
37	SS-Status,
38	SS-SubscriptionOption,
39	SS-ForBS-Code,
40	InterrogateSS-Res,
41	USSD-Arg,
42	USSD-Res,
43	USSD-DataCodingScheme,
44	USSD-String,
45	Password,
46	GuidanceInfo,
47	SS-List,
48	SS-InfoList,
49	OverrideCategory,
50	CliRestrictionOption,
51	NoReplyConditionTime,
52	ForwardingOptions,
53	maxNumOfSS,
54	SS-Data,
55	SS-InvocationNotificationArg,
56	SS-InvocationNotificationRes,
57	CCBS-Feature,
58	RegisterCC-EntryArg,
59	RegisterCC-EntryRes,
60	EraseCC-EntryArg,
61	EraseCC-EntryRes
62;
63
64IMPORTS
65	AddressString,
66	ISDN-AddressString,
67	ISDN-SubaddressString,
68	FTN-AddressString,
69	IMSI,
70	BasicServiceCode,
71	AlertingPattern,
72	EMLPP-Priority,
73	MaxMC-Bearers,
74	MC-Bearers,
75	ExternalSignalInfo
76FROM Mvrasn-18-6
77
78	ExtensionContainer
79FROM Mvrasn-21-4
80
81	SS-Code
82FROM Mvrasn-15-6
83;
84
85RegisterSS-Arg ::= SEQUENCE {
86	ss-Code		SS-Code,
87	basicService	BasicServiceCode	OPTIONAL,
88	forwardedToNumber	[4] AddressString	OPTIONAL,
89	forwardedToSubaddress	[6] ISDN-SubaddressString	OPTIONAL,
90	noReplyConditionTime	[5] NoReplyConditionTime	OPTIONAL,
91	...,
92	defaultPriority	[7] EMLPP-Priority	OPTIONAL,
93	nbrUser		[8] MC-Bearers	OPTIONAL,
94	longFTN-Supported	[9]	NULL		OPTIONAL }
95
96NoReplyConditionTime ::= INTEGER (5..30)
97
98SS-Info ::= CHOICE {
99	forwardingInfo	[0] ForwardingInfo,
100	callBarringInfo	[1] CallBarringInfo,
101	ss-Data		[3] SS-Data}
102
103ForwardingInfo ::= SEQUENCE {
104	ss-Code		SS-Code		OPTIONAL,
105	forwardingFeatureList	ForwardingFeatureList,
106	...}
107
108ForwardingFeatureList ::=
109	SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
110				ForwardingFeature
111
112ForwardingFeature ::= SEQUENCE {
113	basicService	BasicServiceCode	OPTIONAL,
114	ss-Status		[4] SS-Status	OPTIONAL,
115	forwardedToNumber	[5] ISDN-AddressString	OPTIONAL,
116	forwardedToSubaddress	[8] ISDN-SubaddressString	OPTIONAL,
117	forwardingOptions	[6] ForwardingOptions	OPTIONAL,
118	noReplyConditionTime	[7] NoReplyConditionTime	OPTIONAL,
119	...,
120	longForwardedToNumber	[9] FTN-AddressString	OPTIONAL }
121
122SS-Status ::= OCTET STRING (SIZE (1))
123
124	-- bits 8765: 0000 (unused)
125	-- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
126	--		    representing supplementary service state information
127	--		    as defined in TS GSM 03.11
128
129	-- bit 4: "Q bit"
130
131	-- bit 3: "P bit"
132
133	-- bit 2: "R bit"
134
135	-- bit 1: "A bit"
136
137ForwardingOptions ::= OCTET STRING (SIZE (1))
138
139	-- bit 8: notification to forwarding party
140	--	0  no notification
141	--	1  notification
142
143	-- bit 7: redirecting presentation
144	--	0 no presentation
145	--	1  presentation
146
147	-- bit 6: notification to calling party
148	--	0  no notification
149	--	1  notification
150
151	-- bit 5: 0 (unused)
152
153	-- bits 43: forwarding reason
154	--	00  ms not reachable
155	--	01  ms busy
156	--	10  no reply
157	--	11  unconditional when used in a SRI Result,
158	--	    or call deflection when used in a RCH Argument
159	-- bits 21: 00 (unused)
160
161CallBarringInfo ::= SEQUENCE {
162	ss-Code		SS-Code		OPTIONAL,
163	callBarringFeatureList	CallBarringFeatureList,
164	...}
165
166CallBarringFeatureList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
167				CallBarringFeature
168
169CallBarringFeature ::= SEQUENCE {
170	basicService	BasicServiceCode	OPTIONAL,
171	ss-Status	[4] SS-Status	OPTIONAL,
172	...}
173
174SS-Data ::= SEQUENCE {
175	ss-Code		SS-Code		OPTIONAL,
176	ss-Status		[4] SS-Status	OPTIONAL,
177	ss-SubscriptionOption	SS-SubscriptionOption	OPTIONAL,
178	basicServiceGroupList	BasicServiceGroupList	OPTIONAL,
179	...,
180	defaultPriority	EMLPP-Priority	OPTIONAL,
181	nbrUser		[5] MC-Bearers	OPTIONAL
182	}
183
184SS-SubscriptionOption ::= CHOICE {
185	cliRestrictionOption	[2] CliRestrictionOption,
186	overrideCategory	[1] OverrideCategory}
187
188CliRestrictionOption ::= ENUMERATED {
189	permanent  (0),
190	temporaryDefaultRestricted  (1),
191	temporaryDefaultAllowed  (2)}
192
193OverrideCategory ::= ENUMERATED {
194	overrideEnabled  (0),
195	overrideDisabled  (1)}
196
197SS-ForBS-Code ::= SEQUENCE {
198	ss-Code		SS-Code,
199	basicService	BasicServiceCode	OPTIONAL,
200	...,
201	longFTN-Supported	[4]	NULL		OPTIONAL }
202
203GenericServiceInfo ::= SEQUENCE {
204	ss-Status	SS-Status,
205	cliRestrictionOption	CliRestrictionOption	OPTIONAL,
206	...,
207	maximumEntitledPriority	[0] EMLPP-Priority	OPTIONAL,
208	defaultPriority	[1] EMLPP-Priority	OPTIONAL,
209	ccbs-FeatureList	[2] CCBS-FeatureList	OPTIONAL,
210	nbrSB		[3] MaxMC-Bearers	OPTIONAL,
211	nbrUser		[4] MC-Bearers	OPTIONAL,
212	nbrSN		[5] MC-Bearers	OPTIONAL }
213
214CCBS-FeatureList ::= SEQUENCE SIZE (1..maxNumOfCCBS-Requests) OF
215				CCBS-Feature
216
217maxNumOfCCBS-Requests  INTEGER ::= 5
218
219CCBS-Feature ::= SEQUENCE {
220	ccbs-Index	[0] CCBS-Index	OPTIONAL,
221	b-subscriberNumber	[1] ISDN-AddressString	OPTIONAL,
222	b-subscriberSubaddress	[2] ISDN-SubaddressString	OPTIONAL,
223	basicServiceGroup	[3] BasicServiceCode	OPTIONAL,
224	...}
225
226CCBS-Index  ::= INTEGER (1..maxNumOfCCBS-Requests)
227
228InterrogateSS-Res ::= CHOICE {
229	ss-Status		[0] SS-Status,
230	basicServiceGroupList	[2] BasicServiceGroupList,
231	forwardingFeatureList	[3] ForwardingFeatureList,
232	genericServiceInfo	[4]	GenericServiceInfo }
233
234USSD-Arg ::= SEQUENCE {
235	ussd-DataCodingScheme	USSD-DataCodingScheme,
236	ussd-String	USSD-String,
237	... ,
238	alertingPattern	AlertingPattern	OPTIONAL,
239	msisdn		[0] ISDN-AddressString	OPTIONAL }
240
241USSD-Res ::= SEQUENCE {
242	ussd-DataCodingScheme	USSD-DataCodingScheme,
243	ussd-String	USSD-String,
244	...}
245
246USSD-DataCodingScheme ::= OCTET STRING (SIZE (1))
247	-- The structure of the USSD-DataCodingScheme is defined by
248	-- the Cell Broadcast Data Coding Scheme as described in
249	-- TS GSM 03.38
250
251USSD-String ::= OCTET STRING (SIZE (1..maxUSSD-StringLength))
252	-- The structure of the contents of the USSD-String is dependent
253	-- on the USSD-DataCodingScheme as described in TS GSM 03.38.
254
255maxUSSD-StringLength  INTEGER ::= 160
256
257Password ::= NumericString
258	(FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"))
259	(SIZE (4))
260
261GuidanceInfo ::= ENUMERATED {
262	enterPW  (0),
263	enterNewPW  (1),
264	enterNewPW-Again  (2)}
265	-- How this information is really delivered to the subscriber
266	-- (display, announcement, ...) is not part of this
267	-- specification.
268
269SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF
270				SS-Code
271
272maxNumOfSS  INTEGER ::= 30
273
274SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
275				SS-Info
276
277BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
278				BasicServiceCode
279
280maxNumOfBasicServiceGroups  INTEGER ::= 13
281
282SS-InvocationNotificationArg ::= SEQUENCE {
283	imsi			[0] IMSI,
284	msisdn		[1] ISDN-AddressString,
285	ss-Event		[2] SS-Code,
286	-- The following SS-Code values are allowed :
287	-- ect		SS-Code ::= '00110001'B
288	-- multiPTY	SS-Code ::= '01010001'B
289	-- cd		SS-Code ::= '00100100'B
290	-- ccbs		SS-Code ::= '01000100'B
291	ss-EventSpecification	[3] SS-EventSpecification	OPTIONAL,
292	extensionContainer	[4] ExtensionContainer	OPTIONAL,
293	...,
294	b-subscriberNumber	[5]	ISDN-AddressString	OPTIONAL,
295	ccbs-RequestState	[6]	CCBS-RequestState	OPTIONAL
296	}
297
298CCBS-RequestState ::= ENUMERATED {
299	request  	(0),
300	recall  	(1),
301	active  	(2),
302	completed	(3),
303	suspended	(4),
304	frozen	(5),
305	deleted	(6)
306	}
307
308SS-InvocationNotificationRes ::= SEQUENCE {
309	extensionContainer	ExtensionContainer	OPTIONAL,
310	...
311	}
312
313SS-EventSpecification ::= SEQUENCE SIZE (1..maxEventSpecification) OF
314				AddressString
315
316maxEventSpecification  INTEGER ::= 2
317
318RegisterCC-EntryArg ::= SEQUENCE {
319	ss-Code		[0]	SS-Code,
320	ccbs-Data		[1]	CCBS-Data	OPTIONAL,
321	...}
322
323CCBS-Data ::= SEQUENCE {
324	ccbs-Feature	[0]	CCBS-Feature,
325	translatedB-Number	[1]	ISDN-AddressString,
326	serviceIndicator	[2]	ServiceIndicator	OPTIONAL,
327	callInfo		[3]	ExternalSignalInfo,
328	networkSignalInfo	[4]	ExternalSignalInfo,
329	...}
330
331ServiceIndicator ::= BIT STRING {
332	clir-invoked (0),
333	camel-invoked (1)} (SIZE(2..32))
334	-- exception handling:
335	-- bits 2 to 31 shall be ignored if received and not understood
336
337RegisterCC-EntryRes ::= SEQUENCE {
338	ccbs-Feature	[0] CCBS-Feature	OPTIONAL,
339	...}
340
341EraseCC-EntryArg ::= SEQUENCE {
342	ss-Code		[0]	SS-Code,
343	ccbs-Index	[1]	CCBS-Index	OPTIONAL,
344	...}
345
346EraseCC-EntryRes ::= SEQUENCE {
347	ss-Code		[0]	SS-Code,
348	ss-Status		[1] SS-Status	OPTIONAL,
349	...}
350
351END
352
353