blob: 8c8b5dd34ae5c1ff2cf40afe9b1f38f45d8a2e32 [file] [log] [blame]
Harald Weltea814f262017-07-24 13:21:35 +02001///////////////////////////////////////////////////////////////////////////////
2// //
3// Copyright Test Competence Center (TCC) ETH 2012 //
4// //
5// The copyright to the computer program(s) herein is the property of TCC. //
6// The program(s) may be used and/or copied only with the written permission //
7// of TCC or in accordance with the terms and conditions stipulated in the //
8// agreement/contract under which the program(s) has been supplied. //
9// //
10///////////////////////////////////////////////////////////////////////////////
11//
12// File: BSSAP_Types.ttcn
13// Rev: R1A01
14// Prodnr: CNL 113 761
15// Updated: 2012-10-30
16// Contact: http://ttcn.ericsson.se
17
18module BSSAP_Types {
19
20// This module contains the type definitions and encoding attributes for
21// Base Station System. The signalling protocol reference model is based
22// on 48.008 V11.2.0 Figure 1.
23//
24// ------------------------------
25// | BSSAP |
26// | |
27// | ------------------------- | BSSMAP layer is defined in 48.008 v11.2.0
28// | | | | |
29// | | DTAP | BSSMAP | |
30// | | | | |
31// | ------------------------- |
32// | | Distribution Function | |
33// |=============================|
34// | SCCP |
35// ------------------------------
36
37
38import from General_Types all;
39
40external function enc_PDU_BSSAP(in PDU_BSSAP pdu) return octetstring
41with { extension "prototype(convert) encode(RAW)" }
42external function dec_PDU_BSSAP(in octetstring stream) return PDU_BSSAP
43with { extension "prototype(convert) decode(RAW)" }
44
45external function enc_PDU_BSSAP_fast(in PDU_BSSAP pdu, out octetstring stream)
46with { extension "prototype(fast) encode(RAW)" }
47external function dec_PDU_BSSAP_backtrack(in octetstring stream, out PDU_BSSAP pdu) return integer
48with { extension "prototype(backtrack) decode(RAW)" }
49
50///////////////////////////////////////////
51// BSSMAP information element definition
52///////////////////////////////////////////
53
54// Circuit Identity Code - 48.008 subclause 3.2.2.2
55type record BSSMAP_IE_CircuitIdentityCode
56{
57 OCT1 elementIdentifier, // '01'O
58 OCT1 cicHigh, // CIC = 11 bits of used information
59 OCT1 cicLow // (last 5 bits not used)
60} with { variant "PRESENCE (elementIdentifier = '01'O)" }
61
62
63// Connection Release Requested - 48.008 subclause 3.2.2.3
64type record BSSMAP_IE_ConnectionReleaseRequested
65{
66 OCT1 elementIdentifier // '36'O
67} with { variant "PRESENCE (elementIdentifier = '36'O)" }
68
69
70// Resource Available - 48.008 subclause 3.2.2.4
71type record BSSMAP_IE_ResourceAvailable
72{
73 OCT1 elementIdentifier, // '03'O
74 OCT4 band1,
75 OCT4 band2,
76 OCT4 band3,
77 OCT4 band4,
78 OCT4 band5
79} with { variant "PRESENCE (elementIdentifier = '03'O)" }
80
81// Cause - 48.008 subclause 3.2.2.5
82type record BSSMAP_IE_Cause
83{
84 OCT1 elementIdentifier, // '04'O
85 INT1 lengthIndicator,
86 BIT7 causeValue,
87 BIT1 extensionCauseValue,
88 OCT1 spare1 optional
89} with { variant "PRESENCE (elementIdentifier = '04'O)"
90 variant (lengthIndicator)
91 "LENGTHTO (causeValue,extensionCauseValue,spare1)";
92 variant (spare1) "PRESENCE(extensionCauseValue = '1'B)"}
93
94// IMSI - 48.008 subclause 3.2.2.6
95type record BSSMAP_IE_IMSI
96{
97 OCT1 elementIdentifier, // '08'O
98 INT1 lengthIndicator,
99 BIT3 typeOfIdentity,
100 BIT1 oddEvenIndicator, // '0'B even / 1'B odd number of identity digits
101 HEX5_16 digits // if nr of digits is even, the last digit: '1111'B
102} with { variant "PRESENCE (elementIdentifier = '08'O)"
103 variant (lengthIndicator)
104 "LENGTHTO (typeOfIdentity,oddEvenIndicator,digits)";
105 variant "PADDING(yes),PADDING_PATTERN('1'B)"}
106
107
108// TMSI - 48.008 subclause 3.2.2.7
109type record BSSMAP_IE_TMSI
110{
111 OCT1 elementIdentifier, // '09'O
112 INT1 lengthIndicator,
113 OCT4 tmsiOctets // octets 3-6 in real
114} with { variant "PRESENCE (elementIdentifier = '09'O)"
115 variant (lengthIndicator) "LENGTHTO (tmsiOctets)"}
116
117
118// Number Of MSs - 48.008 subclause 3.2.2.8
119type record BSSMAP_IE_NumberOfMSs
120{
121 OCT1 elementIdentifier, // '0E'O
122 OCT1 NrOfHoCandidates
123}
124
125
126// Layer 3 Header Info - 48.008 subclause 3.2.2.9
127type record BSSMAP_IE_Layer3HeaderInfo
128{
129 OCT1 elementIdentifier, //'07'O
130 INT1 lengthIndicator, //'02'O
131 BIT4 pd, // '0110'B
132 BIT4 spare1_4, // '0000'B
133 BIT4 ti, // '0000'B
134 BIT4 spare2_4 // '0000'B
135} with { variant "PRESENCE (elementIdentifier = '07'O)"
136 variant (lengthIndicator) "LENGTHTO (pd, spare1_4, ti, spare2_4)" }
137
138
139// Encryption Information - 48.008 subclause 3.2.2.10
140type record BSSMAP_IE_EncryptionInformation
141{
142 OCT1 elementIdentifier, // '0A'O
143 INT1 lengthIndicator, // 1..9
144 OCT1 permittedAlgorithms,// '1'B encryption no
145 // '0' B GSM A5/1 not useable
146 // '1' B GSM A5/useable 1
147 // '0' B GSM A5/2 not useable
148 // '1' B GSM A5/useable 2
149 // '0' B GSM A5/3 not useable
150 // '1' B GSM A5/useable 3
151 // '0' B GSM A5/4 not useable
152 // '1' B GSM A5/useable 4
153 // '0' B GSM A5/5 useable not
154 // '1' B GSM A5/useable 5
155 // '0' B GSM A5/6 useable not
156 // '1' B GSM A5/useable 6
157 // '0' B GSM A5/7 useable not
158 // '1' B GSM A5/useable 7
159 OCT8 key optional
160} with { variant "PRESENCE (elementIdentifier = '0A'O)"
161 variant (lengthIndicator) "LENGTHTO (permittedAlgorithms, key)" }
162
163
164// Channel Type - 48.008 subclause 3.2.2.11
165type record BSSMAP_IE_ChannelType
166{
167 OCT1 elementIdentifier, //'0B'O
168 INT1 lengthIndicator, // 3..8
169 BIT4 speechOrDataIndicator, //'0001'B Speech,'0010'B Data '0011'B Sign
170 BIT4 spare1_4, // '0000'B
171 OCT1 channelRateAndType, //
172 octetstring speechId_DataIndicator
173} with {variant (lengthIndicator) "LENGTHTO (speechOrDataIndicator,
174 spare1_4, channelRateAndType, speechId_DataIndicator)" }
175
176
177// Periodicity - 48.008 subclause 3.2.2.12
178type record BSSMAP_IE_Periodicity
179{
180 OCT1 elementIdentifier, //'0C'O
181 OCT1 periodicity
182}
183
184
185// Extended Resource Indicator - 48.008 subclause 3.2.2.13
186type record BSSMAP_IE_ExtendedResourceInd
187{
188 OCT1 elementIdentifier, //'0D'O
189 BIT1 TARR,
190 BIT1 SM,
191 BIT6 spare
192} with { variant "PRESENCE (elementIdentifier = '0D'O)" }
193
194
195// Total Resource Accessible - 48.008 subclause 3.2.2.14
196type record BSSMAP_IE_TotalResourceAccessible
197{
198 OCT1 elementIdentifier, //'22'O
199 OCT2 nrOfFullRateCh,
200 OCT2 nrOfHalfRateCh
201} with { variant "PRESENCE (elementIdentifier = '22'O)" }
202
203
204// LSA Identifier - 48.008 subclause 3.2.2.15
205type record BSSMAP_IE_LSAIdentifier
206{
207 OCT1 elementIdentifier, //'3B'O
208 INT1 lengthIndicator, // 3
209 BSSMAP_FIELD_LSAId lSAID
210} with { variant "PRESENCE (elementIdentifier = '3B'O)"
211 variant (lengthIndicator) "LENGTHTO (lSAID)"}
212
213type record BSSMAP_FIELD_LSAId
214{
215 OCT1 lSAID,
216 OCT1 lSAIDcont1,
217 OCT1 lSAIDcont2
218}
219
220
221// LSA Identifier List - 48.008 subclause 3.2.2.16
222type record BSSMAP_IE_LSAIdentifierList
223{
224 OCT1 elementIdentifier, //'3C'O
225 INT1 lengthIndicator,
226 BIT1 EP,
227 BIT7 spare,
228 BSSMAP_FIELD_LSAIdList lSAIDlist
229} with {variant (lengthIndicator) "LENGTHTO (EP,spare,lSAIDlist)"}
230
231type record of BSSMAP_FIELD_LSAId BSSMAP_FIELD_LSAIdList
232
233
234// Cell Identifier - 48.008 subclause 3.2.2.17
235type record BSSMAP_IE_CellIdentifier
236{
237 OCT1 elementIdentifier, // '05'O
238 INT1 lengthIndicator,
239 BIT4 cellIdentifierDiscriminator,
240 BIT4 spare1_4, // '0000'B
241 BSSMAP_FIELD_CellIdentification cellIdentification
242} with { variant "PRESENCE (elementIdentifier = '05'O)"
243 variant (lengthIndicator)
244 "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentification)";
245 variant (cellIdentification) "CROSSTAG(
246 cI_CGI, cellIdentifierDiscriminator='0000'B;
247 cI_LAC_CI, cellIdentifierDiscriminator='0001'B;
248 cI_CI, cellIdentifierDiscriminator='0010'B;
249 cI_noCell, cellIdentifierDiscriminator='0011'B;
250 cI_PLMN_LAC_RNC, cellIdentifierDiscriminator='1000'B;
251 cI_RNC, cellIdentifierDiscriminator='1001'B;
252 cI_LAC_RNC, cellIdentifierDiscriminator='1010'B;
253 cI_SAI, cellIdentifierDiscriminator='1011'B;
254 ci_LAC_RNC_CI, cellIdentifierDiscriminator='1100'B;
255 )"}
256
257type union BSSMAP_FIELD_CellIdentification
258{
259 BSSMAP_FIELD_CellIdentification_CGI cI_CGI, // discriminator = '0000'B
260 BSSMAP_FIELD_CellIdentification_LAC_CI cI_LAC_CI, // discriminator = '0001'B
261 OCT2 cI_CI, // discriminator = '0010'B
262 OCT0 cI_noCell, // discriminator = '0011'B
263 BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC cI_PLMN_LAC_RNC,// discriminator = '1000'B
264 OCT2 cI_RNC, // discriminator = '1001'B
265 BSSMAP_FIELD_CellIdentification_LAC_RNC cI_LAC_RNC,// discriminator = '1010'B
266 BSSMAP_FIELD_CellIdentification_SAI cI_SAI, // discriminator = '1011'B
267 BSSMAP_FIELD_LAC_RNC_CI ci_LAC_RNC_CI // discriminator = '1100'B
268}
269
270type record BSSMAP_FIELD_CellIdentification_CGI
271{
272 OCT3 mcc_mnc,
273 OCT2 lac,
274 OCT2 ci
275}
276
277type record BSSMAP_FIELD_CellIdentification_LAC_CI
278{
279 OCT2 lac,
280 OCT2 ci
281}
282
283type record BSSMAP_FIELD_CellIdentification_LAI
284{
285 OCT3 mcc_mnc,
286 OCT2 lac
287}
288
289type record BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC
290{
291 OCT3 mcc_mnc,
292 OCT2 lac,
293 OCT2 rncId
294}
295
296type record BSSMAP_FIELD_CellIdentification_LAC_RNC
297{
298 OCT2 lac,
299 OCT2 rncId
300}
301
302type record BSSMAP_FIELD_CellIdentification_SAI
303{
304 OCT3 mcc_mnc,
305 OCT2 lac,
306 OCT2 sac
307}
308
309type record BSSMAP_FIELD_LAC_RNC_CI
310{
311 OCT3 mcc_mnc,
312 OCT2 lac,
313 OCT2 rncId,
314 OCT2 ci
315}
316
317
318// Cell Identifier List - 48.008 subclause 3.2.2.27
319type record BSSMAP_IE_CellIdentifierList
320{
321 OCT1 elementIdentifier, // '1A'O
322 INT1 lengthIndicator,
323 BIT4 cellIdentifierDiscriminator,
324 BIT4 spare1_4, // '0000'B
325 BSSMAP_FIELD_CellIdentificationList cellIdentificationList
326} with { variant "PRESENCE (elementIdentifier = '1A'O)"
327 variant (lengthIndicator)
328 "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationList)";
329 variant (cellIdentificationList) "CROSSTAG(
330 cIl_CGI, cellIdentifierDiscriminator='0000'B;
331 cIl_LAC_CI, cellIdentifierDiscriminator='0001'B;
332 cIl_CI, cellIdentifierDiscriminator='0010'B;
333 cIl_noCell, cellIdentifierDiscriminator='0011'B;
334 cIl_LAI, cellIdentifierDiscriminator='0100'B;
335 cIl_LAC, cellIdentifierDiscriminator='0101'B;
336 cIl_allInBSS, cellIdentifierDiscriminator='0110'B;
337 cIl_PLMN_LAC_RNC, cellIdentifierDiscriminator='1000'B;
338 cIl_RNC, cellIdentifierDiscriminator='1001'B;
339 cIl_LAC_RNC, cellIdentifierDiscriminator='1010'B;)"}
340
341type union BSSMAP_FIELD_CellIdentificationList {
342 BSSMAP_FIELD_CellIdentificationList_CGI cIl_CGI, // discr. = '0000'B
343 BSSMAP_FIELD_CellIdentificationList_LAC_CI cIl_LAC_CI,// discr. = '0001'B
344 RecordOfOCT2 cIl_CI, // discr. = '0010'B
345 OCT0 cIl_noCell,// discr. = '0011'B
346 BSSMAP_FIELD_CellIdentificationList_LAI cIl_LAI, // discr. = '0100'B only paging
347 RecordOfOCT2 cIl_LAC, // discr. = '0101'B only paging
348 OCT0 cIl_allInBSS, // discr. = '0110'B only paging
349 BSSMAP_FIELD_CellIdentificationList_PLMN_LAC_RNC cIl_PLMN_LAC_RNC, // discr. = '1000'B
350 RecordOfOCT2 cIl_RNC, // discr. = '1001'B
351 BSSMAP_FIELD_CellIdentificationList_LAC_RNC cIl_LAC_RNC // discr. = '1010'B
352}
353
354
355type record of OCT2
356RecordOfOCT2
357
358type record of BSSMAP_FIELD_CellIdentification_CGI
359BSSMAP_FIELD_CellIdentificationList_CGI
360
361type record of BSSMAP_FIELD_CellIdentification_LAC_CI
362BSSMAP_FIELD_CellIdentificationList_LAC_CI
363
364type record of BSSMAP_FIELD_CellIdentification_LAI
365BSSMAP_FIELD_CellIdentificationList_LAI
366
367type record of BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC
368BSSMAP_FIELD_CellIdentificationList_PLMN_LAC_RNC
369
370type record of BSSMAP_FIELD_CellIdentification_LAC_RNC
371BSSMAP_FIELD_CellIdentificationList_LAC_RNC
372
373type record of BSSMAP_FIELD_CellIdentification_SAI
374BSSMAP_FIELD_CellIdentificationList_SAI
375
376// 3.2.2.27a Cell Identifier List Segment
377type record BSSMAP_IE_CellIdentifierListSegment
378{
379 OCT1 elementIdentifier, // '6D'O
380 INT1 lengthIndicator,
381 BIT4 sequenceNumber,
382 BIT4 sequenceLength,
383 BIT4 cellIdentifierDiscriminator,
384 BIT4 spare,
385 BSSMAP_FIELD_CellIdentificationListSegment cellIdentificationListSegment
386} with { variant "PRESENCE (elementIdentifier = '6D'O)"
387 variant (lengthIndicator)
388 "LENGTHTO(sequenceNumber, sequenceLength, cellIdentifierDiscriminator, spare, cellIdentificationListSegment)";
389 variant (cellIdentificationListSegment) "CROSSTAG(
390 cIl_CGI, cellIdentifierDiscriminator='0000'B;
391 cIl_LAC_CI, cellIdentifierDiscriminator='0001'B;
392 cIl_CI, cellIdentifierDiscriminator='0010'B;
393 cIl_noCell, cellIdentifierDiscriminator='0011'B;
394 cIl_LAI, cellIdentifierDiscriminator='0100'B;
395 cIl_LAC, cellIdentifierDiscriminator='0101'B;
396 cIl_allInBSS, cellIdentifierDiscriminator='0110'B;
397 cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"}
398
399
400
401type union BSSMAP_FIELD_CellIdentificationListSegment
402{
403 BSSMAP_FIELD_CellIdentificationList_CGI cIl_CGI, // discr. ='0000'B;
404 BSSMAP_FIELD_CellIdentificationList_LAC_CI_Segment cIl_LAC_CI, // discr. ='0001'B
405 BSSMAP_FIELD_CellIdentificationList_CIL_CI_Segment cIl_CI, // discr. ='0010'B;
406 OCT0 cIl_noCell, // discr. ='0011'B;
407 BSSMAP_FIELD_CellIdentificationList_LAI cIl_LAI, // discr. ='0100'B;
408 RecordOfOCT2 cIl_LAC, // discr. ='0101'B;
409 OCT0 cIl_allInBSS, // discr. ='0101'B;
410 RecordOfOCT3 cIl_MCC_MNC // discr. ='0111'B;
411}
412
413type record BSSMAP_FIELD_CellIdentificationList_LAC_CI_Segment
414{
415 OCT3 mcc_mnc,
416 BSSMAP_FIELD_CellIdentificationList_LAC_CI lac_ci
417}
418
419type record BSSMAP_FIELD_CellIdentificationList_CIL_CI_Segment
420{
421 OCT3 mcc_mnc,
422 OCT2 lac,
423 RecordOfOCT2 ci
424}
425
426type record of OCT3
427RecordOfOCT3
428
429
430// 3.2.2.27b Cell Identifier List Segment for Established Cells
431type record BSSMAP_IE_CellIdentifierListSegmentEstCells
432{
433 OCT1 elementIdentifier, // '71'O
434 INT1 lengthIndicator,
435 BIT4 cellIdentifierDiscriminator,
436 BIT4 spare1_4, // '0000'B
437 BSSMAP_FIELD_CellIdentificationListEstablishment cellIdentificationListEstCells
438} with { variant "PRESENCE (elementIdentifier = '71'O)"
439 variant (lengthIndicator)
440 "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationListEstCells)";
441 variant (cellIdentificationListEstCells) "CROSSTAG(
442 cIl_CGI, cellIdentifierDiscriminator='0000'B;
443 cIl_LAC_CI, cellIdentifierDiscriminator='0001'B;
444 cIl_CI, cellIdentifierDiscriminator='0010'B;
445 cIl_LAI, cellIdentifierDiscriminator='0100'B;
446 cIl_LAC, cellIdentifierDiscriminator='0101'B;
447 cIl_allInBSS, cellIdentifierDiscriminator='0110'B;
448 cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"}
449
450
451type union BSSMAP_FIELD_CellIdentificationListEstablishment
452{
453 BSSMAP_FIELD_CellIdentificationList_CGI cIl_CGI, // discr. = '0000'B
454 BSSMAP_FIELD_CellIdentificationList_LAC_CI_Segment cIl_LAC_CI, // discr. = '0001'B;
455 BSSMAP_FIELD_CellIdentificationList_CIL_CI_Segment cIl_CI, // discr. = '0010'B;
456 BSSMAP_FIELD_CellIdentificationList_LAI cIl_LAI, // discr. = '0100'B;
457 RecordOfOCT2 cIl_LAC, // discr. = '0101'B;
458 OCT0 cIl_allInBSS, // discr. = '0110'B;
459 RecordOfOCT3 cIl_MCC_MNC // discr. = '0111'B;
460 }
461
462// 3.2.2.27c
463type record BSSMAP_IE_CellIdentifierListSegmentCellsToEst
464{
465 OCT1 elementIdentifier, // '73'O
466 INT1 lengthIndicator,
467 BIT4 cellIdentifierDiscriminator,
468 BIT4 spare1_4, // '0000'B
469 BSSMAP_FIELD_CellIdentificationListEstablishment cellIdentificationListCellsToEst
470} with { variant "PRESENCE (elementIdentifier = '72'O)"
471 variant (lengthIndicator)
472 "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationListCellsToEst)";
473 variant (cellIdentificationListCellsToEst) "CROSSTAG(
474 cIl_CGI, cellIdentifierDiscriminator='0000'B;
475 cIl_LAC_CI, cellIdentifierDiscriminator='0001'B;
476 cIl_CI, cellIdentifierDiscriminator='0010'B;
477 cIl_LAI, cellIdentifierDiscriminator='0100'B;
478 cIl_LAC, cellIdentifierDiscriminator='0101'B;
479 cIl_allInBSS, cellIdentifierDiscriminator='0110'B;
480 cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"}
481
482// 3.2.2.27e
483type record BSSMAP_IE_CellIdentifierListSegmentReleasedCellsNoUserPresent
484{
485 OCT1 elementIdentifier, // '74'O
486 INT1 lengthIndicator,
487 BIT4 cellIdentifierDiscriminator,
488 BIT4 spare1_4, // '0000'B
489 BSSMAP_FIELD_CellIdentificationListEstablishment cellIdentificationListReleasedCellsNoUserPresent
490} with { variant "PRESENCE (elementIdentifier = '74'O)"
491 variant (lengthIndicator)
492 "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationListReleasedCellsNoUserPresent)";
493 variant (cellIdentificationListReleasedCellsNoUserPresent) "CROSSTAG(
494 cIl_CGI, cellIdentifierDiscriminator='0000'B;
495 cIl_LAC_CI, cellIdentifierDiscriminator='0001'B;
496 cIl_CI, cellIdentifierDiscriminator='0010'B;
497 cIl_LAI, cellIdentifierDiscriminator='0100'B;
498 cIl_LAC, cellIdentifierDiscriminator='0101'B;
499 cIl_allInBSS, cellIdentifierDiscriminator='0110'B;
500 cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"}
501
502 // 3.2.2.27f
503type record BSSMAP_IE_CellIdentifierListSegmentNotEstablishedCellsNoEstPossible
504{
505 OCT1 elementIdentifier, // '73'O
506 INT1 lengthIndicator,
507 BIT4 cellIdentifierDiscriminator,
508 BIT4 spare1_4, // '0000'B
509 BSSMAP_FIELD_CellIdentificationListEstablishment cellIdentificationListNotEstablishedCellsNoEstPossible
510} with { variant "PRESENCE (elementIdentifier = '73'O)"
511 variant (lengthIndicator)
512 "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationListNotEstablishedCellsNoEstPossible)";
513 variant (cellIdentificationListNotEstablishedCellsNoEstPossible) "CROSSTAG(
514 cIl_CGI, cellIdentifierDiscriminator='0000'B;
515 cIl_LAC_CI, cellIdentifierDiscriminator='0001'B;
516 cIl_CI, cellIdentifierDiscriminator='0010'B;
517 cIl_LAI, cellIdentifierDiscriminator='0100'B;
518 cIl_LAC, cellIdentifierDiscriminator='0101'B;
519 cIl_allInBSS, cellIdentifierDiscriminator='0110'B;
520 cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"}
521
522
523// Priority - 48.008 subclause 3.2.2.18
524type record BSSMAP_IE_Priority
525{
526 OCT1 elementIdentifier, //'06'O
527 INT1 lengthIndicator, //'01'O
528 BIT1 pvi, // '0'B connection canNOT be preempted by other allocation
529 // '1'B connection might be preempted by other allocation
530 BIT1 qa, // '0'B queuing not allowed - '1'B queuing allowed
531 BIT4 priorityLevel, // '0000'B spare
532 // '0001'B priority 1 level (highest)
533 // '1110'B priority 14 level (lowest)
534 // '1111'B priority used not
535 BIT1 pci, // '0'B allocation canNOT preempt connection other
536 // '1'B allocation might preempt other connection
537 BIT1 spare1_1 // '0'B
538} with { variant "PRESENCE (elementIdentifier = '06'O)"
539 variant(lengthIndicator) "LENGTHTO(pvi,qa,priorityLevel,pci,spare1_1)" }
540
541
542// Classmark Information Type 2 - 48.008 subclause 3.2.2.19
543type record BSSMAP_IE_ClassmarkInformationType2
544{
545 OCT1 elementIdentifier, //'12'O
546 INT1 lengthIndicator, // '02'O or '03'O
547 BIT3 rf_PowerCapability, // '000'B class1 (for GSM+DCS+PCS)
548 // '001'B class2 (for GSM+DCS+PCS)
549 // '010'B class3 (for GSM+DCS+PCS)
550 // '011'class4 B (only for GSM)
551 // '100'class5 B (only for GSM)
552 BIT1 a5_1, //encryption algorithm A5/1 available ('1'B) or not ('0'B)
553 BIT1 esind,//controlled early classmark sending implemented ('1'B) or not ('0'B)
554 BIT2 revisionLevel, // '00'B reserved for phase1 (GSM+DCS)
555 // '00'B reserved (PCS)
556 // '01'B used by phase2 MSs (GSM+DCS)
557 // '01'B used by PCS1900 MSs phase1 (PCS)
558 BIT1 spare1_1, // '0'B
559 BIT1 fc, // MS' support of E/R_GSM ('1'B) or not ('0'B)
560 BIT1 vgcs, // VGCS capability or notification wanted ('1'B) or not ('0'B)
561 BIT1 vbs, // VBS capability or notification wanted ('1'B) or not ('0'B)
562 BIT1 sm_Capability, // SM capbility present ('1'B) or not ('0'B)
563 BIT2 ss_ScreenIndicator, // '00'B default value of phase1 (GSM+DCS)
564 // '00'reserved B (PCS)
565 // '01'B capability of notation ellipsis
566 // '10'B for future use
567 // '11'B for use future
568 BIT1 ps_Capability, // ignored, if received
569 BIT1 spare2_1, // '0'B
570 BSSMAP_FIELD_ClassmarkInformationType2_oct5 classmarkInformationType2_oct5
571} with { variant "PRESENCE (elementIdentifier = '12'O)";
572 variant (lengthIndicator) "LENGTHTO (rf_PowerCapability, a5_1,
573 esind, revisionLevel, spare1_1, fc, vgcs, vbs, sm_Capability,
574 ss_ScreenIndicator, ps_Capability, spare2_1,
575 classmarkInformationType2_oct5)" }
576
577// Helper type for BSSMAP Applib
578type record BSSMAP_IE_ClassmarkInformationType2_V
579{
580 BIT3 rf_PowerCapability, // '000'B class1 (for GSM+DCS+PCS)
581 // '001'B class2 (for GSM+DCS+PCS)
582 // '010'B class3 (for GSM+DCS+PCS)
583 // '011'class4 B (only for GSM)
584 // '100'class5 B (only for GSM)
585 BIT1 a5_1, //encryption algorithm A5/1 available ('1'B) or not ('0'B)
586 BIT1 esind,//controlled early classmark sending implemented ('1'B) or not ('0'B)
587 BIT2 revisionLevel, // '00'B reserved for phase1 (GSM+DCS)
588 // '00'B reserved (PCS)
589 // '01'B used by phase2 MSs (GSM+DCS)
590 // '01'B used by PCS1900 MSs phase1 (PCS)
591 BIT1 spare1_1, // '0'B
592 BIT1 fc, // MS' support of E/R_GSM ('1'B) or not ('0'B)
593 BIT1 vgcs, // VGCS capability or notification wanted ('1'B) or not ('0'B)
594 BIT1 vbs, // VBS capability or notification wanted ('1'B) or not ('0'B)
595 BIT1 sm_Capability, // SM capbility present ('1'B) or not ('0'B)
596 BIT2 ss_ScreenIndicator, // '00'B default value of phase1 (GSM+DCS)
597 // '00'reserved B (PCS)
598 // '01'B capability of notation ellipsis
599 // '10'B for future use
600 // '11'B for use future
601 BIT1 ps_Capability, // ignored, if received
602 BIT1 spare2_1, // '0'B
603 BSSMAP_FIELD_ClassmarkInformationType2_oct5 classmarkInformationType2_oct5
604}
605
606type record BSSMAP_FIELD_ClassmarkInformationType2_oct5
607{
608 BIT1 a5_2,//encryption algorithm A5/2 available ('0'B) or not ('1'B)
609 BIT1 a5_3,//encryption algorithm A5/3 available ('0'B) or not ('1'B)
610 BIT1 cmsp,//"Network initiated MO CM connectionrequest" not supported ('0'B)
611 //or supported for at least one CM protocol ('1'B)
612 BIT1 solsa,// The ME support SoLSA ('1'B) or not ('0'B)
613 BIT1 ucs2, // '0'B ME has a preference for the default alphabet over UCS2
614 // '1'B ME has no preference between the use of the default
615 // alphabet and the use of UCS2
616 BIT1 lcsvacap, // LCS value added location request notification capability
617 // supported ('1'B) or not ('0'B)
618 BIT1 spare,// '0'B
619 BIT1 cm3 // '0'B Any additional capability info ('1'B) or not ('0'B)
620}
621
622
623// Classmark Information Type 3 - 48.008 subclause 3.2.2.20
624type record BSSMAP_IE_ClassmarkInformationType3
625{
626 OCT1 elementIdentifier, //'13'O
627 INT1 lengthIndicator, // '01'O .. '0C'O
628 OCT1_32 classmark3ValuePart
629} with { variant "PRESENCE (elementIdentifier = '13'O)"
630 variant (lengthIndicator) "LENGTHTO (classmark3ValuePart)"}
631
632
633// Interference Band To Be Used - 48.008 subclause 3.2.2.21
634type record BSSMAP_IE_InterferenceBandToBeUsed
635{
636 OCT1 elementIdentifier, // '14'O
637 BIT5 band,
638 BIT3 spare
639} with { variant "PRESENCE (elementIdentifier = '14'O)" }
640
641
642// RR Cause - 48.008 subclause 3.2.2.22
643type record BSSMAP_IE_RR_Cause
644{
645 OCT1 elementIdentifier, // '15'O
646 OCT1 rr_Cause
647} with { variant "PRESENCE (elementIdentifier = '15'O)" }
648
649
650// LSA Information - 48.008 subclause 3.2.2.23
651type record BSSMAP_IE_LSAInformation
652{
653 OCT1 elementIdentifier, //'3D'O
654 INT1 lengthIndicator,
655 BIT1 lSAonly,
656 BIT7 spare,
657 BSSMAP_FIELD_LSAIdAttrib_List lSAIdAttrib_List
658} with { variant "PRESENCE (elementIdentifier = '3D'O)"
659 variant (lengthIndicator) "LENGTHTO (lSAonly,spare,lSAIdAttrib_List)" }
660
661type record BSSMAP_FIELD_LSAIdAttrib
662{
663 BIT4 priority,
664 BIT1 pref,
665 BIT1 act,
666 BIT2 spare
667}
668
669type record of BSSMAP_FIELD_LSAIdAttrib BSSMAP_FIELD_LSAIdAttrib_List
670
671
672// Layer 3 Information - 48.008 subclause 3.2.2.24
673type record BSSMAP_IE_Layer3Information
674{
675 OCT1 elementIdentifier, // '17'O
676 INT1 lengthIndicator,
677 octetstring layer3info
678} with { variant "PRESENCE (elementIdentifier = '17'O)"
679 variant (lengthIndicator) "LENGTHTO (layer3info)"}
680
681// DLCI - 48.008 subclause 3.2.2.25 (48006 v8.0.0 section 9.3.2)
682type record BSSMAP_IE_DLCI
683{
684 OCT1 elementIdentifier, // '18'O
685 BIT3 sapiValue, // '011'O Short Message Signalling Service
686 BIT3 spare,
687 BIT1 c1,
688 BIT1 c2
689}
690
691
692// Downlink DTX Flag - 48.008 subclause 3.2.2.26
693type record BSSMAP_IE_DownLinkDTXFlag
694{
695 OCT1 elementIdentifier, // '19'O
696 BIT1 dtx, // DTX is disabled ('0'B) or enabled ('1'B) to downlink
697 BIT7 spare1_7 // '0000000'B
698} with { variant "PRESENCE (elementIdentifier = '19'O)" }
699
700
701// Cell Identifier List - 48.008 subclause 3.2.2.27
702// See above under Cell Identifier
703
704
705// Response Request - 48.008 subclause 3.2.2.28
706type record BSSMAP_IE_ResponseRequest
707{
708 OCT1 elementIdentifier // '1B'O
709} with { variant "PRESENCE (elementIdentifier = '1B'O)" }
710
711
712// Resource Indication Method - 48.008 subclause 3.2.2.29
713type record BSSMAP_IE_ResourceIndMethod
714{
715 OCT1 elementIdentifier, // '1C'O
716 BIT4 resourceIndMethod,
717 BIT4 spare
718}
719
720
721// Classmark Information Type 1 - 48.008 subclause 3.2.2.30
722type record BSSMAP_IE_ClassmarkInformationType1
723{
724 OCT1 elementIdentifier, // '1D'O
725 BIT3 rf_PowerCapability, // '000'B class1 (for GSM+DCS+PCS)
726 // '001'B class2 (for GSM+DCS+PCS)
727 // '010'B class3 (for GSM+DCS+PCS)
728 // '011'class4 B (only for GSM)
729 // '100'class5 B (only for GSM)
730 BIT1 a5_1, //encryption algorithm A5/1 available ('1'B) or not ('0'B)
731 BIT1 esind, //controlled early classmark sending implemented (1) or not (0)
732 BIT2 revisionLevel,
733 BIT1 spare1_1 // '0'B
734} with { variant "PRESENCE(elementIdentifier = '1D'O)" }
735
736// Circuit Identity Code List - 48.008 subclause 3.2.2.31
737type record BSSMAP_IE_CircuitIdentityCodeList
738{
739 OCT1 elementIdentifier, // '1E'O
740 INT1 lengthIndicator,
741 OCT1 range, // A number in binary representation ranging from 2 to 255
742 OCTN status // status data of lengthIndicator 1_32
743} with { variant "PRESENCE(elementIdentifier = '1E'O)"
744 variant (lengthIndicator) "LENGTHTO (range, status)" } ;
745
746
747// Diagnostics - 48.008 subclause 3.2.2.32
748type record BSSMAP_IE_Diagnostics
749{
750 OCT1 elementIdentifier, // '1F'O
751 INT1 lengthIndicator,
752 OCT1 errorLocation, // First octet of Error pointer
753 BIT4 bitPointer,
754 BIT4 spare,
755 OCTN messageReceived // The errorneous message
756} with {variant (lengthIndicator)
757 "LENGTHTO (errorLocation, bitPointer, spare, messageReceived)" } ;
758
759
760// Chosen Channel - 48.008 subclause 3.2.2.33
761type record BSSMAP_IE_ChosenChannel
762{
763 OCT1 elementIdentifier, // '21'O
764 BIT4 channel,
765 BIT4 channelMode
766} with { variant "PRESENCE (elementIdentifier = '21'O)" }
767
768
769// Cipher Response Mode - 48.008 subclause 3.2.2.34
770type record BSSMAP_IE_CipherResponseMode
771{
772 OCT1 elementIdentifier, // '23'O
773 BIT1 cipherResponseModeInfo,//IMEISV must be included by MS ('0') or not (1)
774 BIT7 spare1_7 // '0000000'B
775} with { variant "PRESENCE (elementIdentifier = '23'O)" }
776
777
778// Layer 3 Message contents - 48.008 subclause 3.2.2.35
779type record BSSMAP_IE_Layer3MessageContents
780{
781 OCT1 elementIdentifier, // '20'O
782 INT1 lengthIndicator,
783 octetstring layer3MsgConents
784} with { variant "PRESENCE (elementIdentifier = '20'O)"
785 variant (lengthIndicator) "LENGTHTO (layer3MsgConents)"}
786
787
788// Channel Needed - 48.008 subclause 3.2.2.36
789type record BSSMAP_IE_ChannelNeeded
790{
791 OCT1 elementIdentifier, // '24'O
792 BIT2 channel, //00:any, 01:SDCCH, 10:Full TCH, 11:Dual TCH
793 BIT6 spare
794} with { variant "PRESENCE (elementIdentifier = '24'O)" }
795
796
797// Trace Type - 48.008 subclause 3.2.2.37
798type record BSSMAP_IE_TraceType
799{
800 OCT1 elementIdentifier, // '25'O
801 BIT2 e,// Event Invoking
802 // '00'B: Mobile Originated Call, Mobile Call Terminated,
803 // Short Message Service Mobile Originated, Short
804 // Message Service Mobile Terminated, Independent Call
805 // Supplementary Services, Updates Location,
806 // IMSI attach, detach IMSI
807 // '01'B: Mobile Originated Call, Mobile Call Terminated,
808 // Short Message Service Mobile Originated, Short
809 // Message Service Mobile Terminated, Independent Call
810 // Supplementary Services only
811 // '10'B: Location Updates, IMSI attach, IMSI only detach
812 // '11'B: Operator definable
813 BIT2 d,// MSC Type Record
814 // '00'B: Basic
815 // '01'B: Detailed (Optional)
816 // '00'B: Spare
817 // '00'B: No Trace MSC
818 BIT2 c,// BSS Type Record
819 // '00'B: Basic
820 // '01'B: Handover
821 // '00'B: Radio
822 // '00'B: No Trace BSS
823 BIT1 b,// For expansion future
824 // Set to '0'B
825 BIT1 a // Priority Indication
826 // '0'B: Priority No
827 // '1'B: Priority
828}
829
830
831// Trigger ID - 48.008 subclause 3.2.2.38
832type record BSSMAP_IE_TriggerId
833{
834 OCT1 elementIdentifier, //'26'O
835 INT1 lengthIndicator,
836 octetstring entityIdentity length(1..20)
837} with { variant "PRESENCE (elementIdentifier = '26'O)"
838 variant (lengthIndicator) "LENGTHTO (entityIdentity)" }
839
840
841// Trace Reference - 48.008 subclause 3.2.2.39
842type record BSSMAP_IE_TraceReference
843{
844 OCT1 elementIdentifier, // '27'O
845 OCT1 msb_TraceReference, // the most significant bit of trace reference
846 OCT1 lsb_TraceReference // the least significant bit of trace reference
847} with { variant "PRESENCE (elementIdentifier = '27'O)" }
848
849
850// Transaction ID - 48.008 subclause 3.2.2.40
851type record BSSMAP_IE_TransactionId
852{
853 OCT1 elementIdentifier, //'28'O
854 INT1 lengthIndicator,
855 octetstring transactionNumber length(1..2)
856} with { variant "PRESENCE (elementIdentifier = '28'O)"
857 variant (lengthIndicator) "LENGTHTO (transactionNumber)" }
858
859
860// Mobil Identity - 48.008 subclause 3.2.2.41
861type record BSSMAP_IE_MobileIdentity
862{
863 OCT1 elementIdentifier, // '29'O
864 INT1 lengthIndicator,
865 BIT3 typeOfIdentity,
866 BIT1 oddEvenIndicator, // '0'B even / 1'B odd number of identity digits
867 HEX5_16 digits // if nr of digits is even, the last digit: '1111'B
868} with { variant "PRESENCE (elementIdentifier = '29'O)"
869 variant (lengthIndicator)
870 "LENGTHTO (typeOfIdentity,oddEvenIndicator,digits)";
871 variant "PADDING(yes),PADDING_PATTERN('1'B)"}
872
873
874// OMCID - 48.008 subclause 3.2.2.42
875type record BSSMAP_IE_OMCId
876{
877 OCT1 elementIdentifier, // '2A'O
878 INT1 lengthIndicator,
879 BIT4 numberingPlanind, // '0000'B unknown
880 // '0001'B ISDN/Telephony Numbering Plan (Rec CCITT E.164)
881 // '0011'B data numbering plan (CCITT Rec X.121)
882 // '0100'B telex numbering plan (CCITT Rec F.69)
883 // '0110'B land mobile numbering plan (CCITT Rec E.212)
884 // '1000'B national numbering plan
885 // '1001'B private numbering plan
886 // All other values are reserved
887 BIT3 natureOfAddress, // '000'B unknown
888 // '001'B international number
889 // '010'B national significant number
890 // '011'B network specific number
891 // '100'B subscriber number
892 // '110'B abbreviated number
893 // All other values are reserved
894 BIT1 ext,
895 OCTN digits// The digits are encoded TBCD (digit 0000 _ 1001 (0_9),
896 // 1010 = '*', 1011 = '#', 1100 = 'A', 1101 = 'B', 1110 = 'C').
897 // If the number of identity digits is odd bits then bit 5-8
898 // of the last octet is filled with '1111'
899} with { variant "PRESENCE (elementIdentifier = '2A'O)"
900 variant (lengthIndicator) "LENGTHTO (numberingPlanind, natureOfAddress,
901 ext, digits)"}
902
903
904// Forward Indicator - 48.008 subclause 3.2.2.43
905type record BSSMAP_IE_ForwardIndicator
906{
907 OCT1 elementIdentifier, //'2B'O
908 BIT4 forwardIndicator,
909 BIT4 spare
910} with { variant "PRESENCE (elementIdentifier = '2B'O)" }
911
912
913// Choosen Encryption Algorithm - 48.008 subclause 3.2.2.44
914type record BSSMAP_IE_ChosenEncryptionAlgorithm
915{
916 OCT1 elementIdentifier, // '2C'O
917 OCT1 algorithmIdentifier // '00000001'B no encryption
918 // '00000010'B A5/1
919 // '00000011'B A5/2
920 // '00000100'B A5/3
921 // '00000101'B A5/4
922 // '00000110'B A5/5
923 // '00000111'B A5/6
924 // '00001000'B A5/7
925} with { variant "PRESENCE (elementIdentifier = '2C'O)" }
926
927
928// Circuit Pool - 48.008 subclause 3.2.2.45
929type record BSSMAP_IE_CircuitPool
930{
931 OCT1 elementIdentifier, // '2D'O
932 OCT1 circuitPoolNumber
933} with { variant "PRESENCE (elementIdentifier = '2D'O)" }
934
935
936// Circuit Pool List - 48.008 subclause 3.2.2.46
937type record BSSMAP_IE_CircuitPoolList
938{
939 OCT1 elementIdentifier, // '2E'O
940 INT1 lengthIndicator,
941 octetstring circuitPoolNumber
942} with { variant "PRESENCE (elementIdentifier = '2E'O)"
943 variant (lengthIndicator) "LENGTHTO (circuitPoolNumber)" } ;
944
945
946// Time Indication - 48.008 subclause 3.2.2.47
947type record BSSMAP_IE_TimeIndication
948{
949 OCT1 elementIdentifier, // '2F'O
950 OCT1 time
951}
952
953
954// Resource Situation - 48.008 subclause 3.2.2.48
955type record BSSMAP_IE_ResourceSituation
956{
957 OCT1 elementIdentifier, // '30'O
958 INT1 lengthIndicator,
959 BSSMAP_FIELD_ResourceList resourceList
960} with {variant "PRESENCE (elementIdentifier = '30'O)"
961 variant (lengthIndicator) "LENGTHTO (resourceList)" }
962
963type record of BSSMAP_FIELD_Resource
964BSSMAP_FIELD_ResourceList
965
966type record BSSMAP_FIELD_Resource
967{
968 BIT4 channelType,
969 BIT4 resourceAndBandInd,
970 OCT1 nrOfChannels,
971 OCT1 nrOfChannels7_15 optional
972} with {variant (nrOfChannels) "EXTENSION_BIT(reverse)"}
973
974
975// Current Channel Type 1 - 48.008 subclause 3.2.2.49
976type record BSSMAP_IE_CurrentChannelType1
977{
978 OCT1 elementIdentifier, // '31'O
979 BIT4 channel,
980 BIT4 channelMode
981} with { variant "PRESENCE (elementIdentifier = '31'O)" }
982
983// Queueing Indicator - 48.008 subclause 3.2.2.50
984type record BSSMAP_IE_QueueingIndicator
985{
986 OCT1 elementIdentifier, //'32'O
987 BIT1 spare1, // '0'B
988 BIT1 qri, // It is recommended to allow queueing ('1'B) or not ('0'B)
989 BIT6 spare2 // '000000'B
990} with { variant "PRESENCE (elementIdentifier = '32'O)" }
991
992// Speech Version - 48.008 subclause 3.2.2.51
993type record BSSMAP_IE_SpeechVersion
994{
995 OCT1 elementIdentifier, // '40'O
996 BIT7 speechVersionIdentifier,//'0000001'B speech full rate version 1 (H'01)
997 //'0010001'B speech full rate version 2 (H'11)
998 //'0100001'B speech full rate version 3 (H'21)
999 //'0000101'B speech half rate version 1 (H'05)
1000 //'0010101'B speech half rate version 2 (H'15)
1001 //'0100101'B speech half rate version 3 (H'25)
1002 BIT1 spare1_1 // '0'B
1003} with { variant "PRESENCE (elementIdentifier = '40'O)" }
1004
1005
1006// Assignment Requirement - 48.008 subclause 3.2.2.52
1007type record BSSMAP_IE_AssignmentRequirement
1008{
1009 OCT1 elementIdentifier, // '33'O
1010 OCT1 assignmentRequirement
1011} with { variant "PRESENCE (elementIdentifier = '33'O)" }
1012
1013
1014// Talker Flag - 48.008 subclause 3.2.2.54
1015type record BSSMAP_IE_TalkerFlag
1016{
1017 OCT1 elementIdentifier // '35'O
1018} with { variant "PRESENCE (elementIdentifier = '35'O)" }
1019
1020
1021// Group Call Reference - 48.008 subclause 3.2.2.55
1022type record BSSMAP_IE_GroupCallReference
1023{
1024 OCT1 elementIdentifier, // '37'O
1025 INT1 lengthIndicator, // 1..6
1026 octetstring descrGroupbroadcastCallRef length(1..5) // never sent by MSC, ignored if received
1027} with { variant "PRESENCE (elementIdentifier = '37'O)"
1028 variant (lengthIndicator) "LENGTHTO (descrGroupbroadcastCallRef)" }
1029
1030
1031// EMLPP Priority - 48.008 subclause 3.2.2.56
1032type record BSSMAP_IE_EMLPP_Priority
1033{
1034 OCT1 elementIdentifier,// '38'O
1035 BIT3 callPriority, // '000'B no priority applied
1036 // '001'B call priority level 4
1037 // '010'B call priority 3 level
1038 // '011'B call priority level 2
1039 // '100'B call priority 1 level
1040 // '101'B call priority level 0
1041 // '110'B call priority B level
1042 // '111'B call priority level A
1043 BIT5 spare1_5 // '00000'B
1044} with { variant "PRESENCE (elementIdentifier = '38'O)" }
1045
1046
1047// Configuration Evolution Indicator - 48.008 subclause 3.2.2.57
1048type record BSSMAP_IE_ConfigurationEvolutionIndication
1049{
1050 OCT1 elementIdentifier,// H'39
1051 BIT4 smi, // '0000'B no modification is allowed
1052 // '0001'B modification allowed <= 1 TCH/F
1053 // '0010'B modification allowed <= 2 TCH/F
1054 // '0011'B modification allowed <= 3 TCH/F
1055 // '0100'B modification allowed <= 4 TCH/F
1056 BIT4 spare1_4 // '0000'B
1057} with { variant "PRESENCE (elementIdentifier = '39'O)" }
1058
1059
1060// Old BSS to New BSS Information - 48.008 subclause 3.2.2.58
1061type record BSSMAP_IE_OldToNewBSSInfo
1062{
1063 OCT1 elementIdentifier, //'3A'O
1064 INT1 lengthIndicator,
1065 octetstring oldToNewBSSIEs
1066} with { variant "PRESENCE (elementIdentifier = '3A'O)"
1067 variant (lengthIndicator) "LENGTHTO (oldToNewBSSIEs)" }
1068
1069
1070// LCS QOS - 48.008 subclause 3.2.2.60 (and 49.031 10.16)
1071type record BSSMAP_IE_LCSQOS {
1072 OCT1 elementIdentifier, // '3E'O
1073 INT1 lengthIndicator,
1074 BIT1 vCI, //Vertical Coordinate Indicator: VC requested ('1'B) or not ('0'B)
1075 BIT1 vEL, // report velocity if available (1) or not(0)
1076 BIT6 spare_1_6, // '0000000'B
1077 BIT7 horizontalAccuracy, // Accuracy Horizontal (HA)
1078 BIT1 hAI, // Horizontal Accuracy Indicator HA is specified (1) or not (0)
1079 BIT7 verticalAccuracy, // Accuracy Vertical (VA)
1080 BIT1 vAI, // Vertical Accuracy Indicator VA is specified (1) or not (0)
1081 BIT6 spare_2_6, // '000000'B
1082 BIT2 rTC // '00'B Response Time is not specified
1083 // '01'B delay Low
1084 // '10'B Delay tolerant
1085 // '11'B Reserved
1086} with { variant "PRESENCE (elementIdentifier = '3E'O)"
1087 variant (lengthIndicator) "LENGTHTO (vCI, vEL, spare_1_6, horizontalAccuracy,
1088 hAI, verticalAccuracy, vAI, spare_2_6, rTC)"}
1089
1090
1091// LSA Access Control Suppression - 48.008 subclause 3.2.2.61
1092type record BSSMAP_IE_LSAAccessControlSuppression
1093{
1094 OCT1 elementIdentifier, //'3F'O
1095 BIT1 em, // in emergency calls em = '1'B
1096 BIT7 spare // '0000000'B
1097} with { variant "PRESENCE (elementIdentifier = '3F'O)" }
1098
1099
1100// LCS Priority - 48.008 subclause 3.2.2.62
1101type record BSSMAP_IE_LCSPriority
1102{
1103 OCT1 elementIdentifier,// '43'O
1104 INT1 lengthIndicator,
1105 OCT1 priority // see "another FS" TS 29.002 for more detail
1106} with { variant "PRESENCE (elementIdentifier = '43'O)"
1107 variant (lengthIndicator) "LENGTHTO (priority)"}
1108
1109
1110// Location Type - 48.008 subclause 3.2.2.63
1111type record BSSMAP_IE_LocationType
1112{
1113 OCT1 elementIdentifier, // '44'O
1114 INT1 lengthIndicator, // 1 or 2
1115 OCT1 locationInformation,// '00000000'B current location geographic
1116 // '00000001'B loc assistance info for target MS
1117 // '00000010'B deciphering keys for broadcast
1118 // assistance data for MS target
1119 // all other values are reserved
1120 OCT1 positioningMethod optional
1121 // '00000000'B reserved
1122 // '00000001'B Mobile E_OTD Assisted
1123 // '00000010'B Mobile Based E_OTD
1124 // '00000011'B GPS Assisted
1125 // all other values are reserved
1126} with {variant (lengthIndicator) "LENGTHTO (locationInformation, positioningMethod)"}
1127
1128
1129// Location Estimate - 48.008 subclause 3.2.2.64
1130type record BSSMAP_IE_LocationEstimate
1131{
1132 OCT1 elementIdentifier, // '45'O
1133 INT1 lengthIndicator, // 1_22 on A_interface, 1_93 E_interface on
1134 OCTN geographicLocation
1135} with { variant "PRESENCE (elementIdentifier = '45'O)"
1136 variant (lengthIndicator) "LENGTHTO (geographicLocation)"}
1137
1138
1139// Positioning Data - 48.008 subclause 3.2.2.65
1140type record BSSMAP_IE_PositioningData
1141{
1142 OCT1 elementIdentifier, // '46'O
1143 INT1 lengthIndicator, // 2_11
1144 BIT4 positioningDataDescriminator, // '0000'B indicates usage of each
1145 // positioning data method,
1146 // that was attempted
1147 // all other values reserved are
1148 BIT4 spare_1_4, // '0000'B
1149 BSSMAP_FIELD_PositioningMethods positioningMethod // of lengthIndicator 1_10
1150} with { variant "PRESENCE (elementIdentifier = '46'O)"
1151 variant (lengthIndicator) "LENGTHTO (positioningDataDescriminator, spare_1_4,positioningMethod)"}
1152
1153type record BSSMAP_FIELD_PositioningMethod
1154{
1155 BIT3 usage, // '000'B unsuccesful attempt due to failure or interruption
1156 // '001'B succesful attempt, results not used to generate location
1157 // '010'B succesful attempt, results used to verify but not generate location
1158 // '011'B succesful attempt, results used to generate location
1159 // '100'B succesful attempt, MS supports multiple based positioning methods
1160 BIT5 positioningMethod // '00000'B Timing Advance
1161 // '00001'B TOA
1162 // '00010'B AOA
1163 // '00011'B Mobile EOTD Assisted
1164 // '00100'B Mobile Based E_OTD
1165 // '00101'B Mobile GPS Assisted
1166 // '00110'B Mobile Based GPS
1167 // '00111'B GPS Conventional
1168 // '01000'B _ '01111'B reserved for GSM
1169 // '10000'B _ '11111'B reserved for network
1170 // specific positioning methods
1171}
1172
1173type record of BSSMAP_FIELD_PositioningMethod BSSMAP_FIELD_PositioningMethods
1174
1175
1176// LCS Cause - 48.008 subclause 3.2.2.66
1177type record BSSMAP_IE_LCSCause
1178{
1179 OCT1 elementIdentifier, // '47'O
1180 INT1 lengthIndicator, // 1 (_> diagnosticValue invalid) 2 or
1181 BIT8 causeValue, // '00000000'BUnspecified
1182 // '00000001'B System Failure
1183 // '00000010'B Error Protocol
1184 // '00000011'B Data missing in position request
1185 // '00000100'B unexpected data value in request position
1186 // '00000101'B Position method failure
1187 // '00000110'B Target unreachable MS
1188 // '00000111'B Location request aborted
1189 // '00001000'B Facility supported not
1190 // '00001001'B intra_BSC_HO ongoing
1191 // '00001010'B complete intra_BSC_HO
1192 // '00001011'B congestion
1193 // all other values reserved are
1194 OCT1 diagnosticValue optional
1195} with { variant "PRESENCE (elementIdentifier = '47'O)"
1196 variant (lengthIndicator) "LENGTHTO (causeValue, diagnosticValue)"}
1197
1198
1199// LCS Client Type - 48.008 subclause 3.2.2.67
1200type record BSSMAP_IE_LCSClientType
1201{
1202 OCT1 elementIdentifier, // '48'O
1203 INT1 lengthIndicator, // 1
1204 BIT4 subtype, // all values unspecified/reserved except for:
1205 // category = PLMN Operator:
1206 // '0000'B Unspecified
1207 // '0001'B Boradcast Service
1208 // '0010'B O&M
1209 // '0011'B Statistics Anonymous
1210 // '0100'B Target MS Service Support
1211 // all other values reserved are
1212 BIT4 category // '0000'B Value added client
1213 // '0010'B Operator PLMN
1214 // '0011'B Emergency Services
1215 // '0100'B Lawful Services Intercept
1216 // all other values are reserved
1217} with { variant "PRESENCE (elementIdentifier = '48'O)"
1218 variant (lengthIndicator) "LENGTHTO (subtype, category)"}
1219
1220
1221// APDU - 48.008 subclause 3.2.2.68 (and 49.031 v5.3.0)
1222type record BSSMAP_IE_APDU
1223{
1224 OCT1 elementIdentifier, //'49'O
1225 LIN2_BO_LAST lengthIndicator,
1226 BIT7 protocolID optional, // '0000000'reserved B
1227 // '0000001'BSSLAP B (the only currently supported)
1228 // '0000010'LLP B
1229 // '0000011'B SMLCPP
1230 BIT1 spare_1_1 optional, // '0'B
1231 octetstring embeddedMessage optional // of length: 5_25
1232} with { variant "PRESENCE (elementIdentifier = '49'O)"
1233 variant (lengthIndicator)
1234 "LENGTHTO (protocolID,spare_1_1,embeddedMessage)"}
1235
1236
1237// Network Element Identity - 48.008 subclause 3.2.2.69
1238type record BSSMAP_IE_NetworkElementIdentity
1239{
1240 OCT1 elementIdentifier, //'4A'O
1241 INT1 lengthIndicator,
1242 BIT4 iDDiscriminator,
1243 BIT4 spare,
1244 OCTN networkElementIdentity // Network Element Identity
1245} with {variant (lengthIndicator)
1246 "LENGTHTO (iDDiscriminator,spare,networkElementIdentity)"}
1247
1248
1249// GPS Assistant Data - 48.008 subclause 3.2.2.70
1250type record BSSMAP_IE_GPSAssistanceData
1251{
1252 OCT1 elementIdentifier, //'4B'O
1253 INT1 lengthIndicator, // 1_38
1254 OCT1 a_to_h,
1255 OCT1 i_to_p,
1256 OCTN satellite_related_data // Satellite related data
1257} with { variant "PRESENCE (elementIdentifier = '4B'O)"
1258 variant (lengthIndicator) "LENGTHTO (satellite_related_data,a_to_h,i_to_p)"}
1259
1260
1261// Deciphering Key - 48.008 subclause 3.2.2.71
1262type record BSSMAP_IE_DecipheringKeys
1263{
1264 OCT1 elementIdentifier, // '4C'O
1265 INT1 lengthIndicator, // 1, 8, 15
1266 BIT8 cipheringKeyFlag, // current ciphering key is used (1) or not (0)
1267 BIT56 currentdecipheringKeyValue,
1268 BIT56 nextdecipheringKeyValue optional
1269} with { variant "PRESENCE (elementIdentifier = '4C'O)"
1270 variant (lengthIndicator) "LENGTHTO (cipheringKeyFlag,
1271 currentdecipheringKeyValue, nextdecipheringKeyValue)"}
1272
1273
1274// Return Error Request - 48.008 subclause 3.2.2.72
1275type record BSSMAP_IE_ReturnErrorRequest
1276{
1277 OCT1 elementIdentifier, //'4D'O
1278 INT1 lengthIndicator,
1279 OCT1 returnErrorType // Return Error Request
1280} with { variant "PRESENCE (elementIdentifier = '4D'O)"
1281 variant (lengthIndicator) "LENGTHTO (returnErrorType)"}
1282
1283
1284// Return Error Cause - 48.008 subclause 3.2.2.73
1285type record BSSMAP_IE_ReturnErrorCause
1286{
1287 OCT1 elementIdentifier, //'4E'O
1288 INT1 lengthIndicator,
1289 OCT1 returnErrorCause // Return Error Cause
1290} with { variant "PRESENCE (elementIdentifier = '4E'O)"
1291 variant (lengthIndicator) "LENGTHTO (returnErrorCause)"}
1292
1293
1294// Segmentation - 48.008 subclause 3.2.2.74
1295type record BSSMAP_IE_Segmentation
1296{
1297 OCT1 elementIdentifier, //'4F'O
1298 INT1 lengthIndicator,
1299 BIT4 segmentationNumber,
1300 BIT1 segmentationBit,
1301 BIT3 spare,
1302 OCT2 messageID optional
1303} with { variant "PRESENCE (elementIdentifier = '4F'O)"
1304 variant (lengthIndicator)
1305 "LENGTHTO (segmentationNumber,segmentationBit,spare,messageID)"}
1306
1307
1308// Service Handover - 48.008 subclause 3.2.2.75
1309type record BSSMAP_IE_ServiceHandover
1310{
1311 OCT1 elementIdentifier, //'50'O
1312 INT1 lengthIndicator,
1313 BIT3 serviceHandoverInfo,
1314 BIT5 spare
1315} with { variant "PRESENCE (elementIdentifier = '50'O)"
1316 variant (lengthIndicator) "LENGTHTO (serviceHandoverInfo,spare)" }
1317
1318
1319//Source RNC to Target RNC transparent information -48.008 subclause 3.2.2.76-77
1320type record BSSMAP_IE_SourceToTargetRNCTransparentInfo
1321{
1322 OCT1 elementIdentifier, //'51'O or '52'O
1323 INT1 lengthIndicator,
1324 octetstring informationcontainer
1325} with { variant (lengthIndicator) "LENGTHTO (informationcontainer)" }
1326
1327
1328// GERAN Classmark - 48.008 subclause 3.2.2.78
1329type record BSSMAP_IE_GERANClassmark
1330{
1331 OCT1 elementIdentifier, //'53'O
1332 INT1 lengthIndicator,
1333 OCTN GERANClassmark
1334} with { variant "PRESENCE (elementIdentifier = '53'O)"
1335 variant (lengthIndicator) "LENGTHTO (GERANClassmark)" }
1336
1337
1338// GERAN BSC Container - 48.008 subclause 3.2.2.79
1339type record BSSMAP_IE_GERANBSCContainer
1340{
1341 OCT1 elementIdentifier, //'54'O
1342 INT1 lengthIndicator,
1343 OCT1 codecType,
1344 BIT3 maxNrofTCH,
1345 BIT5 allowedRadioIFRates
1346} with {variant (lengthIndicator)
1347 "LENGTHTO (codecType, maxNrofTCH, allowedRadioIFRates)" }
1348
1349
1350// New BSS to Old BSS Information - 48.008 subclause 3.2.2.80
1351type record BSSMAP_IE_NewBSSToOldBSSInfo
1352{
1353 OCT1 elementIdentifier, //'61'O
1354 INT1 lengthIndicator,
1355 OCTN newBSSToOldBSSIE optional
1356} with { variant "PRESENCE (elementIdentifier = '61'O)"
1357 variant (lengthIndicator) "LENGTHTO (newBSSToOldBSSIE)" }
1358
1359
1360// Inter-System Information - 48.008 subclause 3.2.2.81
1361type record BSSMAP_IE_InterSystemInfo
1362{
1363 OCT1 elementIdentifier, //'63'O
1364 INT1 lengthIndicator,
1365 OCTN interSystemInfoTranspCont
1366} with { variant "PRESENCE (elementIdentifier = '63'O)"
1367 variant (lengthIndicator) "LENGTHTO (interSystemInfoTranspCont)" }
1368
1369
1370// SNA Access Information - 48.008 subclause 3.2.2.82
1371type record BSSMAP_IE_SNAAccessInfo
1372{
1373 OCT1 elementIdentifier, //'64'O
1374 INT1 lengthIndicator,
1375 AuthorisedPLMN_List sNAAccessInfo
1376} with { variant "PRESENCE (elementIdentifier = '64'O)"
1377 variant (lengthIndicator) "LENGTHTO (sNAAccessInfo)" }
1378
1379type record of AuthorisedPLMN AuthorisedPLMN_List;
1380
1381type record AuthorisedPLMN
1382{
1383 INT1 lengthIndicator,
1384 OCT3 mcc_mnc,
1385 RecordOfOCT2 authorisedSNA optional
1386} with { variant (lengthIndicator) "LENGTHTO (mcc_mnc,authorisedSNA)" }
1387
1388
1389// 3.2.2.83 VSTK_RAND Information
1390type record BSSMAP_IE_VSTK_RAND
1391{
1392 OCT1 elementIdentifier, // '65'
1393 INT1 lengthIndicator,
1394 OCT1 VSTK_RAND_1,
1395 OCT2 VSTK_RAND_2,
1396 OCT3 VSTK_RAND_3,
1397 OCT4 VSTK_RAND_4,
1398 BIT4 spare,
1399 BIT4 VSTK_RAND_5
1400} with { variant "PRESENCE (elementIdentifier = '65'O)"
1401 variant (lengthIndicator)
1402 "LENGTHTO (VSTK_RAND_1, VSTK_RAND_2, VSTK_RAND_3, VSTK_RAND_4, spare, VSTK_RAND_5)"}
1403
1404
1405// 3.2.2.84 VSTK information
1406type record BSSMAP_IE_VSTK
1407{
1408 OCT1 elementIdentifier, // '66'
1409 INT1 lengthIndicator,
1410 OCT16 VSTK
1411} with { variant "PRESENCE (elementIdentifier = '66'O)"
1412 variant (lengthIndicator) "LENGTHTO (VSTK)"}
1413
1414
1415// 3.2.2.85 Paging Information
1416type record BSSMAP_IE_PagingInformation
1417{
1418 OCT1 elementIdentifier, // '67'
1419 INT1 lengthIndicator,
1420 BIT1 VGCS_or_VBS, // 0: not a member of any VGCS/VBS-group
1421 BIT2 pagingCause,
1422 BIT5 spare
1423} with { variant "PRESENCE (elementIdentifier = '67'O)"
1424 variant (lengthIndicator)
1425 "LENGTHTO (VGCS_or_VBS, pagingCause, spare)"}
1426
1427
1428// 3.2.2.86 IMEI
1429type record BSSMAP_IE_IMEI
1430{
1431 OCT1 elementIdentifier, // '68'
1432 INT1 lengthIndicator,
1433 BIT3 typeOfIdentity,
1434 BIT1 oddEvenIndicator, // '0'B even / 1'B odd number of identity digits
1435 HEX5_16 digits // if nr of digits is even, the last digit: '1111'B
1436} with { variant "PRESENCE (elementIdentifier = '68'O)"
1437 variant (lengthIndicator)
1438 "LENGTHTO (typeOfIdentity,oddEvenIndicator,digits)";
1439 variant "PADDING(yes),PADDING_PATTERN('1'B)"}
1440
1441
1442// 3.2.2.87 Velocity Estimate
1443type record BSSMAP_IE_VelocityEstimate
1444{
1445 OCT1 elementIdentifier, // '55'
1446 INT1 lengthIndicator,
1447 OCTN velocityEstimate
1448} with { variant "PRESENCE (elementIdentifier = '55'O)"
1449 variant (lengthIndicator) "LENGTHTO (velocityEstimate)"}
1450
1451
1452// 3.2.2.88 VGCS Feature Flags
1453type record BSSMAP_IE_VGCS_FeatureFlags
1454{
1455 OCT1 elementIdentifier, // '69'
1456 INT1 lengthIndicator,
1457 BIT1 TP_Ind, // 0: Talker Priority not supported; 1: Talker Priority supported
1458 BIT2 AS_Ind, // least sig. bit: 0: No A-interface circuit sharing; 1: A-interface circuit sharing;
1459 // most sig. bit: 0: No A-interface link sharing; 1: A-interface link sharing
1460 BIT1 BSS_Res, // 0: No re-establishment of the group or broadcast call by the BSS;
1461 // 1: Re-establishment of the group or broadcast call by the BSS
1462 BIT1 tCP,
1463 BIT3 spare
1464} with { variant "PRESENCE (elementIdentifier = '69'O)"
1465 variant (lengthIndicator)
1466 "LENGTHTO (TP_Ind, AS_Ind, BSS_Res, tCP, spare)"}
1467
1468
1469// Talker Priority - 48.008 subclause 3.2.2.89
1470type record BSSMAP_IE_TalkerPriority
1471{
1472 OCT1 elementIdentifier, // '6A'O
1473 BIT2 priority,
1474 // 0 0 Normal Priority
1475 // 0 1 Privileged Priority
1476 // 1 0 Emergency Priority
1477 // 1 1 reserved for future use
1478 BIT6 spare // 1..9
1479} with { variant "PRESENCE (elementIdentifier = '6A'O)" }
1480
1481
1482// 3.2.2.90 Emergency Set Indication
1483type record BSSMAP_IE_EmergencySetIndication
1484{
1485 OCT1 elementIdentifier // '6B'
1486} with { variant "PRESENCE (elementIdentifier = '6B'O)" }
1487
1488
1489// 3.2.2.91 Talker Identity
1490type record BSSMAP_IE_TalkerIdentity
1491{
1492 OCT1 elementIdentifier, // '6C'
1493 INT1 lengthIndicator,
1494 BIT3 fillerBits,
1495 BIT5 spare,
1496 OCT17 talkerIdentity
1497} with { variant "PRESENCE (elementIdentifier = '6C'O)"
1498 variant (lengthIndicator)
1499 "LENGTHTO (fillerBits, spare, talkerIdentity)"}
1500
1501
1502// 3.2.2.92 SMS to VGCS
1503type octetstring OCT248 length(0..248);
1504
1505type record BSSMAP_IE_SMS_to_VGCS
1506{
1507 OCT1 elementIdentifier, // '6E'
1508 INT1 lengthIndicator,
1509 OCT248 SMS
1510} with {variant (lengthIndicator)
1511 "LENGTHTO (SMS)"}
1512
1513
1514// 3.2.2.93 VGCS talker mode
1515type record BSSMAP_IE_VGCS_TalkerMode
1516{
1517 OCT1 elementIdentifier, // '6F'
1518 INT1 lengthIndicator,
1519 BIT2 spare,
1520 BIT4 groupCipherKeyNumber,
1521 BIT2 RR_mode // 0 0: dedicated mode (i.e. dedicated channel)
1522 // 0 1: group transmit mode (i.e. voice group channel)
1523 // Other values are reserved for future use.
1524} with {variant (lengthIndicator)
1525 "LENGTHTO (spare, groupCipherKeyNumber, RR_mode)"}
1526
1527
1528// 3.2.2.94 VGCS/VBS Cell Status
1529type record BSSMAP_IE_VGCS_VBS_CellStatus
1530{
1531 OCT1 elementIdentifier, // '70'
1532 INT1 lengthIndicator,
1533 BIT3 status,
1534 BIT5 spare
1535} with { variant "PRESENCE (elementIdentifier = '70'O)"
1536 variant (lengthIndicator) "LENGTHTO (status, spare)"}
1537
1538
1539// 3.2.2.95 GANSS Assistance Data
1540type record BSSMAP_IE_GANSS_AssistanceData
1541{
1542 OCT1 elementIdentifier, //'75'
1543 INT1 lengthIndicator,
1544 OCTN gANSS_AssistanceDataInfo // 49.031 Section 10.31
1545} with { variant "PRESENCE (elementIdentifier = '75'O)"
1546 variant (lengthIndicator) "LENGTHTO (gANSS_AssistanceDataInfo)"}
1547
1548
1549// 3.2.2.96 GANSS Positioning Data
1550type record BSSMAP_IE_GANSS_PositioningData
1551{
1552 OCT1 elementIdentifier, // '76'
1553 INT1 lengthIndicator,
1554 GANSS_PositioningData gANSS_PositioningDataInfo
1555} with { variant "PRESENCE (elementIdentifier = '76'O)"
1556 variant (lengthIndicator) "LENGTHTO (gANSS_PositioningDataInfo)"}
1557
1558type record GANSS_PositioningData // 49.031 Section 10.32
1559{
1560 BIT3 usage,
1561 BIT3 gANSS_Id,
1562 BIT2 method
1563}
1564
1565
1566// 3.2.2.97 GANSS Location Type
1567type record BSSMAP_IE_GANSS_LocationType
1568{
1569 OCT1 elementIdentifier, // '77'
1570 INT1 lengthIndicator,
1571 GANSS_LocationType gANSS_LocationTypeInfo
1572} with { variant "PRESENCE (elementIdentifier = '77'O)"
1573 variant (lengthIndicator) "LENGTHTO (gANSS_LocationTypeInfo)"}
1574
1575type record GANSS_LocationType // 49.031 Section 10.33
1576{
1577 BIT1 galileo,
1578 BIT1 sBAS,
1579 BIT1 modernizedGPS,
1580 BIT1 qZSS,
1581 BIT1 gLONASS,
1582 BIT3 spare
1583}
1584
1585
1586// 3.2.2.98 Application data
1587type record BSSMAP_IE_ApplicationData
1588{
1589 OCT1 elementIdentifier, // '78'
1590 INT1 lengthIndicator,
1591 OCT9 applicationDataInfo // "implementation-specific" according to 44.018 v8.7.0 Section 10.5.2.72
1592} with { variant "PRESENCE (elementIdentifier = '78'O)"
1593 variant (lengthIndicator) "LENGTHTO (applicationDataInfo)"}
1594
1595
1596// 3.2.2.99 Data Identity
1597type record BSSMAP_IE_DataIdentity
1598{
1599 OCT1 elementIdentifier, // '79'
1600 INT1 lengthIndicator,
1601 DataIdentity dataIdentityInfo
1602} with { variant "PRESENCE (elementIdentifier = '79'O)"
1603 variant (lengthIndicator) "LENGTHTO (dataIdentityInfo)"}
1604
1605
1606type record DataIdentity // 44.018 v8.7.0 Section 10.5.2.73
1607{
1608 BIT1 aI,
1609 BIT4 dI,
1610 BIT3 dP
1611}
1612
1613
1614// 3.2.2.100 Application Data Information
1615type record BSSMAP_IE_ApplicationDataInformation
1616{
1617 OCT1 elementIdentifier, // 7A'
1618 INT1 lengthIndicator,
1619 BIT1 bT_Ind,
1620 BIT7 spare
1621} with { variant "PRESENCE (elementIdentifier = '7A'O)"
1622 variant (lengthIndicator) "LENGTHTO (bT_Ind, spare)"}
1623
1624
1625// 3.2.2.101 MSISDN
1626type record BSSMAP_IE_MSISDN
1627{
1628 OCT1 elementIdentifier, // '7B'
1629 INT1 lengthIndicator,
1630 octetstring msisdn
1631} with { variant "PRESENCE (elementIdentifier = '7B'O)"
1632 variant (lengthIndicator) "LENGTHTO (msisdn)"}
1633
1634
1635// 3.2.2.102 AoIP Transport Layer Address
1636type record BSSMAP_IE_AoIP_TransportLayerAddress
1637{
1638 OCT1 elementIdentifier, // '7C'
1639 INT1 lengthIndicator,
1640 BSSMAP_FIELD_IPAddress ipAddress,
1641 LIN2_BO_LAST uDPPortValue
1642} with {
1643 variant "PRESENCE (elementIdentifier = '7C'O)";
1644 variant (lengthIndicator) "LENGTHTO (ipAddress, uDPPortValue)";
1645 variant (ipAddress) "CROSSTAG(ipv4,lengthIndicator = 6;
1646 ipv6,lengthIndicator = 18)"
1647}
1648
1649type union BSSMAP_FIELD_IPAddress
1650{
1651 OCT4 ipv4,
1652 OCT16 ipv6
1653}
1654
1655//3.2.2.103 Speech Codec List
1656type record BSSMAP_IE_SpeechCodecList
1657{
1658 OCT1 elementIdentifier, // '7D'
1659 INT1 lengthIndicator,
1660 BSSMAP_FIELD_CodecElements codecElements
1661} with {
1662 variant "PRESENCE (elementIdentifier = '7D'O)";
1663 variant (lengthIndicator) "LENGTHTO (codecElements)"
1664}
1665
1666type record of BSSMAP_FIELD_CodecElement BSSMAP_FIELD_CodecElements;
1667
1668type record BSSMAP_FIELD_CodecElement
1669{
1670 BSSMAP_FIELD_CodecType codecType,
1671 BIT1 tF,
1672 BIT1 pT,
1673 BIT1 pI,
1674 BIT1 fI,
1675 OCT1 extendedCodecType optional,
1676 BIT8 s0_7 optional,
1677 BIT8 s8_15 optional
1678} with {
1679 variant (extendedCodecType) "PRESENCE (codecType = CodecExtension)";
1680 variant (s0_7) "PRESENCE (codecType = FR_AMR,
1681 codecType = HR_AMR,
1682 codecType = FR_AMR_WB,
1683 codecType = OHR_AMR,
1684 codecType = OFR_AMR_WB,
1685 codecType = OHR_AMR_WB,
1686 extendedCodecType = 'FD'O)";
1687 variant (s8_15) "PRESENCE (codecType = FR_AMR,
1688 codecType = HR_AMR,
1689 codecType = OHR_AMR)";
1690}
1691
1692type enumerated BSSMAP_FIELD_CodecType
1693{
1694 GSM_FR(0),
1695 GSM_HR(1),
1696 GSM_EFR(2),
1697 FR_AMR(3),
1698 HR_AMR(4),
1699 FR_AMR_WB(9),
1700 OHR_AMR(11),
1701 OFR_AMR_WB(12),
1702 OHR_AMR_WB(13),
1703 CodecExtension(15)
1704}
1705
1706//3.2.2.104 Speech Codec
1707type record BSSMAP_IE_SpeechCodec
1708{
1709 OCT1 elementIdentifier, // '7E'
1710 INT1 lengthIndicator,
1711 BSSMAP_FIELD_CodecElements codecElements
1712} with {
1713 variant "PRESENCE (elementIdentifier = '7E'O)";
1714 variant (lengthIndicator) "LENGTHTO (codecElements)"
1715}
1716
1717//3.2.2.105 Call Identifier
1718type record BSSMAP_IE_CallIdentifier
1719{
1720 OCT1 elementIdentifier, //'7F'
1721 OCT4 callIdentifierInfo
1722} with { variant "PRESENCE (elementIdentifier = '7F'O)";}
1723
1724//3.2.2.106 Call Identifier List
1725type record BSSMAP_IE_CallIdentifierList
1726{
1727 OCT1 elementIdentifier, // '80'
1728 INT1 lengthIndicator,
1729 OCT4List callIdentifierListInfo length (1..62)
1730} with { variant "PRESENCE (elementIdentifier = '80'O)";
1731 variant (lengthIndicator) "LENGTHTO (callIdentifierListInfo)"}
1732
1733//3.2.2.107 A Interface Selector For Reset
1734type record BSSMAP_IE_A_InterfaceSelectorForReset
1735{
1736 OCT1 elementIdentifier, // '81'
1737 BIT1 rTD,
1738 BIT1 rIP,
1739 BIT6 spare
1740} with { variant "PRESENCE (elementIdentifier = '81'O)";}
1741
1742
1743//3.2.2.109 KC128
1744type record BSSMAP_IE_KC128
1745{
1746 OCT1 elementIdentifier, // '83'
1747 OCT16 kC128_Value
1748} with { variant "PRESENCE (elementIdentifier = '83'O)";}
1749
1750
1751//3.2.2.110 CSG Identifier
1752type record BSSMAP_IE_CSG_Identifier
1753{
1754 OCT1 elementIdentifier, //84
1755 INT1 lengthIndicator,
1756 bitstring cSG_ID_Value length(27),
1757 BIT5 spare1,
1758 BIT1 cellAccessMode,
1759 BIT7 spare2
1760} with { variant "PRESENCE (elementIdentifier = '84'O)";
1761 variant (lengthIndicator) "LENGTHTO (cSG_ID_Value,spare1,cellAccessMode,spare2)"}
1762
1763
1764//3.2.2.111 Redirect Attempt Flag
1765type record BSSMAP_IE_RedirectAttemptFlag
1766{
1767 OCT1 elementIdentifier //85
1768} with { variant "PRESENCE (elementIdentifier = '85'O)";}
1769
1770
1771//3.2.2.112 Reroute Reject Cause
1772type record BSSMAP_IE_RerouteRejectCause
1773{
1774 OCT1 elementIdentifier, //86
1775 OCT1 rerouteRejectCauseValue
1776} with { variant "PRESENCE (elementIdentifier = '86'O)";}
1777
1778
1779//3.2.2.113 Send Sequence Number
1780type record BSSMAP_IE_SendSequenceNumber
1781{
1782 OCT1 elementIdentifier, //87
1783 BIT6 spare,
1784 INT2b sendSequenceNumber
1785} with { variant "PRESENCE (elementIdentifier = '87'O)";}
1786
1787
1788//3.2.2.114 Reroute Complete Outcome
1789type record BSSMAP_IE_RerouteCompleteOutcome
1790{
1791 OCT1 elementIdentifier, //88
1792 OCT1 rerouteCompleteOutcomeValue
1793} with { variant "PRESENCE (elementIdentifier = '88'O)";}
1794
1795
1796//3.2.2.115 Global Call Reference
1797type record BSSMAP_IE_GlobalCallReference
1798{
1799 OCT1 elementIdentifier, //89
1800 INT1 lengthIndicator,
1801 GlobalCallReferenceValue globalCallReferenceValue
1802} with { variant "PRESENCE (elementIdentifier = '89'O)";
1803 variant (lengthIndicator) "LENGTHTO (globalCallReferenceValue)"}
1804
1805//3GPP TS 29.205 B.2.1.9
1806type record GlobalCallReferenceValue
1807{
1808 INT1 networkIDLengthIndicator,
1809 octetstring networkID length (3..5),
1810 INT1 nodeIDLengthIndicator,
1811 OCT2 nodeID,
1812 INT1 callReferenceIDLengthIndicator,
1813 OCT5 callReferenceID
1814} with {
1815 variant (networkIDLengthIndicator) "LENGTHTO (networkID)"
1816 variant (nodeIDLengthIndicator) "LENGTHTO (nodeID)"
1817 variant (callReferenceIDLengthIndicator) "LENGTHTO (callReferenceID )"
1818 }
1819
1820
1821//3.2.2.116 LCLS Configuration
1822type record BSSMAP_IE_LCLS_Configuration
1823{
1824 OCT1 elementIdentifier, //8A
1825 BIT4 lCLS_ConfigurationValue,
1826 BIT4 spare
1827} with { variant "PRESENCE (elementIdentifier = '8A'O)";}
1828
1829
1830//3.2.2.117 LCLS Connection Status Control
1831type record BSSMAP_IE_LCLS_ConnectionStatusControl
1832{
1833 OCT1 elementIdentifier, //8B
1834 BIT4 lCLS_ConnectionStatusControlValue,
1835 BIT4 spare
1836} with { variant "PRESENCE (elementIdentifier = '8B'O)";}
1837
1838
1839//3.2.2.118 LCLS Correlation Not Needed
1840type record BSSMAP_IE_LCLS_CorrelationNotNeeded
1841{
1842 OCT1 elementIdentifier //8C
1843} with { variant "PRESENCE (elementIdentifier = '8C'O)";}
1844
1845
1846//3.2.2.119 LCLS BSS Status
1847type record BSSMAP_IE_LCLS_BSS_Status
1848{
1849 OCT1 elementIdentifier, //8D
1850 BIT4 lCLS_BSS_StatusValue,
1851 BIT4 spare
1852} with { variant "PRESENCE (elementIdentifier = '8D'O)";}
1853
1854
1855//3.2.2.120 LCLS Break Request
1856type record BSSMAP_IE_LCLS_BreakRequest
1857{
1858 OCT1 elementIdentifier //8E
1859} with { variant "PRESENCE (elementIdentifier = '8E'O)";}
1860
1861//3.2.2.121 CSFB Indication
1862type record BSSMAP_IE_CSFB_Indication
1863{
1864 OCT1 elementIdentifier //8F
1865} with { variant "PRESENCE (elementIdentifier = '8F'O)";}
1866
1867
1868
1869///////////////////////////////////////////////////////
1870// Used in HANDOVER REQUEST message
1871type union BSSMAP_IE_ClassmarkInformationType
1872{
1873 BSSMAP_IE_ClassmarkInformationType1 classmarkInformationType1,
1874 BSSMAP_IE_ClassmarkInformationType2 classmarkInformationType2
1875}
1876
1877
1878///////////////////////////////////////////
1879// BSSMAP message definition
1880///////////////////////////////////////////
1881
1882// ASSIGNMENT REQUEST - 48.008 subclause 3.2.1.1
1883type record PDU_BSSMAP_AssignmentRequest
1884{
1885 OCT1 messageType, // '01'O
1886 BSSMAP_IE_ChannelType channelType,
1887 BSSMAP_IE_Layer3HeaderInfo layer3HeaderInfo optional,
1888 BSSMAP_IE_Priority priority optional,
1889 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional,
1890 BSSMAP_IE_DownLinkDTXFlag downLinkDTX_Flag optional,
1891 BSSMAP_IE_InterferenceBandToBeUsed interferenceBandToBeUsed optional,
1892 BSSMAP_IE_ClassmarkInformationType2 classmarkInformationType2 optional,
1893 BSSMAP_IE_GroupCallReference groupCallReference optional,
1894 BSSMAP_IE_TalkerFlag talkerFlag optional,
1895 BSSMAP_IE_ConfigurationEvolutionIndication configurationEvolutionIndication optional,
1896 BSSMAP_IE_LSAAccessControlSuppression lsaAccesControlSuppression optional,
1897 BSSMAP_IE_ServiceHandover serviceHandover optional,
1898 BSSMAP_IE_EncryptionInformation encryptionInformation optional,
1899 BSSMAP_IE_TalkerPriority talkerPriority optional,
1900 BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional,
1901 BSSMAP_IE_SpeechCodecList codecList optional,
1902 BSSMAP_IE_CallIdentifier callIdentifier optional,
1903 BSSMAP_IE_KC128 kC128 optional,
1904 BSSMAP_IE_GlobalCallReference globalCallReference optional,
1905 BSSMAP_IE_LCLS_Configuration lCLS_Configuration optional,
1906 BSSMAP_IE_LCLS_ConnectionStatusControl lCLS_ConnectionStatusControl optional,
1907 BSSMAP_IE_LCLS_CorrelationNotNeeded lCLS_CorrelationNotNeeded optional
1908} with { variant "PRESENCE (messageType = '01'O)" }
1909
1910
1911// ASSIGNMENT COMPLETE - 48.008 subclause 3.2.1.2
1912type record PDU_BSSMAP_AssignmentComplete
1913{
1914 OCT1 messageType, // '02'O
1915 BSSMAP_IE_RR_Cause rR_Cause optional,
1916 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional,
1917 BSSMAP_IE_CellIdentifier cellIdentifier optional,
1918 BSSMAP_IE_ChosenChannel chosenChannel optional,
1919 BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional,
1920 BSSMAP_IE_CircuitPool circuitPool optional,
1921 BSSMAP_IE_SpeechVersion speechVersion optional,
1922 BSSMAP_IE_LSAIdentifier lSAIdentifier optional,
1923 BSSMAP_IE_TalkerPriority talkerPriority optional,
1924 BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional,
1925 BSSMAP_IE_SpeechCodec speechCodec optional,
1926 BSSMAP_IE_SpeechCodecList codecList optional,
1927 BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status optional
1928} with { variant "PRESENCE (messageType = '02'O)" }
1929
1930// ASSIGNMENT FAILURE - 48.008 subclause 3.2.1.3
1931type record PDU_BSSMAP_AssignmentFailure
1932{
1933 OCT1 messageType, // '03'O
1934 BSSMAP_IE_Cause cause,
1935 BSSMAP_IE_RR_Cause rR_Cause optional,
1936 BSSMAP_IE_CircuitPool circuitPool optional,
1937 BSSMAP_IE_CircuitPoolList circuitPoolList optional,
1938 BSSMAP_IE_TalkerPriority talkerPriority optional,
1939 BSSMAP_IE_SpeechCodecList codecList optional
1940} with { variant "PRESENCE (messageType = '03'O)" }
1941
1942// BLOCK - 48.008 subclause 3.2.1.4
1943type record PDU_BSSMAP_Block
1944{
1945 OCT1 messageType, // H'40
1946 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode,
1947 BSSMAP_IE_Cause cause,
1948 BSSMAP_IE_ConnectionReleaseRequested connectionReleaseRequested optional
1949} with { variant "PRESENCE (messageType = '40'O)" }
1950
1951
1952// BLOCKING ACKNOWLEDGE - 48.008 subclause 3.2.1.5
1953type record PDU_BSSMAP_BlockingAck
1954{
1955 OCT1 messageType, // H'41
1956 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode
1957} with { variant "PRESENCE (messageType = '41'O)" }
1958
1959
1960// UNBLOCK - 48.008 subclause 3.2.1.6
1961type record PDU_BSSMAP_Unblock
1962{
1963 OCT1 messageType, // H'42
1964 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode
1965} with { variant "PRESENCE (messageType = '42'O)" }
1966
1967
1968// UNBLOCKING ACKNOWLEDGE - 48.008 subclause 3.2.1.7
1969type record PDU_BSSMAP_UnblockAck
1970{
1971 OCT1 messageType, // H'43
1972 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode
1973} with { variant "PRESENCE (messageType = '43'O)" }
1974
1975
1976// HANDOVER REQUEST - 48.008 subclause 3.2.1.8
1977type record PDU_BSSMAP_HandoverRequest
1978{
1979 OCT1 messageType, // '10'O
1980 BSSMAP_IE_ChannelType channelType,
1981 BSSMAP_IE_EncryptionInformation encryptionInformation,
1982 BSSMAP_IE_ClassmarkInformationType classmarkInformationType, //Type 1 or 2
1983 BSSMAP_IE_CellIdentifier cellIdentifierSource,
1984 BSSMAP_IE_Priority priority optional,
1985 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional,
1986 BSSMAP_IE_DownLinkDTXFlag downLinkDTX_Flag optional,
1987 BSSMAP_IE_CellIdentifier cellIdentifierTarget,
1988 BSSMAP_IE_InterferenceBandToBeUsed interferenceBandToBeUsed optional,
1989 BSSMAP_IE_Cause cause optional,
1990 BSSMAP_IE_ClassmarkInformationType3 classmarkInformationType3 optional,
1991 BSSMAP_IE_CurrentChannelType1 currentChannelType1 optional,
1992 BSSMAP_IE_SpeechVersion speechVersion optional,
1993 BSSMAP_IE_GroupCallReference groupCallReference optional,
1994 BSSMAP_IE_TalkerFlag talkerFlag optional,
1995 BSSMAP_IE_ConfigurationEvolutionIndication configurationEvolutionIndication optional,
1996 BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional,
1997 BSSMAP_IE_OldToNewBSSInfo oldToNewBSSInfo optional,
1998 BSSMAP_IE_LSAInformation lSAInformation optional,
1999 BSSMAP_IE_LSAAccessControlSuppression lSAAccessControlSuppression optional,
2000 BSSMAP_IE_ServiceHandover serviceHandover optional,
2001 BSSMAP_IE_IMSI iMSI_bssmap optional,
2002 BSSMAP_IE_SourceToTargetRNCTransparentInfo sourceToTargetRNCTransparentInfo optional,
2003 BSSMAP_IE_SourceToTargetRNCTransparentInfo sourceToTargetRNCTransparentInfoCDMA optional,
2004 BSSMAP_IE_SNAAccessInfo sNAAccessInformation optional,
2005 BSSMAP_IE_TalkerPriority talkerPriority optional,
2006 BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional,
2007 BSSMAP_IE_SpeechCodecList codecList optional,
2008 BSSMAP_IE_CallIdentifier callIdentifier optional,
2009 BSSMAP_IE_KC128 kC128 optional,
2010 BSSMAP_IE_GlobalCallReference globalCallReference optional,
2011 BSSMAP_IE_LCLS_Configuration lCLS_Configuration optional,
2012 BSSMAP_IE_LCLS_ConnectionStatusControl connectionStatusControl optional
2013} with { variant "PRESENCE (messageType = '10'O)"
2014 variant "TAG (
2015 sourceToTargetRNCTransparentInfo, elementIdentifier = '51'O;
2016 sourceToTargetRNCTransparentInfoCDMA, elementIdentifier = '52'O)"}
2017
2018
2019// HANDOVER REQUIRED - 48.008 subclause 3.2.1.9
2020type record PDU_BSSMAP_HandoverRequired
2021{
2022 OCT1 messageType, // '11'O
2023 BSSMAP_IE_Cause cause,
2024 BSSMAP_IE_ResponseRequest responseRequest optional,
2025 BSSMAP_IE_CellIdentifierList cellIdentifierList,
2026 BSSMAP_IE_CircuitPoolList circuitPoolList optional,
2027 BSSMAP_IE_CurrentChannelType1 currentChannelType1 optional,
2028 BSSMAP_IE_SpeechVersion speechVersion optional,
2029 BSSMAP_IE_QueueingIndicator queueingIndicator optional,
2030 BSSMAP_IE_OldToNewBSSInfo oldToNewBSSInfo optional,
2031 BSSMAP_IE_SourceToTargetRNCTransparentInfo sourceToTargetRNCTransparentInfo optional,
2032 BSSMAP_IE_SourceToTargetRNCTransparentInfo sourceToTargetRNCTransparentInfoCDMA optional,
2033 BSSMAP_IE_GERANClassmark gERANClassmark optional,
2034 BSSMAP_IE_TalkerPriority talkerPriority optional,
2035 BSSMAP_IE_SpeechCodec speechCodec optional,
2036 BSSMAP_IE_CSG_Identifier cSG_Identifier optional
2037} with { variant "PRESENCE (messageType = '11'O)"
2038 variant "TAG (
2039 sourceToTargetRNCTransparentInfo, elementIdentifier = '51'O;
2040 sourceToTargetRNCTransparentInfoCDMA, elementIdentifier = '52'O)"}
2041
2042
2043// HANDOVER REQUEST ACKNOWLEDGE - 48.008 subclause 3.2.1.10
2044type record PDU_BSSMAP_HandoverRequestAck
2045{
2046 OCT1 messageType, // '12'O
2047 BSSMAP_IE_Layer3Information layer3Information,
2048 BSSMAP_IE_ChosenChannel chosenChannel optional,
2049 BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional,
2050 BSSMAP_IE_CircuitPool circuitPool optional,
2051 BSSMAP_IE_SpeechVersion speechVersion optional,
2052 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional,
2053 BSSMAP_IE_LSAIdentifier lSAIdentifier optional,
2054 BSSMAP_IE_NewBSSToOldBSSInfo newBSSToOldBSSInfo optional,
2055 BSSMAP_IE_InterSystemInfo interSystemInformation optional,
2056 BSSMAP_IE_TalkerPriority talkerPriority optional,
2057 BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional,
2058 BSSMAP_IE_SpeechCodecList codecList optional,
2059 BSSMAP_IE_SpeechCodec speechCodec optional,
2060 BSSMAP_IE_LCLS_BSS_Status lCLS_bSS_Status optional
2061} with { variant "PRESENCE (messageType = '12'O)" }
2062
2063
2064// HANDOVER COMMAND - 48.008 subclause 3.2.1.11
2065type record PDU_BSSMAP_HandoverCommand
2066{
2067 OCT1 messageType, // '13'O
2068 BSSMAP_IE_Layer3Information layer3Information,
2069 BSSMAP_IE_CellIdentifier cellIdentifier optional,
2070 BSSMAP_IE_NewBSSToOldBSSInfo newBSSToOldBSSInfo optional,
2071 BSSMAP_IE_TalkerPriority talkerPriority optional
2072} with { variant "PRESENCE (messageType = '13'O)" }
2073
2074
2075// HANDOVER COMPLETE - 48.008 subclause 3.2.1.12
2076type record PDU_BSSMAP_HandoverComplete
2077{
2078 OCT1 messageType, // H'14
2079 BSSMAP_IE_RR_Cause rR_Cause optional,
2080 BSSMAP_IE_TalkerPriority talkerPriority optional,
2081 BSSMAP_IE_SpeechCodec speechCodec optional,
2082 BSSMAP_IE_SpeechCodecList codecList optional,
2083 BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional,
2084 BSSMAP_IE_ChosenChannel chosenChannel optional,
2085 BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status optional
2086} with { variant "PRESENCE (messageType = '14'O)" }
2087
2088
2089// HANDOVER SUCCEEDED - 48.008 subclause 3.2.1.13
2090type record PDU_BSSMAP_HandoverSucceeded
2091{
2092 OCT1 messageType, // H'15
2093 BSSMAP_IE_TalkerPriority talkerPriority optional
2094} with { variant "PRESENCE (messageType = '15'O)" }
2095
2096
2097// HANDOVER CANDIDATE ENQUIRE - 48.008 subclause 3.2.1.14
2098type record PDU_BSSMAP_HandoverCandidateEnquire
2099{
2100 OCT1 messageType, // H'18
2101 BSSMAP_IE_NumberOfMSs numberOfMSs,
2102 BSSMAP_IE_CellIdentifierList cellIdentifierList,
2103 BSSMAP_IE_CellIdentifier cellIdentifier
2104} with { variant "PRESENCE (messageType = '18'O)" }
2105
2106
2107// HANDOVER CANDIDATE RESPONSE - 48.008 subclause 3.2.1.15
2108type record PDU_BSSMAP_HandoverCandidateResponse
2109{
2110 OCT1 messageType, // H'19
2111 BSSMAP_IE_NumberOfMSs numberOfMSs,
2112 BSSMAP_IE_CellIdentifier cellIdentifier
2113} with { variant "PRESENCE (messageType = '19'O)" }
2114
2115
2116// HANDOVER FAILURE - 48.008 subclause 3.2.1.16
2117type record PDU_BSSMAP_HandoverFailure
2118{
2119 OCT1 messageType,
2120 BSSMAP_IE_Cause cause,
2121 BSSMAP_IE_RR_Cause rR_Cause optional,
2122 BSSMAP_IE_CircuitPool circuitPool optional,
2123 BSSMAP_IE_CircuitPoolList circuitPoolList optional,
2124 BSSMAP_IE_GERANClassmark gERANClassmark optional,
2125 BSSMAP_IE_NewBSSToOldBSSInfo newBSSToOldBSSInfo optional,
2126 BSSMAP_IE_InterSystemInfo interSystemInformation optional,
2127 BSSMAP_IE_TalkerPriority talkerPriority optional,
2128 BSSMAP_IE_SpeechCodecList codecList optional
2129} with { variant "PRESENCE (messageType = '16'O)" }
2130
2131
2132// RESOURCE REQUEST - 48.008 subclause 3.2.1.17
2133type record PDU_BSSMAP_ResourceRequest
2134{
2135 OCT1 messageType,
2136 BSSMAP_IE_Periodicity periodicity,
2137 BSSMAP_IE_ResourceIndMethod resourceIndicationMethod,
2138 BSSMAP_IE_CellIdentifier cellIdentifier,
2139 BSSMAP_IE_ExtendedResourceInd extendedResourceIndicator optional
2140} with { variant "PRESENCE (messageType = '50'O)" }
2141
2142
2143// RESOURCE INDICATION - 48.008 subclause 3.2.1.18
2144type record PDU_BSSMAP_ResourceIndication
2145{
2146 OCT1 messageType,
2147 BSSMAP_IE_ResourceIndMethod resourceIndicationMethod,
2148 BSSMAP_IE_ResourceAvailable resourceAvailable optional,
2149 BSSMAP_IE_CellIdentifier cellIdentifier,
2150 BSSMAP_IE_TotalResourceAccessible totalResourceAccessible optional
2151} with { variant "PRESENCE (messageType = '51'O)" }
2152
2153// PAGING - 48.008 subclause 3.2.1.19
2154type record PDU_BSSMAP_Paging
2155{
2156 OCT1 messageType, // '52'O
2157 BSSMAP_IE_IMSI iMSI,
2158 BSSMAP_IE_TMSI tMSI optional,
2159 BSSMAP_IE_CellIdentifierList cellIdentifierList,
2160 BSSMAP_IE_ChannelNeeded channelNeeded optional,
2161 BSSMAP_IE_EMLPP_Priority eMLPP_Priority optional,
2162 BSSMAP_IE_PagingInformation pagingInformation optional
2163} with { variant "PRESENCE (messageType = '52'O)" }
2164
2165
2166// CLEAR REQUEST - 48.008 subclause 3.2.1.20
2167type record PDU_BSSMAP_ClearRequest
2168{
2169 OCT1 messageType, // H'22
2170 BSSMAP_IE_Cause cause
2171} with { variant "PRESENCE (messageType = '22'O)" }
2172
2173
2174// CLEAR COMMAND - 48.008 subclause 3.2.1.21
2175type record PDU_BSSMAP_ClearCommand
2176{
2177 OCT1 messageType, // H'20
2178 BSSMAP_IE_Layer3HeaderInfo layer3HeaderInfo optional,
2179 BSSMAP_IE_Cause cause,
2180 BSSMAP_IE_CSFB_Indication cSFB_Indication optional
2181} with { variant "PRESENCE (messageType = '20'O)" }
2182
2183
2184// CLEAR COMPLETE - 48.008 subclause 3.2.1.22
2185type record PDU_BSSMAP_ClearComplete
2186{
2187 OCT1 messageType // H'21
2188} with { variant "PRESENCE (messageType = '21'O)" }
2189
2190
2191// RESET - 48.008 subclause 3.2.1.23
2192type record PDU_BSSMAP_Reset
2193{
2194 OCT1 messageType, // H'30
2195 BSSMAP_IE_Cause cause,
2196 BSSMAP_IE_A_InterfaceSelectorForReset a_InterfaceSelectorForReset optional
2197} with { variant "PRESENCE (messageType = '30'O)" }
2198
2199
2200// RESET ACKNOWLEDGE - 48.008 subclause 3.2.1.24
2201type record PDU_BSSMAP_ResetAck
2202{
2203 OCT1 messageType, // H'31
2204 BSSMAP_IE_A_InterfaceSelectorForReset a_InterfaceSelectorForReset optional
2205} with { variant "PRESENCE (messageType = '31'O)" }
2206
2207
2208// HANDOVER PERFORMED - 48.008 subclause 3.2.1.25
2209type record PDU_BSSMAP_HandoverPerformed
2210{
2211 OCT1 messageType,
2212 BSSMAP_IE_Cause cause,
2213 BSSMAP_IE_CellIdentifier cellIdentifier,
2214 BSSMAP_IE_ChosenChannel chosenChannel optional,
2215 BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional,
2216 BSSMAP_IE_SpeechVersion speechVersion optional,
2217 BSSMAP_IE_LSAIdentifier lSAIdentifier optional,
2218 BSSMAP_IE_TalkerPriority talkerPriority optional,
2219 BSSMAP_IE_SpeechCodecList codecList optional,
2220 BSSMAP_IE_SpeechCodec speechCodec optional,
2221 BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status optional
2222} with { variant "PRESENCE (messageType = '17'O)" }
2223
2224// OVERLOAD - 48.008 subclause 3.2.1.26
2225type record PDU_BSSMAP_Overload
2226{
2227 OCT1 messageType, // H'32
2228 BSSMAP_IE_Cause cause,
2229 BSSMAP_IE_CellIdentifier cellIdentifier optional
2230} with { variant "PRESENCE (messageType = '32'O)" }
2231
2232
2233// MSC INVOKE TRACE - 48.008 subclause 3.2.1.27
2234type record PDU_BSSMAP_MSCInvokeTrace
2235{
2236 OCT1 messageType, // H'36
2237 BSSMAP_IE_TraceType traceType,
2238 BSSMAP_IE_TriggerId triggerId optional,
2239 BSSMAP_IE_TraceReference traceReference,
2240 BSSMAP_IE_TransactionId transactionId optional,
2241 BSSMAP_IE_MobileIdentity mobileIdentity optional,
2242 BSSMAP_IE_OMCId oMCId optional
2243} with { variant "PRESENCE (messageType = '36'O)" }
2244
2245
2246// BSS INVOKE TRACE - 48.008 subclause 3.2.1.28
2247type record PDU_BSSMAP_BSSInvokeTrace
2248{
2249 OCT1 messageType, // H'37
2250 BSSMAP_IE_TraceType traceType,
2251 BSSMAP_IE_ForwardIndicator forwardIndicator optional,
2252 BSSMAP_IE_TriggerId triggerId optional,
2253 BSSMAP_IE_TraceReference traceReference,
2254 BSSMAP_IE_TransactionId transactionId optional,
2255 BSSMAP_IE_OMCId oMCId optional
2256} with { variant "PRESENCE (messageType = '37'O)" }
2257
2258
2259// CLASSMARK UPDATE - 48.008 subclause 3.2.1.29
2260type record PDU_BSSMAP_ClassmarkUpdate
2261{
2262 OCT1 messageType, // '54'O
2263 BSSMAP_IE_ClassmarkInformationType2 classmarkInformationType2,
2264 BSSMAP_IE_ClassmarkInformationType3 classmarkInformationType3 optional,
2265 BSSMAP_IE_TalkerPriority talkerPriority optional
2266} with { variant "PRESENCE (messageType = '54'O)" }
2267
2268// CIPHER MODE COMMAND - 48.008 subclause 3.2.1.30
2269type record PDU_BSSMAP_CipherModeCommand
2270{
2271 OCT1 messageType, // '53'O
2272 BSSMAP_IE_Layer3HeaderInfo layer3HeaderInfo optional,
2273 BSSMAP_IE_EncryptionInformation encryptionInformation,
2274 BSSMAP_IE_CipherResponseMode cipherResponseMode optional,
2275 BSSMAP_IE_KC128 kC128 optional
2276} with { variant "PRESENCE (messageType = '53'O)" }
2277
2278
2279// CIPHER MODE COMPLETE - 48.008 subclause 3.2.1.31
2280type record PDU_BSSMAP_CipherModeComplete
2281{
2282 OCT1 messageType, // '55'O
2283 BSSMAP_IE_Layer3MessageContents layer3MessageContents optional,
2284 BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional
2285} with { variant "PRESENCE (messageType = '55'O)" }
2286
2287
2288// COMPLETE LAYER 3 INFORMATION - 48.008 subclause 3.2.1.32
2289type record PDU_BSSMAP_CompleteLayer3Information
2290{
2291 OCT1 messageType, // '57'O
2292 BSSMAP_IE_CellIdentifier cellIdentifier,
2293 BSSMAP_IE_Layer3Information layer3Information,
2294 BSSMAP_IE_ChosenChannel chosenChannel optional,
2295 BSSMAP_IE_LSAIdentifier lSAIdentifier optional,
2296 BSSMAP_IE_APDU aPDU optional,
2297 BSSMAP_IE_SpeechCodecList codecList optional,
2298 BSSMAP_IE_RedirectAttemptFlag redirectAttemptFlag optional,
2299 BSSMAP_IE_SendSequenceNumber sendSequenceNumber optional,
2300 BSSMAP_IE_IMSI iMSI optional
2301} with { variant "PRESENCE (messageType = '57'O)" }
2302
2303
2304// QUEUEING INDICATION - 48.008 subclause 3.2.1.33
2305type record PDU_BSSMAP_QueueingIndication
2306{
2307 OCT1 messageType // H'56
2308} with { variant "PRESENCE (messageType = '56'O)" }
2309
2310
2311// SAPI "n" REJECT - 48.008 subclause 3.2.1.34
2312type record PDU_BSSMAP_SAPInReject
2313{
2314 OCT1 messageType, // H'25
2315 BSSMAP_IE_DLCI dLCI,
2316 BSSMAP_IE_Cause cause
2317} with { variant "PRESENCE (messageType = '25'O)" }
2318
2319
2320// HANDOVER REQUIRED REJECT - 48.008 subclause 3.2.1.37
2321type record PDU_BSSMAP_HandoverRequiredReject
2322{
2323 OCT1 messageType,
2324 BSSMAP_IE_Cause cause,
2325 BSSMAP_IE_NewBSSToOldBSSInfo newBSSToOldBSSInfo optional,
2326 BSSMAP_IE_TalkerPriority talkerPriority optional
2327} with { variant "PRESENCE (messageType = '1A'O)" }
2328
2329// RESET CIRCUIT - 48.008 subclause 3.2.1.38
2330type record PDU_BSSMAP_ResetCircuit
2331{
2332 OCT1 messageType, // H'34
2333 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode,
2334 BSSMAP_IE_Cause cause
2335} with { variant "PRESENCE (messageType = '34'O)" }
2336
2337
2338// RESET CIRCUIT ACKNOWLEDGE - 48.008 subclause 3.2.1.39
2339type record PDU_BSSMAP_ResetCircuitAck
2340{
2341 OCT1 messageType, // H'35
2342 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode
2343} with { variant "PRESENCE (messageType = '35'O)" }
2344
2345
2346// HANDOVER DETECT - 48.008 subclause 3.2.1.40
2347type record PDU_BSSMAP_HandoverDetect
2348{
2349 OCT1 messageType, // '1B'O
2350 BSSMAP_IE_TalkerPriority talkerPriority optional
2351} with { variant "PRESENCE (messageType = '1B'O)" }
2352
2353
2354// CIRCUIT GROUP BLOCK - 48.008 subclause 3.2.1.41
2355type record PDU_BSSMAP_CircuitGroupBlock
2356{
2357 OCT1 messageType, // H'44
2358 BSSMAP_IE_Cause cause,
2359 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode,
2360 BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList
2361} with { variant "PRESENCE (messageType = '44'O)" }
2362
2363
2364// CIRCUIT GROUP BLOCKING ACKNOWLEDGE - 48.008 subclause 3.2.1.42
2365type record PDU_BSSMAP_CircuitGroupBlockingAck
2366{
2367 OCT1 messageType, // H'45
2368 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode,
2369 BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList
2370} with { variant "PRESENCE (messageType = '45'O)" }
2371
2372
2373// CIRCUIT GROUP UNBLOCK - 48.008 subclause 3.2.1.43
2374type record PDU_BSSMAP_CircuitGroupUnblock
2375{
2376 OCT1 messageType, // H'46
2377 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode,
2378 BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList
2379} with { variant "PRESENCE (messageType = '46'O)" }
2380
2381
2382// CIRCUIT GROUP UNBLOCKING ACKNOWLEDGE - 48.008 subclause 3.2.1.44
2383type record PDU_BSSMAP_CircuitGroupUnblockAck
2384{
2385 OCT1 messageType, // H'47
2386 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode,
2387 BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList
2388} with { variant "PRESENCE (messageType = '47'O)" }
2389
2390
2391// CONFUSION - 48.008 subclause 3.2.1.45
2392type record PDU_BSSMAP_Confusion
2393{
2394 OCT1 messageType, // H'26
2395 BSSMAP_IE_Cause cause,
2396 BSSMAP_IE_Diagnostics diagnostics
2397} with { variant "PRESENCE (messageType = '26'O)" }
2398
2399
2400// CLASSMARK REQUEST - 48.008 subclause 3.2.1.46
2401type record PDU_BSSMAP_ClassmarkRequest
2402{
2403 OCT1 messageType, // H'58
2404 BSSMAP_IE_TalkerPriority talkerPriority optional
2405} with { variant "PRESENCE (messageType = '58'O)" }
2406
2407// UNEQUIPPED CIRCUIT - 48.008 subclause 3.2.1.47
2408type record PDU_BSSMAP_UnequippedCircuit
2409{
2410 OCT1 messageType, // H'48
2411 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode,
2412 BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList optional
2413} with { variant "PRESENCE (messageType = '48'O)" }
2414
2415
2416// CIPHER MODE REJECT - 48.008 subclause 3.2.1.48
2417type record PDU_BSSMAP_CipherModeReject
2418{
2419 OCT1 messageType, // H'59
2420 BSSMAP_IE_Cause cause
2421} with { variant "PRESENCE (messageType = '59'O)" }
2422
2423
2424// LOAD INDICATION - 48.008 subclause 3.2.1.49
2425type record PDU_BSSMAP_LoadIndication
2426{
2427 OCT1 messageType, // H'5A
2428 BSSMAP_IE_TimeIndication timeIndication,
2429 BSSMAP_IE_CellIdentifier cellIdentifier,
2430 BSSMAP_IE_CellIdentifierList cellIdentifierList,
2431 BSSMAP_IE_ResourceSituation resourceSitation optional,
2432 BSSMAP_IE_Cause cause optional
2433} with { variant "PRESENCE (messageType = '5A'O)" }
2434
2435
2436// VGCS/VBS SETUP - 48.008 subclause 3.2.1.50
2437type record PDU_BSSMAP_VGCS_VBSSetup
2438{
2439 OCT1 messageType, // H'04
2440 BSSMAP_IE_GroupCallReference groupCallReference,
2441 BSSMAP_IE_Priority priority optional,
2442 BSSMAP_IE_VGCS_FeatureFlags vGCS_FeatureFlags optional
2443} with { variant "PRESENCE (messageType = '04'O)" }
2444
2445// VGCS/VBS SETUP ACK - 48.008 subclause 3.2.1.51
2446type record PDU_BSSMAP_VGCS_VBSSetupAck
2447{
2448 OCT1 messageType, // H'05
2449 BSSMAP_IE_VGCS_FeatureFlags vGCS_FeatureFlags optional
2450} with { variant "PRESENCE (messageType = '05'O)" }
2451
2452
2453// VGCS/VBS SETUP REFUSE - 48.008 subclause 3.2.1.52
2454type record PDU_BSSMAP_VGCS_VBSSetupRefuse
2455{
2456 OCT1 messageType, // H'06
2457 BSSMAP_IE_Cause cause
2458} with { variant "PRESENCE (messageType = '06'O)" }
2459
2460
2461// VGCS/VBS ASSIGNMENT REQUEST - 48.008 subclause 3.2.1.53
2462type record PDU_BSSMAP_VGCS_VBSAssignmentRequest
2463{
2464 OCT1 messageType, // H'07
2465 BSSMAP_IE_ChannelType channelType,
2466 BSSMAP_IE_AssignmentRequirement assignmentRequirement,
2467 BSSMAP_IE_CellIdentifier cellIdentifier,
2468 BSSMAP_IE_GroupCallReference groupCallReference,
2469 BSSMAP_IE_Priority priority optional,
2470 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional,
2471 BSSMAP_IE_DownLinkDTXFlag downLinkDTX_Flag optional,
2472 BSSMAP_IE_EncryptionInformation encryptionInformation optional,
2473 BSSMAP_IE_VSTK_RAND vSTK_RAND optional,
2474 BSSMAP_IE_VSTK vSTK optional,
2475 BSSMAP_IE_CellIdentifierListSegment cellIdentifierListSegment optional
2476} with { variant "PRESENCE (messageType = '07'O)" }
2477
2478
2479// VGCS/VBS ASSIGNMENT RESULT - 48.008 subclause 3.2.1.54
2480type record PDU_BSSMAP_VGCS_VBSAssignmentResult
2481{
2482 OCT1 messageType, // H'1C
2483 BSSMAP_IE_ChannelType channelType,
2484 BSSMAP_IE_CellIdentifier cellIdentifier,
2485 BSSMAP_IE_ChosenChannel chosenChannel optional,
2486 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional,
2487 BSSMAP_IE_CircuitPool circuitPool optional
2488} with { variant "PRESENCE (messageType = '1C'O)" }
2489
2490
2491// VGCS/VBS ASSIGNMENT FAILURE - 48.008 subclause 3.2.1.55
2492type record PDU_BSSMAP_VGCS_VBSAssignmentFailure
2493{
2494 OCT1 messageType, // H'1D
2495 BSSMAP_IE_Cause cause,
2496 BSSMAP_IE_CircuitPool circuitPool optional,
2497 BSSMAP_IE_CircuitPoolList circuitPoolList optional
2498} with { variant "PRESENCE (messageType = '1D'O)" }
2499
2500
2501// VGCS/VBS QUEUING INDICATION - 48.008 subclause 3.2.1.56
2502type record PDU_BSSMAP_VGCS_VBSQueuingIndication
2503{
2504 OCT1 messageType // H'1E
2505} with { variant "PRESENCE (messageType = '1E'O)" }
2506
2507
2508// UPLINK REQUEST - 48.008 subclause 3.2.1.57
2509type record PDU_BSSMAP_UplinkRequest
2510{
2511 OCT1 messageType, // H'1F
2512 BSSMAP_IE_TalkerPriority talkerPriority optional,
2513 BSSMAP_IE_CellIdentifier cellIdentifier optional,
2514 BSSMAP_IE_Layer3Information layer3Information optional,
2515 BSSMAP_IE_MobileIdentity mobileIdentity optional
2516} with { variant "PRESENCE (messageType = '1F'O)" }
2517
2518
2519// UPLINK REQUEST ACK - 48.008 subclause 3.2.1.58
2520type record PDU_BSSMAP_UplinkRequestAck
2521{
2522 OCT1 messageType, // H'27
2523 BSSMAP_IE_TalkerPriority talkerPriority optional,
2524 BSSMAP_IE_EmergencySetIndication emergencySetIndication optional,
2525 BSSMAP_IE_TalkerIdentity talkerIdentity optional
2526} with { variant "PRESENCE (messageType = '27'O)" }
2527
2528
2529// UPLINK REQUEST CONFIRMATION - 48.008 subclause 3.2.1.59
2530type record PDU_BSSMAP_UplinkRequestConfirmation
2531{
2532 OCT1 messageType, // H'49
2533 BSSMAP_IE_CellIdentifier cellIdentifier,
2534 BSSMAP_IE_TalkerIdentity talkerIdentity optional,
2535 BSSMAP_IE_Layer3Information layer3Information
2536} with { variant "PRESENCE (messageType = '49'O)" }
2537
2538
2539// UPLINK APPLICATION DATA - 48.008 subclause 3.2.1.59a
2540type record PDU_BSSMAP_UplinkApplicationData
2541{
2542 OCT1 messageType,
2543 BSSMAP_IE_CellIdentifier cellIdentifier,
2544 BSSMAP_IE_Layer3Information layer3Information,
2545 BSSMAP_IE_ApplicationDataInformation applicationDataInformation
2546} with { variant "PRESENCE (messageType = '63'O)" }
2547
2548
2549// UPLINK RELEASE INDICATION- 48.008 subclause 3.2.1.60
2550type record PDU_BSSMAP_UplinkReleaseIndication
2551{
2552 OCT1 messageType, // H'4A
2553 BSSMAP_IE_Cause cause,
2554 BSSMAP_IE_TalkerPriority talkerPriority optional
2555} with { variant "PRESENCE (messageType = '4A'O)" }
2556
2557
2558// UPLINK REJECT COMMAND - 48.008 subclause 3.2.1.61
2559type record PDU_BSSMAP_UplinkRejectCommand
2560{
2561 OCT1 messageType, // H'4B
2562 BSSMAP_IE_Cause cause,
2563 BSSMAP_IE_TalkerPriority currentTalkerPriority optional,
2564 BSSMAP_IE_TalkerPriority rejectedTalkerPriority optional,
2565 BSSMAP_IE_TalkerIdentity talkerIdentity optional
2566} with { variant "PRESENCE (messageType = '4B'O)" }
2567
2568
2569// UPLINK RELEASE COMMAND - 48.008 subclause 3.2.1.62
2570type record PDU_BSSMAP_UplinkReleaseCommand
2571{
2572 OCT1 messageType, // H'4C
2573 BSSMAP_IE_Cause cause
2574} with { variant "PRESENCE (messageType = '4C'O)" }
2575
2576
2577// UPLINK SEIZED COMMAND- 48.008 subclause 3.2.1.63
2578type record PDU_BSSMAP_UplinkSeizedCommand
2579{
2580 OCT1 messageType, // H'4E
2581 BSSMAP_IE_Cause cause,
2582 BSSMAP_IE_TalkerPriority talkerPriority optional,
2583 BSSMAP_IE_EmergencySetIndication emergencySetIndication optional,
2584 BSSMAP_IE_TalkerIdentity talkerIdentity optional
2585} with { variant "PRESENCE (messageType = '4E'O)" }
2586
2587
2588
2589// SUSPEND - 48.008 subclause 3.2.1.64
2590type record PDU_BSSMAP_Suspend
2591{
2592 OCT1 messageType, // H'28
2593 BSSMAP_IE_DLCI dLCI
2594} with { variant "PRESENCE (messageType = '28'O)" }
2595
2596
2597// RESUME - 48.008 subclause 3.2.1.65
2598type record PDU_BSSMAP_Resume
2599{
2600 OCT1 messageType, // H'29
2601 BSSMAP_IE_DLCI dLCI
2602} with { variant "PRESENCE (messageType = '29'O)" }
2603
2604
2605// CHANGE CIRCUIT - 48.008 subclause 3.2.1.66
2606type record PDU_BSSMAP_ChangeCircuit
2607{
2608 OCT1 messageType, // H'4E
2609 BSSMAP_IE_Cause cause
2610} with { variant "PRESENCE (messageType = '4E'O)" }
2611
2612
2613// CHANGE CIRCUIT ACKNOWLEDGE - 48.008 subclause 3.2.1.67
2614type record PDU_BSSMAP_ChangeCircuitAck
2615{
2616 OCT1 messageType, // H'4F
2617 BSSMAP_IE_CircuitIdentityCode circuitIdentity
2618} with { variant "PRESENCE (messageType = '4F'O)" }
2619
2620
2621// COMMON ID - 48.008 subclause 3.2.1.68
2622type record PDU_BSSMAP_CommonID
2623{
2624 OCT1 messageType, // H'2F
2625 BSSMAP_IE_IMSI iMSI,
2626 BSSMAP_IE_SNAAccessInfo sNAAccessInformation optional
2627} with { variant "PRESENCE (messageType = '2F'O)" }
2628
2629
2630// LSA INFORMATION - 48.008 subclause 3.2.1.69
2631type record PDU_BSSMAP_LSAInformation
2632{
2633 OCT1 messageType, // H'2C
2634 BSSMAP_IE_LSAInformation lSAInformation
2635} with { variant "PRESENCE (messageType = '2C'O)" }
2636
2637
2638// REFORM LOCATION REQUEST - 48.008 subclause 3.2.1.71
2639type record PDU_BSSMAP_PerformLocationRequest
2640{
2641 OCT1 messageType, // '2B'O
2642 BSSMAP_IE_LocationType locationType,
2643 BSSMAP_IE_CellIdentifier cellIdentifier optional,
2644 BSSMAP_IE_ClassmarkInformationType3 classmarkInformationType3 optional,
2645 BSSMAP_IE_LCSClientType lCS_ClientType optional,
2646 BSSMAP_IE_ChosenChannel chosenChannel optional,
2647 BSSMAP_IE_LCSPriority lCS_Priority optional,
2648 BSSMAP_IE_LCSQOS lCS_QOS optional,
2649 BSSMAP_IE_GPSAssistanceData gPS_AssistanceData optional,
2650 BSSMAP_IE_APDU aPDU optional,
2651 BSSMAP_IE_IMSI iMSI optional,
2652 BSSMAP_IE_IMEI iMEI optional,
2653 BSSMAP_IE_GANSS_LocationType gANSS_LocationType optional,
2654 BSSMAP_IE_GANSS_AssistanceData gANSS_AssistanceData optional
2655} with { variant "PRESENCE (messageType = '2B'O)" }
2656
2657
2658// REFORM LOCATION RESPONSE - 48.008 subclause 3.2.1.72
2659type record PDU_BSSMAP_PerformLocationResponse
2660{
2661 OCT1 messageType, // '2D'O
2662 BSSMAP_IE_LocationEstimate locationEstimate optional,
2663 BSSMAP_IE_PositioningData positioningData optional,
2664 BSSMAP_IE_DecipheringKeys decipheringKeys optional,
2665 BSSMAP_IE_LCSCause lCS_Cause optional,
2666 BSSMAP_IE_VelocityEstimate velocityEstimate optional,
2667 BSSMAP_IE_GANSS_PositioningData gANSS_PositioningData optional
2668} with { variant "PRESENCE (messageType = '2D'O)" }
2669
2670
2671// REFORM LOCATION ABORT - 48.008 subclause 3.2.1.73
2672type record PDU_BSSMAP_PerformLocationAbort
2673{
2674 OCT1 messageType, // '2E'O
2675 BSSMAP_IE_LCSCause lCS_Cause
2676} with { variant "PRESENCE (messageType = '2E'O)" }
2677
2678
2679// CONNECTIONLESS INFORMATION - 48.008 subclause 3.2.1.74
2680type record PDU_BSSMAP_ConnectionlessInformation
2681{
2682 OCT1 messageType, // '3A'O
2683 BSSMAP_IE_NetworkElementIdentity networkElementIdentitySource,
2684 BSSMAP_IE_NetworkElementIdentity networkElementIdentityTarget,
2685 BSSMAP_IE_APDU aPDU,
2686 BSSMAP_IE_Segmentation segmentation optional,
2687 BSSMAP_IE_ReturnErrorRequest returnErrorRequest optional,
2688 BSSMAP_IE_ReturnErrorCause returnErrorCause optional
2689} with { variant "PRESENCE (messageType = '3A'O)" }
2690
2691// 3.2.1.75 CHANNEL MODIFY REQUEST
2692type record PDU_BSSMAP_ChannelModifyRequest
2693{
2694 OCT1 messageType, // '08'O
2695 BSSMAP_IE_Cause cause
2696} with { variant "PRESENCE (messageType = '08'O)" }
2697
2698// FIXME: these two message type codes are not specified in the standard
2699/*// 3.2.1.76 EMERGENCY RESET INDICATION
2700type record PDU_BSSMAP_EmergencyResetIndication
2701{
2702OCT1 messageType, // 'X'O
2703BSSMAP_IE_CellIdentifier cellIdentifier optional,
2704BSSMAP_IE_Layer3Information layer3Information optional,
2705BSSMAP_IE_MobileIdentity mobileIdentity optional
2706} with {variant "TAG (
2707// layer3Information?}
2708
2709// 3.2.1.77 EMERGENCY RESET COMMAND
2710type record PDU_BSSMAP_EmergencyResetCommand
2711{
2712OCT1 messageType // 'X'O
2713}*/
2714
2715// 3.2.1.78 VGCS ADDITIONAL INFORMATION
2716type record PDU_BSSMAP_VGCS_AdditionalInformation
2717{
2718 OCT1 messageType, // '60'O
2719 BSSMAP_IE_TalkerIdentity talkerIdentity
2720} with { variant "PRESENCE (messageType = '60'O)" }
2721
2722
2723// 3.2.1.79 VGCS/VBS AREA CELL INFO
2724type record PDU_BSSMAP_VGCS_VBS_AreaCellInfo
2725{
2726 OCT1 messageType, // '3C'O
2727 BSSMAP_IE_CellIdentifierListSegment cellIdentifierListSegment,
2728 BSSMAP_IE_AssignmentRequirement assignmentRequirement optional
2729} with { variant "PRESENCE (messageType = '3C'O)" }
2730
2731
2732// 3.2.1.80 VGCS/VBS ASSIGNMENT STATUS
2733type record PDU_BSSMAP_VGCS_VBS_AssignmentStatus
2734{
2735 OCT1 messageType, // '3B'O
2736 BSSMAP_IE_CellIdentifierListSegmentEstCells cellIdentifierListForEstablishedCells optional,
2737 BSSMAP_IE_CellIdentifierListSegmentCellsToEst cellIdentifierListForCellsToEstablish optional,
2738 BSSMAP_IE_CellIdentifierListSegmentReleasedCellsNoUserPresent cellIdentifierListSegmentReleasedCellsNoUserPresent optional,
2739 BSSMAP_IE_CellIdentifierListSegmentNotEstablishedCellsNoEstPossible cellIdentifierListSegmentNotEstablishedCellsNoEstPossible optional,
2740 BSSMAP_IE_VGCS_VBS_CellStatus vGCS_VBS_CellStatus optional
2741} with { variant "PRESENCE (messageType = '3B'O)" }
2742
2743
2744// 3.2.1.81 VGCS SMS
2745type record PDU_BSSMAP_VGCS_SMS
2746{
2747 OCT1 messageType, // '61'O
2748 BSSMAP_IE_SMS_to_VGCS sMS_to_VGCS
2749} with { variant "PRESENCE (messageType = '61'O)" }
2750
2751
2752// 3.2.1.82 NOTIFICATION DATA
2753type record PDU_BSSMAP_NotificationData
2754{
2755 OCT1 messageType, // '62'
2756 BSSMAP_IE_ApplicationData applicationData,
2757 BSSMAP_IE_DataIdentity dataIdentity,
2758 BSSMAP_IE_MSISDN mSISDN optional
2759} with { variant "PRESENCE (messageType = '62'O)" }
2760
2761
2762// 3.2.1.83 INTERNAL HANDOVER REQUIRED
2763type record PDU_BSSMAP_InternalHandoverRequired
2764{
2765 OCT1 messageType, // '70'
2766 BSSMAP_IE_Cause cause,
2767 BSSMAP_IE_CellIdentifier cellIdentifier,
2768 BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional,
2769 BSSMAP_IE_SpeechCodecList codecList
2770} with { variant "PRESENCE (messageType = '70'O)" }
2771
2772
2773// 3.2.1.84 INTERNAL HANDOVER REQUIRED REJECT
2774type record PDU_BSSMAP_InternalHandoverRequiredReject
2775{
2776 OCT1 messageType, // '71'
2777 BSSMAP_IE_Cause cause,
2778 BSSMAP_IE_SpeechCodecList codecList optional
2779} with { variant "PRESENCE (messageType = '71'O)" }
2780
2781
2782// 3.2.1.85 INTERNAL HANDOVER COMMAND
2783type record PDU_BSSMAP_InternalHandoverCommand
2784{
2785 OCT1 messageType, // '72'
2786 BSSMAP_IE_SpeechCodec speechCodec,
2787 BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional,
2788 BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional,
2789 BSSMAP_IE_CallIdentifier callIdentifier optional,
2790 BSSMAP_IE_DownLinkDTXFlag downLinkDTX_Flag optional,
2791 BSSMAP_IE_LCLS_ConnectionStatusControl lCLS_ConnectionStatusControl optional
2792} with { variant "PRESENCE (messageType = '72'O)" }
2793
2794// 3.2.1.86 INTERNAL HANDOVER ENQUIRY
2795type record PDU_BSSMAP_InternalHandoverEnquiry
2796{
2797 OCT1 messageType, //'73'
2798 BSSMAP_IE_SpeechCodec speechCodec
2799} with { variant "PRESENCE (messageType = '73'O)" }
2800
2801
2802// 3.2.1.87 RESET IP RESOURCE
2803type record PDU_BSSMAP_ResetIPResource
2804{
2805 OCT1 messageType, //'3D'
2806 BSSMAP_IE_Cause cause,
2807 BSSMAP_IE_CallIdentifierList callIdentifierList
2808} with { variant "PRESENCE (messageType = '3D'O)" }
2809
2810
2811// 3.2.1.88 RESET IP RESOURCE ACK
2812type record PDU_BSSMAP_ResetIPResourceAck
2813{
2814 OCT1 messageType, //'3E'
2815 BSSMAP_IE_CallIdentifierList callIdentifierList
2816} with { variant "PRESENCE (messageType = '3E'O)" }
2817
2818
2819// 3.2.1.89 REROUTE COMMAND
2820type record PDU_BSSMAP_RerouteCommand
2821{
2822 OCT1 messageType, //'78'
2823 BSSMAP_IE_Layer3Information initialLayer3Information,
2824 BSSMAP_IE_RerouteRejectCause rerouteRejectCause,
2825 BSSMAP_IE_Layer3Information layer3Information optional,
2826 BSSMAP_IE_SendSequenceNumber sendSequenceNumber optional,
2827 BSSMAP_IE_IMSI iMSI optional
2828} with { variant "PRESENCE (messageType = '78'O)" }
2829
2830// 3.2.1.90 REROUTE COMPLETE
2831type record PDU_BSSMAP_RerouteComplete
2832{
2833 OCT1 messageType, //'79'
2834 BSSMAP_IE_RerouteCompleteOutcome rerouteCompleteOutcome
2835} with { variant "PRESENCE (messageType = '79'O)" }
2836
2837// 3.2.1.91 LCLS CONNECT CONTROL
2838type record PDU_BSSMAP_LCLS_ConnectControl
2839{
2840 OCT1 messageType, //'74'
2841 BSSMAP_IE_LCLS_Configuration lCLS_Configuration optional,
2842 BSSMAP_IE_LCLS_ConnectionStatusControl lCLS_ConnectionStatusControl optional
2843} with { variant "PRESENCE (messageType = '74'O)" }
2844
2845// 3.2.1.92 LCLS CONNECT CONTROL ACK
2846type record PDU_BSSMAP_LCLS_ConnectControlAck
2847{
2848 OCT1 messageType, //'75'
2849 BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status
2850} with { variant "PRESENCE (messageType = '75'O)" }
2851
2852// 3.2.1.93 LCLS NOTIFICATION
2853type record PDU_BSSMAP_LCLS_Notification
2854{
2855 OCT1 messageType, //'76'
2856 BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status optional,
2857 BSSMAP_IE_LCLS_BreakRequest lCLS_BreakRequest optional
2858} with { variant "PRESENCE (messageType = '76'O)" }
2859
2860
2861//The container type of all BSSMAP messages
2862type union PDU_BSSMAP
2863{
2864 PDU_BSSMAP_AssignmentRequest assignmentRequest,
2865 PDU_BSSMAP_AssignmentComplete assignmentComplete,
2866 PDU_BSSMAP_AssignmentFailure assignmentFailure,
2867 PDU_BSSMAP_ChannelModifyRequest channelModifyRequest,
2868 PDU_BSSMAP_Block block,
2869 PDU_BSSMAP_BlockingAck blockingAck,
2870 PDU_BSSMAP_BSSInvokeTrace bSSInvokeTrace,
2871 PDU_BSSMAP_ChangeCircuit changeCircuit,
2872 PDU_BSSMAP_ChangeCircuitAck changeCircuitAck,
2873 PDU_BSSMAP_CipherModeCommand cipherModeCommand,
2874 PDU_BSSMAP_CipherModeComplete cipherModeComplete,
2875 PDU_BSSMAP_CipherModeReject cipherModeReject,
2876 PDU_BSSMAP_CircuitGroupBlock circuitGroupBlock,
2877 PDU_BSSMAP_CircuitGroupBlockingAck circuitGroupBlockingAck,
2878 PDU_BSSMAP_CircuitGroupUnblock circuitGroupUnblock,
2879 PDU_BSSMAP_CircuitGroupUnblockAck circuitGroupUnblockAck,
2880 PDU_BSSMAP_ClassmarkRequest classmarkRequest,
2881 PDU_BSSMAP_ClassmarkUpdate classmarkUpdate,
2882 PDU_BSSMAP_ClearCommand clearCommand,
2883 PDU_BSSMAP_ClearComplete clearComplete,
2884 PDU_BSSMAP_ClearRequest clearRequest,
2885 PDU_BSSMAP_CommonID commonID,
2886 PDU_BSSMAP_CompleteLayer3Information completeLayer3Information,
2887 PDU_BSSMAP_Confusion confusion,
2888 PDU_BSSMAP_ConnectionlessInformation connectionlessInformation,
2889 PDU_BSSMAP_HandoverCandidateEnquire handoverCandidateEnquire,
2890 PDU_BSSMAP_HandoverCandidateResponse handoverCandidateResponse,
2891 PDU_BSSMAP_HandoverCommand handoverCommand,
2892 PDU_BSSMAP_HandoverComplete handoverComplete,
2893 PDU_BSSMAP_HandoverDetect handoverDetect,
2894 PDU_BSSMAP_HandoverFailure handoverFailure,
2895 PDU_BSSMAP_HandoverPerformed handoverPerformed,
2896 PDU_BSSMAP_HandoverRequest handoverRequest,
2897 PDU_BSSMAP_HandoverRequestAck handoverRequestAck,
2898 PDU_BSSMAP_HandoverRequired handoverRequired,
2899 PDU_BSSMAP_HandoverRequiredReject handoverRequiredReject,
2900 PDU_BSSMAP_HandoverSucceeded handoverSucceeded,
2901 PDU_BSSMAP_LoadIndication loadIndication,
2902 PDU_BSSMAP_LSAInformation lSAInformation,
2903 PDU_BSSMAP_MSCInvokeTrace mSCInvokeTrace,
2904 PDU_BSSMAP_Overload overload,
2905 PDU_BSSMAP_Paging paging,
2906 PDU_BSSMAP_PerformLocationAbort performLocationAbort,
2907 PDU_BSSMAP_PerformLocationRequest performLocationRequest,
2908 PDU_BSSMAP_PerformLocationResponse performLocationResponse,
2909 PDU_BSSMAP_QueueingIndication queueingIndication,
2910 PDU_BSSMAP_Reset reset,
2911 PDU_BSSMAP_ResetAck resetAck,
2912 PDU_BSSMAP_ResetCircuit resetCircuit,
2913 PDU_BSSMAP_ResetCircuitAck resetCircuitAck,
2914 PDU_BSSMAP_ResourceIndication resourceIndication,
2915 PDU_BSSMAP_ResourceRequest resourceRequest,
2916 PDU_BSSMAP_SAPInReject sAPInReject,
2917 PDU_BSSMAP_Suspend suspend,
2918 PDU_BSSMAP_Resume resume,
2919 PDU_BSSMAP_Unblock unblock,
2920 PDU_BSSMAP_UnblockAck unblockAck,
2921 PDU_BSSMAP_UnequippedCircuit unequippedCircuit,
2922 PDU_BSSMAP_UplinkRequest uplinkRequest,
2923 PDU_BSSMAP_UplinkRequestAck uplinkRequestAck,
2924 PDU_BSSMAP_UplinkRequestConfirmation uplinkRequestConfirmation,
2925 PDU_BSSMAP_UplinkReleaseIndication uplinkReleaseIndication,
2926 PDU_BSSMAP_UplinkRejectCommand uplinkRejectCommand,
2927 PDU_BSSMAP_UplinkReleaseCommand uplinkReleaseCommand,
2928 PDU_BSSMAP_UplinkSeizedCommand uplinkSeizedCommand,
2929 PDU_BSSMAP_VGCS_VBSSetup vGCS_VBSSetup,
2930 PDU_BSSMAP_VGCS_VBSSetupAck vGCS_VBSSetupAck,
2931 PDU_BSSMAP_VGCS_VBSSetupRefuse vGCS_VBSSetupRefuse,
2932 PDU_BSSMAP_VGCS_VBSAssignmentRequest vGCS_VBSAssignmentRequest,
2933 PDU_BSSMAP_VGCS_VBSAssignmentResult vGCS_VBSAssignmentResult,
2934 PDU_BSSMAP_VGCS_VBSAssignmentFailure vGCS_VBSAssignmentFailure,
2935 PDU_BSSMAP_VGCS_VBSQueuingIndication vGCS_VBSQueuingIndication,
2936 // FIXME: these 2 message type codes are not specified in the standard
2937 // PDU_BSSMAP_EmergencyResetIndication emergencyResetIndication,
2938 // PDU_BSSMAP_EmergencyResetCommand emergencyResetCommand,
2939 PDU_BSSMAP_VGCS_AdditionalInformation vGCS_AdditionalInformation,
2940 PDU_BSSMAP_VGCS_VBS_AreaCellInfo vGCS_VBS_AreaCellInfo,
2941 PDU_BSSMAP_VGCS_VBS_AssignmentStatus vGCS_VBS_AssignmentStatus,
2942 PDU_BSSMAP_VGCS_SMS vGCS_SMS,
2943 PDU_BSSMAP_UplinkApplicationData uplinkApplicationData,
2944 PDU_BSSMAP_NotificationData notificationData,
2945 PDU_BSSMAP_InternalHandoverRequired internalHandoverRequired,
2946 PDU_BSSMAP_InternalHandoverRequiredReject internalHandoverRequiredReject,
2947 PDU_BSSMAP_InternalHandoverCommand internalHandoverCommand,
2948 PDU_BSSMAP_InternalHandoverEnquiry internalHandoverEnquiry,
2949 PDU_BSSMAP_ResetIPResource resetIPResource,
2950 PDU_BSSMAP_ResetIPResourceAck resetIPResourceAck,
2951 PDU_BSSMAP_RerouteCommand rerouteCommand,
2952 PDU_BSSMAP_RerouteComplete rerouteComplete,
2953 PDU_BSSMAP_LCLS_ConnectControl lCLS_ConnectControl,
2954 PDU_BSSMAP_LCLS_ConnectControlAck lCLS_connectControlAck,
2955 PDU_BSSMAP_LCLS_Notification lCLS_Notification
2956}
2957
2958
2959
2960///////////////////////////////////////////
2961// BSSAP message definition
2962///////////////////////////////////////////
2963
2964type union BSSMAPorDTAP
2965{
2966 PDU_BSSMAP bssmap,
2967 octetstring dtap
2968}
2969
2970
2971type record PDU_BSSAP
2972{
2973 BIT1 discriminator, // 0= BSSMAP ; 1 = DTAP
2974 BIT7 spare, // always '0000000'B
2975 OCT1 dlci optional,
2976 LIN1 lengthIndicator,
2977 BSSMAPorDTAP pdu
2978} with {variant (lengthIndicator)"LENGTHTO (pdu)";
2979 variant (pdu)"CROSSTAG( bssmap, discriminator='0'B;
2980 dtap, discriminator='1'B)";
2981 variant (dlci)"PRESENCE(discriminator='1'B)"}
2982
2983
2984} with { encode "RAW"} // End of module BSSMAP_typedefs