| /////////////////////////////////////////////////////////////////////////////// |
| // // |
| // Copyright Test Competence Center (TCC) ETH 2012 // |
| // // |
| // The copyright to the computer program(s) herein is the property of TCC. // |
| // The program(s) may be used and/or copied only with the written permission // |
| // of TCC or in accordance with the terms and conditions stipulated in the // |
| // agreement/contract under which the program(s) has been supplied. // |
| // // |
| /////////////////////////////////////////////////////////////////////////////// |
| // |
| // File: BSSAP_Types.ttcn |
| // Rev: R1A01 |
| // Prodnr: CNL 113 761 |
| // Updated: 2012-10-30 |
| // Contact: http://ttcn.ericsson.se |
| |
| module BSSAP_Types { |
| |
| // This module contains the type definitions and encoding attributes for |
| // Base Station System. The signalling protocol reference model is based |
| // on 48.008 V11.2.0 Figure 1. |
| // |
| // ------------------------------ |
| // | BSSAP | |
| // | | |
| // | ------------------------- | BSSMAP layer is defined in 48.008 v11.2.0 |
| // | | | | | |
| // | | DTAP | BSSMAP | | |
| // | | | | | |
| // | ------------------------- | |
| // | | Distribution Function | | |
| // |=============================| |
| // | SCCP | |
| // ------------------------------ |
| |
| |
| import from General_Types all; |
| |
| external function enc_PDU_BSSAP(in PDU_BSSAP pdu) return octetstring |
| with { extension "prototype(convert) encode(RAW)" } |
| external function dec_PDU_BSSAP(in octetstring stream) return PDU_BSSAP |
| with { extension "prototype(convert) decode(RAW)" } |
| |
| external function enc_PDU_BSSAP_fast(in PDU_BSSAP pdu, out octetstring stream) |
| with { extension "prototype(fast) encode(RAW)" } |
| external function dec_PDU_BSSAP_backtrack(in octetstring stream, out PDU_BSSAP pdu) return integer |
| with { extension "prototype(backtrack) decode(RAW)" } |
| |
| /////////////////////////////////////////// |
| // BSSMAP information element definition |
| /////////////////////////////////////////// |
| |
| // Circuit Identity Code - 48.008 subclause 3.2.2.2 |
| type record BSSMAP_IE_CircuitIdentityCode |
| { |
| OCT1 elementIdentifier, // '01'O |
| OCT1 cicHigh, // CIC = 11 bits of used information |
| OCT1 cicLow // (last 5 bits not used) |
| } with { variant "PRESENCE (elementIdentifier = '01'O)" } |
| |
| |
| // Connection Release Requested - 48.008 subclause 3.2.2.3 |
| type record BSSMAP_IE_ConnectionReleaseRequested |
| { |
| OCT1 elementIdentifier // '36'O |
| } with { variant "PRESENCE (elementIdentifier = '36'O)" } |
| |
| |
| // Resource Available - 48.008 subclause 3.2.2.4 |
| type record BSSMAP_IE_ResourceAvailable |
| { |
| OCT1 elementIdentifier, // '03'O |
| OCT4 band1, |
| OCT4 band2, |
| OCT4 band3, |
| OCT4 band4, |
| OCT4 band5 |
| } with { variant "PRESENCE (elementIdentifier = '03'O)" } |
| |
| // Cause - 48.008 subclause 3.2.2.5 |
| type record BSSMAP_IE_Cause |
| { |
| OCT1 elementIdentifier, // '04'O |
| INT1 lengthIndicator, |
| BIT7 causeValue, |
| BIT1 extensionCauseValue, |
| OCT1 spare1 optional |
| } with { variant "PRESENCE (elementIdentifier = '04'O)" |
| variant (lengthIndicator) |
| "LENGTHTO (causeValue,extensionCauseValue,spare1)"; |
| variant (spare1) "PRESENCE(extensionCauseValue = '1'B)"} |
| |
| // IMSI - 48.008 subclause 3.2.2.6 |
| type record BSSMAP_IE_IMSI |
| { |
| OCT1 elementIdentifier, // '08'O |
| INT1 lengthIndicator, |
| BIT3 typeOfIdentity, |
| BIT1 oddEvenIndicator, // '0'B even / 1'B odd number of identity digits |
| HEX5_16 digits // if nr of digits is even, the last digit: '1111'B |
| } with { variant "PRESENCE (elementIdentifier = '08'O)" |
| variant (lengthIndicator) |
| "LENGTHTO (typeOfIdentity,oddEvenIndicator,digits)"; |
| variant "PADDING(yes),PADDING_PATTERN('1'B)"} |
| |
| |
| // TMSI - 48.008 subclause 3.2.2.7 |
| type record BSSMAP_IE_TMSI |
| { |
| OCT1 elementIdentifier, // '09'O |
| INT1 lengthIndicator, |
| OCT4 tmsiOctets // octets 3-6 in real |
| } with { variant "PRESENCE (elementIdentifier = '09'O)" |
| variant (lengthIndicator) "LENGTHTO (tmsiOctets)"} |
| |
| |
| // Number Of MSs - 48.008 subclause 3.2.2.8 |
| type record BSSMAP_IE_NumberOfMSs |
| { |
| OCT1 elementIdentifier, // '0E'O |
| OCT1 NrOfHoCandidates |
| } |
| |
| |
| // Layer 3 Header Info - 48.008 subclause 3.2.2.9 |
| type record BSSMAP_IE_Layer3HeaderInfo |
| { |
| OCT1 elementIdentifier, //'07'O |
| INT1 lengthIndicator, //'02'O |
| BIT4 pd, // '0110'B |
| BIT4 spare1_4, // '0000'B |
| BIT4 ti, // '0000'B |
| BIT4 spare2_4 // '0000'B |
| } with { variant "PRESENCE (elementIdentifier = '07'O)" |
| variant (lengthIndicator) "LENGTHTO (pd, spare1_4, ti, spare2_4)" } |
| |
| |
| // Encryption Information - 48.008 subclause 3.2.2.10 |
| type record BSSMAP_IE_EncryptionInformation |
| { |
| OCT1 elementIdentifier, // '0A'O |
| INT1 lengthIndicator, // 1..9 |
| OCT1 permittedAlgorithms,// '1'B encryption no |
| // '0' B GSM A5/1 not useable |
| // '1' B GSM A5/useable 1 |
| // '0' B GSM A5/2 not useable |
| // '1' B GSM A5/useable 2 |
| // '0' B GSM A5/3 not useable |
| // '1' B GSM A5/useable 3 |
| // '0' B GSM A5/4 not useable |
| // '1' B GSM A5/useable 4 |
| // '0' B GSM A5/5 useable not |
| // '1' B GSM A5/useable 5 |
| // '0' B GSM A5/6 useable not |
| // '1' B GSM A5/useable 6 |
| // '0' B GSM A5/7 useable not |
| // '1' B GSM A5/useable 7 |
| OCT8 key optional |
| } with { variant "PRESENCE (elementIdentifier = '0A'O)" |
| variant (lengthIndicator) "LENGTHTO (permittedAlgorithms, key)" } |
| |
| |
| // Channel Type - 48.008 subclause 3.2.2.11 |
| type record BSSMAP_IE_ChannelType |
| { |
| OCT1 elementIdentifier, //'0B'O |
| INT1 lengthIndicator, // 3..8 |
| BIT4 speechOrDataIndicator, //'0001'B Speech,'0010'B Data '0011'B Sign |
| BIT4 spare1_4, // '0000'B |
| OCT1 channelRateAndType, // |
| octetstring speechId_DataIndicator |
| } with {variant (lengthIndicator) "LENGTHTO (speechOrDataIndicator, |
| spare1_4, channelRateAndType, speechId_DataIndicator)" } |
| |
| |
| // Periodicity - 48.008 subclause 3.2.2.12 |
| type record BSSMAP_IE_Periodicity |
| { |
| OCT1 elementIdentifier, //'0C'O |
| OCT1 periodicity |
| } |
| |
| |
| // Extended Resource Indicator - 48.008 subclause 3.2.2.13 |
| type record BSSMAP_IE_ExtendedResourceInd |
| { |
| OCT1 elementIdentifier, //'0D'O |
| BIT1 TARR, |
| BIT1 SM, |
| BIT6 spare |
| } with { variant "PRESENCE (elementIdentifier = '0D'O)" } |
| |
| |
| // Total Resource Accessible - 48.008 subclause 3.2.2.14 |
| type record BSSMAP_IE_TotalResourceAccessible |
| { |
| OCT1 elementIdentifier, //'22'O |
| OCT2 nrOfFullRateCh, |
| OCT2 nrOfHalfRateCh |
| } with { variant "PRESENCE (elementIdentifier = '22'O)" } |
| |
| |
| // LSA Identifier - 48.008 subclause 3.2.2.15 |
| type record BSSMAP_IE_LSAIdentifier |
| { |
| OCT1 elementIdentifier, //'3B'O |
| INT1 lengthIndicator, // 3 |
| BSSMAP_FIELD_LSAId lSAID |
| } with { variant "PRESENCE (elementIdentifier = '3B'O)" |
| variant (lengthIndicator) "LENGTHTO (lSAID)"} |
| |
| type record BSSMAP_FIELD_LSAId |
| { |
| OCT1 lSAID, |
| OCT1 lSAIDcont1, |
| OCT1 lSAIDcont2 |
| } |
| |
| |
| // LSA Identifier List - 48.008 subclause 3.2.2.16 |
| type record BSSMAP_IE_LSAIdentifierList |
| { |
| OCT1 elementIdentifier, //'3C'O |
| INT1 lengthIndicator, |
| BIT1 EP, |
| BIT7 spare, |
| BSSMAP_FIELD_LSAIdList lSAIDlist |
| } with {variant (lengthIndicator) "LENGTHTO (EP,spare,lSAIDlist)"} |
| |
| type record of BSSMAP_FIELD_LSAId BSSMAP_FIELD_LSAIdList |
| |
| |
| // Cell Identifier - 48.008 subclause 3.2.2.17 |
| type record BSSMAP_IE_CellIdentifier |
| { |
| OCT1 elementIdentifier, // '05'O |
| INT1 lengthIndicator, |
| BIT4 cellIdentifierDiscriminator, |
| BIT4 spare1_4, // '0000'B |
| BSSMAP_FIELD_CellIdentification cellIdentification |
| } with { variant "PRESENCE (elementIdentifier = '05'O)" |
| variant (lengthIndicator) |
| "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentification)"; |
| variant (cellIdentification) "CROSSTAG( |
| cI_CGI, cellIdentifierDiscriminator='0000'B; |
| cI_LAC_CI, cellIdentifierDiscriminator='0001'B; |
| cI_CI, cellIdentifierDiscriminator='0010'B; |
| cI_noCell, cellIdentifierDiscriminator='0011'B; |
| cI_PLMN_LAC_RNC, cellIdentifierDiscriminator='1000'B; |
| cI_RNC, cellIdentifierDiscriminator='1001'B; |
| cI_LAC_RNC, cellIdentifierDiscriminator='1010'B; |
| cI_SAI, cellIdentifierDiscriminator='1011'B; |
| ci_LAC_RNC_CI, cellIdentifierDiscriminator='1100'B; |
| )"} |
| |
| type union BSSMAP_FIELD_CellIdentification |
| { |
| BSSMAP_FIELD_CellIdentification_CGI cI_CGI, // discriminator = '0000'B |
| BSSMAP_FIELD_CellIdentification_LAC_CI cI_LAC_CI, // discriminator = '0001'B |
| OCT2 cI_CI, // discriminator = '0010'B |
| OCT0 cI_noCell, // discriminator = '0011'B |
| BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC cI_PLMN_LAC_RNC,// discriminator = '1000'B |
| OCT2 cI_RNC, // discriminator = '1001'B |
| BSSMAP_FIELD_CellIdentification_LAC_RNC cI_LAC_RNC,// discriminator = '1010'B |
| BSSMAP_FIELD_CellIdentification_SAI cI_SAI, // discriminator = '1011'B |
| BSSMAP_FIELD_LAC_RNC_CI ci_LAC_RNC_CI // discriminator = '1100'B |
| } |
| |
| type record BSSMAP_FIELD_CellIdentification_CGI |
| { |
| OCT3 mcc_mnc, |
| OCT2 lac, |
| OCT2 ci |
| } |
| |
| type record BSSMAP_FIELD_CellIdentification_LAC_CI |
| { |
| OCT2 lac, |
| OCT2 ci |
| } |
| |
| type record BSSMAP_FIELD_CellIdentification_LAI |
| { |
| OCT3 mcc_mnc, |
| OCT2 lac |
| } |
| |
| type record BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC |
| { |
| OCT3 mcc_mnc, |
| OCT2 lac, |
| OCT2 rncId |
| } |
| |
| type record BSSMAP_FIELD_CellIdentification_LAC_RNC |
| { |
| OCT2 lac, |
| OCT2 rncId |
| } |
| |
| type record BSSMAP_FIELD_CellIdentification_SAI |
| { |
| OCT3 mcc_mnc, |
| OCT2 lac, |
| OCT2 sac |
| } |
| |
| type record BSSMAP_FIELD_LAC_RNC_CI |
| { |
| OCT3 mcc_mnc, |
| OCT2 lac, |
| OCT2 rncId, |
| OCT2 ci |
| } |
| |
| |
| // Cell Identifier List - 48.008 subclause 3.2.2.27 |
| type record BSSMAP_IE_CellIdentifierList |
| { |
| OCT1 elementIdentifier, // '1A'O |
| INT1 lengthIndicator, |
| BIT4 cellIdentifierDiscriminator, |
| BIT4 spare1_4, // '0000'B |
| BSSMAP_FIELD_CellIdentificationList cellIdentificationList |
| } with { variant "PRESENCE (elementIdentifier = '1A'O)" |
| variant (lengthIndicator) |
| "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationList)"; |
| variant (cellIdentificationList) "CROSSTAG( |
| cIl_CGI, cellIdentifierDiscriminator='0000'B; |
| cIl_LAC_CI, cellIdentifierDiscriminator='0001'B; |
| cIl_CI, cellIdentifierDiscriminator='0010'B; |
| cIl_noCell, cellIdentifierDiscriminator='0011'B; |
| cIl_LAI, cellIdentifierDiscriminator='0100'B; |
| cIl_LAC, cellIdentifierDiscriminator='0101'B; |
| cIl_allInBSS, cellIdentifierDiscriminator='0110'B; |
| cIl_PLMN_LAC_RNC, cellIdentifierDiscriminator='1000'B; |
| cIl_RNC, cellIdentifierDiscriminator='1001'B; |
| cIl_LAC_RNC, cellIdentifierDiscriminator='1010'B;)"} |
| |
| type union BSSMAP_FIELD_CellIdentificationList { |
| BSSMAP_FIELD_CellIdentificationList_CGI cIl_CGI, // discr. = '0000'B |
| BSSMAP_FIELD_CellIdentificationList_LAC_CI cIl_LAC_CI,// discr. = '0001'B |
| RecordOfOCT2 cIl_CI, // discr. = '0010'B |
| OCT0 cIl_noCell,// discr. = '0011'B |
| BSSMAP_FIELD_CellIdentificationList_LAI cIl_LAI, // discr. = '0100'B only paging |
| RecordOfOCT2 cIl_LAC, // discr. = '0101'B only paging |
| OCT0 cIl_allInBSS, // discr. = '0110'B only paging |
| BSSMAP_FIELD_CellIdentificationList_PLMN_LAC_RNC cIl_PLMN_LAC_RNC, // discr. = '1000'B |
| RecordOfOCT2 cIl_RNC, // discr. = '1001'B |
| BSSMAP_FIELD_CellIdentificationList_LAC_RNC cIl_LAC_RNC // discr. = '1010'B |
| } |
| |
| |
| type record of OCT2 |
| RecordOfOCT2 |
| |
| type record of BSSMAP_FIELD_CellIdentification_CGI |
| BSSMAP_FIELD_CellIdentificationList_CGI |
| |
| type record of BSSMAP_FIELD_CellIdentification_LAC_CI |
| BSSMAP_FIELD_CellIdentificationList_LAC_CI |
| |
| type record of BSSMAP_FIELD_CellIdentification_LAI |
| BSSMAP_FIELD_CellIdentificationList_LAI |
| |
| type record of BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC |
| BSSMAP_FIELD_CellIdentificationList_PLMN_LAC_RNC |
| |
| type record of BSSMAP_FIELD_CellIdentification_LAC_RNC |
| BSSMAP_FIELD_CellIdentificationList_LAC_RNC |
| |
| type record of BSSMAP_FIELD_CellIdentification_SAI |
| BSSMAP_FIELD_CellIdentificationList_SAI |
| |
| // 3.2.2.27a Cell Identifier List Segment |
| type record BSSMAP_IE_CellIdentifierListSegment |
| { |
| OCT1 elementIdentifier, // '6D'O |
| INT1 lengthIndicator, |
| BIT4 sequenceNumber, |
| BIT4 sequenceLength, |
| BIT4 cellIdentifierDiscriminator, |
| BIT4 spare, |
| BSSMAP_FIELD_CellIdentificationListSegment cellIdentificationListSegment |
| } with { variant "PRESENCE (elementIdentifier = '6D'O)" |
| variant (lengthIndicator) |
| "LENGTHTO(sequenceNumber, sequenceLength, cellIdentifierDiscriminator, spare, cellIdentificationListSegment)"; |
| variant (cellIdentificationListSegment) "CROSSTAG( |
| cIl_CGI, cellIdentifierDiscriminator='0000'B; |
| cIl_LAC_CI, cellIdentifierDiscriminator='0001'B; |
| cIl_CI, cellIdentifierDiscriminator='0010'B; |
| cIl_noCell, cellIdentifierDiscriminator='0011'B; |
| cIl_LAI, cellIdentifierDiscriminator='0100'B; |
| cIl_LAC, cellIdentifierDiscriminator='0101'B; |
| cIl_allInBSS, cellIdentifierDiscriminator='0110'B; |
| cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"} |
| |
| |
| |
| type union BSSMAP_FIELD_CellIdentificationListSegment |
| { |
| BSSMAP_FIELD_CellIdentificationList_CGI cIl_CGI, // discr. ='0000'B; |
| BSSMAP_FIELD_CellIdentificationList_LAC_CI_Segment cIl_LAC_CI, // discr. ='0001'B |
| BSSMAP_FIELD_CellIdentificationList_CIL_CI_Segment cIl_CI, // discr. ='0010'B; |
| OCT0 cIl_noCell, // discr. ='0011'B; |
| BSSMAP_FIELD_CellIdentificationList_LAI cIl_LAI, // discr. ='0100'B; |
| RecordOfOCT2 cIl_LAC, // discr. ='0101'B; |
| OCT0 cIl_allInBSS, // discr. ='0101'B; |
| RecordOfOCT3 cIl_MCC_MNC // discr. ='0111'B; |
| } |
| |
| type record BSSMAP_FIELD_CellIdentificationList_LAC_CI_Segment |
| { |
| OCT3 mcc_mnc, |
| BSSMAP_FIELD_CellIdentificationList_LAC_CI lac_ci |
| } |
| |
| type record BSSMAP_FIELD_CellIdentificationList_CIL_CI_Segment |
| { |
| OCT3 mcc_mnc, |
| OCT2 lac, |
| RecordOfOCT2 ci |
| } |
| |
| type record of OCT3 |
| RecordOfOCT3 |
| |
| |
| // 3.2.2.27b Cell Identifier List Segment for Established Cells |
| type record BSSMAP_IE_CellIdentifierListSegmentEstCells |
| { |
| OCT1 elementIdentifier, // '71'O |
| INT1 lengthIndicator, |
| BIT4 cellIdentifierDiscriminator, |
| BIT4 spare1_4, // '0000'B |
| BSSMAP_FIELD_CellIdentificationListEstablishment cellIdentificationListEstCells |
| } with { variant "PRESENCE (elementIdentifier = '71'O)" |
| variant (lengthIndicator) |
| "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationListEstCells)"; |
| variant (cellIdentificationListEstCells) "CROSSTAG( |
| cIl_CGI, cellIdentifierDiscriminator='0000'B; |
| cIl_LAC_CI, cellIdentifierDiscriminator='0001'B; |
| cIl_CI, cellIdentifierDiscriminator='0010'B; |
| cIl_LAI, cellIdentifierDiscriminator='0100'B; |
| cIl_LAC, cellIdentifierDiscriminator='0101'B; |
| cIl_allInBSS, cellIdentifierDiscriminator='0110'B; |
| cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"} |
| |
| |
| type union BSSMAP_FIELD_CellIdentificationListEstablishment |
| { |
| BSSMAP_FIELD_CellIdentificationList_CGI cIl_CGI, // discr. = '0000'B |
| BSSMAP_FIELD_CellIdentificationList_LAC_CI_Segment cIl_LAC_CI, // discr. = '0001'B; |
| BSSMAP_FIELD_CellIdentificationList_CIL_CI_Segment cIl_CI, // discr. = '0010'B; |
| BSSMAP_FIELD_CellIdentificationList_LAI cIl_LAI, // discr. = '0100'B; |
| RecordOfOCT2 cIl_LAC, // discr. = '0101'B; |
| OCT0 cIl_allInBSS, // discr. = '0110'B; |
| RecordOfOCT3 cIl_MCC_MNC // discr. = '0111'B; |
| } |
| |
| // 3.2.2.27c |
| type record BSSMAP_IE_CellIdentifierListSegmentCellsToEst |
| { |
| OCT1 elementIdentifier, // '73'O |
| INT1 lengthIndicator, |
| BIT4 cellIdentifierDiscriminator, |
| BIT4 spare1_4, // '0000'B |
| BSSMAP_FIELD_CellIdentificationListEstablishment cellIdentificationListCellsToEst |
| } with { variant "PRESENCE (elementIdentifier = '72'O)" |
| variant (lengthIndicator) |
| "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationListCellsToEst)"; |
| variant (cellIdentificationListCellsToEst) "CROSSTAG( |
| cIl_CGI, cellIdentifierDiscriminator='0000'B; |
| cIl_LAC_CI, cellIdentifierDiscriminator='0001'B; |
| cIl_CI, cellIdentifierDiscriminator='0010'B; |
| cIl_LAI, cellIdentifierDiscriminator='0100'B; |
| cIl_LAC, cellIdentifierDiscriminator='0101'B; |
| cIl_allInBSS, cellIdentifierDiscriminator='0110'B; |
| cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"} |
| |
| // 3.2.2.27e |
| type record BSSMAP_IE_CellIdentifierListSegmentReleasedCellsNoUserPresent |
| { |
| OCT1 elementIdentifier, // '74'O |
| INT1 lengthIndicator, |
| BIT4 cellIdentifierDiscriminator, |
| BIT4 spare1_4, // '0000'B |
| BSSMAP_FIELD_CellIdentificationListEstablishment cellIdentificationListReleasedCellsNoUserPresent |
| } with { variant "PRESENCE (elementIdentifier = '74'O)" |
| variant (lengthIndicator) |
| "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationListReleasedCellsNoUserPresent)"; |
| variant (cellIdentificationListReleasedCellsNoUserPresent) "CROSSTAG( |
| cIl_CGI, cellIdentifierDiscriminator='0000'B; |
| cIl_LAC_CI, cellIdentifierDiscriminator='0001'B; |
| cIl_CI, cellIdentifierDiscriminator='0010'B; |
| cIl_LAI, cellIdentifierDiscriminator='0100'B; |
| cIl_LAC, cellIdentifierDiscriminator='0101'B; |
| cIl_allInBSS, cellIdentifierDiscriminator='0110'B; |
| cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"} |
| |
| // 3.2.2.27f |
| type record BSSMAP_IE_CellIdentifierListSegmentNotEstablishedCellsNoEstPossible |
| { |
| OCT1 elementIdentifier, // '73'O |
| INT1 lengthIndicator, |
| BIT4 cellIdentifierDiscriminator, |
| BIT4 spare1_4, // '0000'B |
| BSSMAP_FIELD_CellIdentificationListEstablishment cellIdentificationListNotEstablishedCellsNoEstPossible |
| } with { variant "PRESENCE (elementIdentifier = '73'O)" |
| variant (lengthIndicator) |
| "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationListNotEstablishedCellsNoEstPossible)"; |
| variant (cellIdentificationListNotEstablishedCellsNoEstPossible) "CROSSTAG( |
| cIl_CGI, cellIdentifierDiscriminator='0000'B; |
| cIl_LAC_CI, cellIdentifierDiscriminator='0001'B; |
| cIl_CI, cellIdentifierDiscriminator='0010'B; |
| cIl_LAI, cellIdentifierDiscriminator='0100'B; |
| cIl_LAC, cellIdentifierDiscriminator='0101'B; |
| cIl_allInBSS, cellIdentifierDiscriminator='0110'B; |
| cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"} |
| |
| |
| // Priority - 48.008 subclause 3.2.2.18 |
| type record BSSMAP_IE_Priority |
| { |
| OCT1 elementIdentifier, //'06'O |
| INT1 lengthIndicator, //'01'O |
| BIT1 pvi, // '0'B connection canNOT be preempted by other allocation |
| // '1'B connection might be preempted by other allocation |
| BIT1 qa, // '0'B queuing not allowed - '1'B queuing allowed |
| BIT4 priorityLevel, // '0000'B spare |
| // '0001'B priority 1 level (highest) |
| // '1110'B priority 14 level (lowest) |
| // '1111'B priority used not |
| BIT1 pci, // '0'B allocation canNOT preempt connection other |
| // '1'B allocation might preempt other connection |
| BIT1 spare1_1 // '0'B |
| } with { variant "PRESENCE (elementIdentifier = '06'O)" |
| variant(lengthIndicator) "LENGTHTO(pvi,qa,priorityLevel,pci,spare1_1)" } |
| |
| |
| // Classmark Information Type 2 - 48.008 subclause 3.2.2.19 |
| type record BSSMAP_IE_ClassmarkInformationType2 |
| { |
| OCT1 elementIdentifier, //'12'O |
| INT1 lengthIndicator, // '02'O or '03'O |
| BIT3 rf_PowerCapability, // '000'B class1 (for GSM+DCS+PCS) |
| // '001'B class2 (for GSM+DCS+PCS) |
| // '010'B class3 (for GSM+DCS+PCS) |
| // '011'class4 B (only for GSM) |
| // '100'class5 B (only for GSM) |
| BIT1 a5_1, //encryption algorithm A5/1 available ('1'B) or not ('0'B) |
| BIT1 esind,//controlled early classmark sending implemented ('1'B) or not ('0'B) |
| BIT2 revisionLevel, // '00'B reserved for phase1 (GSM+DCS) |
| // '00'B reserved (PCS) |
| // '01'B used by phase2 MSs (GSM+DCS) |
| // '01'B used by PCS1900 MSs phase1 (PCS) |
| BIT1 spare1_1, // '0'B |
| BIT1 fc, // MS' support of E/R_GSM ('1'B) or not ('0'B) |
| BIT1 vgcs, // VGCS capability or notification wanted ('1'B) or not ('0'B) |
| BIT1 vbs, // VBS capability or notification wanted ('1'B) or not ('0'B) |
| BIT1 sm_Capability, // SM capbility present ('1'B) or not ('0'B) |
| BIT2 ss_ScreenIndicator, // '00'B default value of phase1 (GSM+DCS) |
| // '00'reserved B (PCS) |
| // '01'B capability of notation ellipsis |
| // '10'B for future use |
| // '11'B for use future |
| BIT1 ps_Capability, // ignored, if received |
| BIT1 spare2_1, // '0'B |
| BSSMAP_FIELD_ClassmarkInformationType2_oct5 classmarkInformationType2_oct5 |
| } with { variant "PRESENCE (elementIdentifier = '12'O)"; |
| variant (lengthIndicator) "LENGTHTO (rf_PowerCapability, a5_1, |
| esind, revisionLevel, spare1_1, fc, vgcs, vbs, sm_Capability, |
| ss_ScreenIndicator, ps_Capability, spare2_1, |
| classmarkInformationType2_oct5)" } |
| |
| // Helper type for BSSMAP Applib |
| type record BSSMAP_IE_ClassmarkInformationType2_V |
| { |
| BIT3 rf_PowerCapability, // '000'B class1 (for GSM+DCS+PCS) |
| // '001'B class2 (for GSM+DCS+PCS) |
| // '010'B class3 (for GSM+DCS+PCS) |
| // '011'class4 B (only for GSM) |
| // '100'class5 B (only for GSM) |
| BIT1 a5_1, //encryption algorithm A5/1 available ('1'B) or not ('0'B) |
| BIT1 esind,//controlled early classmark sending implemented ('1'B) or not ('0'B) |
| BIT2 revisionLevel, // '00'B reserved for phase1 (GSM+DCS) |
| // '00'B reserved (PCS) |
| // '01'B used by phase2 MSs (GSM+DCS) |
| // '01'B used by PCS1900 MSs phase1 (PCS) |
| BIT1 spare1_1, // '0'B |
| BIT1 fc, // MS' support of E/R_GSM ('1'B) or not ('0'B) |
| BIT1 vgcs, // VGCS capability or notification wanted ('1'B) or not ('0'B) |
| BIT1 vbs, // VBS capability or notification wanted ('1'B) or not ('0'B) |
| BIT1 sm_Capability, // SM capbility present ('1'B) or not ('0'B) |
| BIT2 ss_ScreenIndicator, // '00'B default value of phase1 (GSM+DCS) |
| // '00'reserved B (PCS) |
| // '01'B capability of notation ellipsis |
| // '10'B for future use |
| // '11'B for use future |
| BIT1 ps_Capability, // ignored, if received |
| BIT1 spare2_1, // '0'B |
| BSSMAP_FIELD_ClassmarkInformationType2_oct5 classmarkInformationType2_oct5 |
| } |
| |
| type record BSSMAP_FIELD_ClassmarkInformationType2_oct5 |
| { |
| BIT1 a5_2,//encryption algorithm A5/2 available ('0'B) or not ('1'B) |
| BIT1 a5_3,//encryption algorithm A5/3 available ('0'B) or not ('1'B) |
| BIT1 cmsp,//"Network initiated MO CM connectionrequest" not supported ('0'B) |
| //or supported for at least one CM protocol ('1'B) |
| BIT1 solsa,// The ME support SoLSA ('1'B) or not ('0'B) |
| BIT1 ucs2, // '0'B ME has a preference for the default alphabet over UCS2 |
| // '1'B ME has no preference between the use of the default |
| // alphabet and the use of UCS2 |
| BIT1 lcsvacap, // LCS value added location request notification capability |
| // supported ('1'B) or not ('0'B) |
| BIT1 spare,// '0'B |
| BIT1 cm3 // '0'B Any additional capability info ('1'B) or not ('0'B) |
| } |
| |
| |
| // Classmark Information Type 3 - 48.008 subclause 3.2.2.20 |
| type record BSSMAP_IE_ClassmarkInformationType3 |
| { |
| OCT1 elementIdentifier, //'13'O |
| INT1 lengthIndicator, // '01'O .. '0C'O |
| OCT1_32 classmark3ValuePart |
| } with { variant "PRESENCE (elementIdentifier = '13'O)" |
| variant (lengthIndicator) "LENGTHTO (classmark3ValuePart)"} |
| |
| |
| // Interference Band To Be Used - 48.008 subclause 3.2.2.21 |
| type record BSSMAP_IE_InterferenceBandToBeUsed |
| { |
| OCT1 elementIdentifier, // '14'O |
| BIT5 band, |
| BIT3 spare |
| } with { variant "PRESENCE (elementIdentifier = '14'O)" } |
| |
| |
| // RR Cause - 48.008 subclause 3.2.2.22 |
| type record BSSMAP_IE_RR_Cause |
| { |
| OCT1 elementIdentifier, // '15'O |
| OCT1 rr_Cause |
| } with { variant "PRESENCE (elementIdentifier = '15'O)" } |
| |
| |
| // LSA Information - 48.008 subclause 3.2.2.23 |
| type record BSSMAP_IE_LSAInformation |
| { |
| OCT1 elementIdentifier, //'3D'O |
| INT1 lengthIndicator, |
| BIT1 lSAonly, |
| BIT7 spare, |
| BSSMAP_FIELD_LSAIdAttrib_List lSAIdAttrib_List |
| } with { variant "PRESENCE (elementIdentifier = '3D'O)" |
| variant (lengthIndicator) "LENGTHTO (lSAonly,spare,lSAIdAttrib_List)" } |
| |
| type record BSSMAP_FIELD_LSAIdAttrib |
| { |
| BIT4 priority, |
| BIT1 pref, |
| BIT1 act, |
| BIT2 spare |
| } |
| |
| type record of BSSMAP_FIELD_LSAIdAttrib BSSMAP_FIELD_LSAIdAttrib_List |
| |
| |
| // Layer 3 Information - 48.008 subclause 3.2.2.24 |
| type record BSSMAP_IE_Layer3Information |
| { |
| OCT1 elementIdentifier, // '17'O |
| INT1 lengthIndicator, |
| octetstring layer3info |
| } with { variant "PRESENCE (elementIdentifier = '17'O)" |
| variant (lengthIndicator) "LENGTHTO (layer3info)"} |
| |
| // DLCI - 48.008 subclause 3.2.2.25 (48006 v8.0.0 section 9.3.2) |
| type record BSSMAP_IE_DLCI |
| { |
| OCT1 elementIdentifier, // '18'O |
| BIT3 sapiValue, // '011'O Short Message Signalling Service |
| BIT3 spare, |
| BIT1 c1, |
| BIT1 c2 |
| } |
| |
| |
| // Downlink DTX Flag - 48.008 subclause 3.2.2.26 |
| type record BSSMAP_IE_DownLinkDTXFlag |
| { |
| OCT1 elementIdentifier, // '19'O |
| BIT1 dtx, // DTX is disabled ('0'B) or enabled ('1'B) to downlink |
| BIT7 spare1_7 // '0000000'B |
| } with { variant "PRESENCE (elementIdentifier = '19'O)" } |
| |
| |
| // Cell Identifier List - 48.008 subclause 3.2.2.27 |
| // See above under Cell Identifier |
| |
| |
| // Response Request - 48.008 subclause 3.2.2.28 |
| type record BSSMAP_IE_ResponseRequest |
| { |
| OCT1 elementIdentifier // '1B'O |
| } with { variant "PRESENCE (elementIdentifier = '1B'O)" } |
| |
| |
| // Resource Indication Method - 48.008 subclause 3.2.2.29 |
| type record BSSMAP_IE_ResourceIndMethod |
| { |
| OCT1 elementIdentifier, // '1C'O |
| BIT4 resourceIndMethod, |
| BIT4 spare |
| } |
| |
| |
| // Classmark Information Type 1 - 48.008 subclause 3.2.2.30 |
| type record BSSMAP_IE_ClassmarkInformationType1 |
| { |
| OCT1 elementIdentifier, // '1D'O |
| BIT3 rf_PowerCapability, // '000'B class1 (for GSM+DCS+PCS) |
| // '001'B class2 (for GSM+DCS+PCS) |
| // '010'B class3 (for GSM+DCS+PCS) |
| // '011'class4 B (only for GSM) |
| // '100'class5 B (only for GSM) |
| BIT1 a5_1, //encryption algorithm A5/1 available ('1'B) or not ('0'B) |
| BIT1 esind, //controlled early classmark sending implemented (1) or not (0) |
| BIT2 revisionLevel, |
| BIT1 spare1_1 // '0'B |
| } with { variant "PRESENCE(elementIdentifier = '1D'O)" } |
| |
| // Circuit Identity Code List - 48.008 subclause 3.2.2.31 |
| type record BSSMAP_IE_CircuitIdentityCodeList |
| { |
| OCT1 elementIdentifier, // '1E'O |
| INT1 lengthIndicator, |
| OCT1 range, // A number in binary representation ranging from 2 to 255 |
| OCTN status // status data of lengthIndicator 1_32 |
| } with { variant "PRESENCE(elementIdentifier = '1E'O)" |
| variant (lengthIndicator) "LENGTHTO (range, status)" } ; |
| |
| |
| // Diagnostics - 48.008 subclause 3.2.2.32 |
| type record BSSMAP_IE_Diagnostics |
| { |
| OCT1 elementIdentifier, // '1F'O |
| INT1 lengthIndicator, |
| OCT1 errorLocation, // First octet of Error pointer |
| BIT4 bitPointer, |
| BIT4 spare, |
| OCTN messageReceived // The errorneous message |
| } with {variant (lengthIndicator) |
| "LENGTHTO (errorLocation, bitPointer, spare, messageReceived)" } ; |
| |
| |
| // Chosen Channel - 48.008 subclause 3.2.2.33 |
| type record BSSMAP_IE_ChosenChannel |
| { |
| OCT1 elementIdentifier, // '21'O |
| BIT4 channel, |
| BIT4 channelMode |
| } with { variant "PRESENCE (elementIdentifier = '21'O)" } |
| |
| |
| // Cipher Response Mode - 48.008 subclause 3.2.2.34 |
| type record BSSMAP_IE_CipherResponseMode |
| { |
| OCT1 elementIdentifier, // '23'O |
| BIT1 cipherResponseModeInfo,//IMEISV must be included by MS ('0') or not (1) |
| BIT7 spare1_7 // '0000000'B |
| } with { variant "PRESENCE (elementIdentifier = '23'O)" } |
| |
| |
| // Layer 3 Message contents - 48.008 subclause 3.2.2.35 |
| type record BSSMAP_IE_Layer3MessageContents |
| { |
| OCT1 elementIdentifier, // '20'O |
| INT1 lengthIndicator, |
| octetstring layer3MsgConents |
| } with { variant "PRESENCE (elementIdentifier = '20'O)" |
| variant (lengthIndicator) "LENGTHTO (layer3MsgConents)"} |
| |
| |
| // Channel Needed - 48.008 subclause 3.2.2.36 |
| type record BSSMAP_IE_ChannelNeeded |
| { |
| OCT1 elementIdentifier, // '24'O |
| BIT2 channel, //00:any, 01:SDCCH, 10:Full TCH, 11:Dual TCH |
| BIT6 spare |
| } with { variant "PRESENCE (elementIdentifier = '24'O)" } |
| |
| |
| // Trace Type - 48.008 subclause 3.2.2.37 |
| type record BSSMAP_IE_TraceType |
| { |
| OCT1 elementIdentifier, // '25'O |
| BIT2 e,// Event Invoking |
| // '00'B: Mobile Originated Call, Mobile Call Terminated, |
| // Short Message Service Mobile Originated, Short |
| // Message Service Mobile Terminated, Independent Call |
| // Supplementary Services, Updates Location, |
| // IMSI attach, detach IMSI |
| // '01'B: Mobile Originated Call, Mobile Call Terminated, |
| // Short Message Service Mobile Originated, Short |
| // Message Service Mobile Terminated, Independent Call |
| // Supplementary Services only |
| // '10'B: Location Updates, IMSI attach, IMSI only detach |
| // '11'B: Operator definable |
| BIT2 d,// MSC Type Record |
| // '00'B: Basic |
| // '01'B: Detailed (Optional) |
| // '00'B: Spare |
| // '00'B: No Trace MSC |
| BIT2 c,// BSS Type Record |
| // '00'B: Basic |
| // '01'B: Handover |
| // '00'B: Radio |
| // '00'B: No Trace BSS |
| BIT1 b,// For expansion future |
| // Set to '0'B |
| BIT1 a // Priority Indication |
| // '0'B: Priority No |
| // '1'B: Priority |
| } |
| |
| |
| // Trigger ID - 48.008 subclause 3.2.2.38 |
| type record BSSMAP_IE_TriggerId |
| { |
| OCT1 elementIdentifier, //'26'O |
| INT1 lengthIndicator, |
| octetstring entityIdentity length(1..20) |
| } with { variant "PRESENCE (elementIdentifier = '26'O)" |
| variant (lengthIndicator) "LENGTHTO (entityIdentity)" } |
| |
| |
| // Trace Reference - 48.008 subclause 3.2.2.39 |
| type record BSSMAP_IE_TraceReference |
| { |
| OCT1 elementIdentifier, // '27'O |
| OCT1 msb_TraceReference, // the most significant bit of trace reference |
| OCT1 lsb_TraceReference // the least significant bit of trace reference |
| } with { variant "PRESENCE (elementIdentifier = '27'O)" } |
| |
| |
| // Transaction ID - 48.008 subclause 3.2.2.40 |
| type record BSSMAP_IE_TransactionId |
| { |
| OCT1 elementIdentifier, //'28'O |
| INT1 lengthIndicator, |
| octetstring transactionNumber length(1..2) |
| } with { variant "PRESENCE (elementIdentifier = '28'O)" |
| variant (lengthIndicator) "LENGTHTO (transactionNumber)" } |
| |
| |
| // Mobil Identity - 48.008 subclause 3.2.2.41 |
| type record BSSMAP_IE_MobileIdentity |
| { |
| OCT1 elementIdentifier, // '29'O |
| INT1 lengthIndicator, |
| BIT3 typeOfIdentity, |
| BIT1 oddEvenIndicator, // '0'B even / 1'B odd number of identity digits |
| HEX5_16 digits // if nr of digits is even, the last digit: '1111'B |
| } with { variant "PRESENCE (elementIdentifier = '29'O)" |
| variant (lengthIndicator) |
| "LENGTHTO (typeOfIdentity,oddEvenIndicator,digits)"; |
| variant "PADDING(yes),PADDING_PATTERN('1'B)"} |
| |
| |
| // OMCID - 48.008 subclause 3.2.2.42 |
| type record BSSMAP_IE_OMCId |
| { |
| OCT1 elementIdentifier, // '2A'O |
| INT1 lengthIndicator, |
| BIT4 numberingPlanind, // '0000'B unknown |
| // '0001'B ISDN/Telephony Numbering Plan (Rec CCITT E.164) |
| // '0011'B data numbering plan (CCITT Rec X.121) |
| // '0100'B telex numbering plan (CCITT Rec F.69) |
| // '0110'B land mobile numbering plan (CCITT Rec E.212) |
| // '1000'B national numbering plan |
| // '1001'B private numbering plan |
| // All other values are reserved |
| BIT3 natureOfAddress, // '000'B unknown |
| // '001'B international number |
| // '010'B national significant number |
| // '011'B network specific number |
| // '100'B subscriber number |
| // '110'B abbreviated number |
| // All other values are reserved |
| BIT1 ext, |
| OCTN digits// The digits are encoded TBCD (digit 0000 _ 1001 (0_9), |
| // 1010 = '*', 1011 = '#', 1100 = 'A', 1101 = 'B', 1110 = 'C'). |
| // If the number of identity digits is odd bits then bit 5-8 |
| // of the last octet is filled with '1111' |
| } with { variant "PRESENCE (elementIdentifier = '2A'O)" |
| variant (lengthIndicator) "LENGTHTO (numberingPlanind, natureOfAddress, |
| ext, digits)"} |
| |
| |
| // Forward Indicator - 48.008 subclause 3.2.2.43 |
| type record BSSMAP_IE_ForwardIndicator |
| { |
| OCT1 elementIdentifier, //'2B'O |
| BIT4 forwardIndicator, |
| BIT4 spare |
| } with { variant "PRESENCE (elementIdentifier = '2B'O)" } |
| |
| |
| // Choosen Encryption Algorithm - 48.008 subclause 3.2.2.44 |
| type record BSSMAP_IE_ChosenEncryptionAlgorithm |
| { |
| OCT1 elementIdentifier, // '2C'O |
| OCT1 algorithmIdentifier // '00000001'B no encryption |
| // '00000010'B A5/1 |
| // '00000011'B A5/2 |
| // '00000100'B A5/3 |
| // '00000101'B A5/4 |
| // '00000110'B A5/5 |
| // '00000111'B A5/6 |
| // '00001000'B A5/7 |
| } with { variant "PRESENCE (elementIdentifier = '2C'O)" } |
| |
| |
| // Circuit Pool - 48.008 subclause 3.2.2.45 |
| type record BSSMAP_IE_CircuitPool |
| { |
| OCT1 elementIdentifier, // '2D'O |
| OCT1 circuitPoolNumber |
| } with { variant "PRESENCE (elementIdentifier = '2D'O)" } |
| |
| |
| // Circuit Pool List - 48.008 subclause 3.2.2.46 |
| type record BSSMAP_IE_CircuitPoolList |
| { |
| OCT1 elementIdentifier, // '2E'O |
| INT1 lengthIndicator, |
| octetstring circuitPoolNumber |
| } with { variant "PRESENCE (elementIdentifier = '2E'O)" |
| variant (lengthIndicator) "LENGTHTO (circuitPoolNumber)" } ; |
| |
| |
| // Time Indication - 48.008 subclause 3.2.2.47 |
| type record BSSMAP_IE_TimeIndication |
| { |
| OCT1 elementIdentifier, // '2F'O |
| OCT1 time |
| } |
| |
| |
| // Resource Situation - 48.008 subclause 3.2.2.48 |
| type record BSSMAP_IE_ResourceSituation |
| { |
| OCT1 elementIdentifier, // '30'O |
| INT1 lengthIndicator, |
| BSSMAP_FIELD_ResourceList resourceList |
| } with {variant "PRESENCE (elementIdentifier = '30'O)" |
| variant (lengthIndicator) "LENGTHTO (resourceList)" } |
| |
| type record of BSSMAP_FIELD_Resource |
| BSSMAP_FIELD_ResourceList |
| |
| type record BSSMAP_FIELD_Resource |
| { |
| BIT4 channelType, |
| BIT4 resourceAndBandInd, |
| OCT1 nrOfChannels, |
| OCT1 nrOfChannels7_15 optional |
| } with {variant (nrOfChannels) "EXTENSION_BIT(reverse)"} |
| |
| |
| // Current Channel Type 1 - 48.008 subclause 3.2.2.49 |
| type record BSSMAP_IE_CurrentChannelType1 |
| { |
| OCT1 elementIdentifier, // '31'O |
| BIT4 channel, |
| BIT4 channelMode |
| } with { variant "PRESENCE (elementIdentifier = '31'O)" } |
| |
| // Queueing Indicator - 48.008 subclause 3.2.2.50 |
| type record BSSMAP_IE_QueueingIndicator |
| { |
| OCT1 elementIdentifier, //'32'O |
| BIT1 spare1, // '0'B |
| BIT1 qri, // It is recommended to allow queueing ('1'B) or not ('0'B) |
| BIT6 spare2 // '000000'B |
| } with { variant "PRESENCE (elementIdentifier = '32'O)" } |
| |
| // Speech Version - 48.008 subclause 3.2.2.51 |
| type record BSSMAP_IE_SpeechVersion |
| { |
| OCT1 elementIdentifier, // '40'O |
| BIT7 speechVersionIdentifier,//'0000001'B speech full rate version 1 (H'01) |
| //'0010001'B speech full rate version 2 (H'11) |
| //'0100001'B speech full rate version 3 (H'21) |
| //'0000101'B speech half rate version 1 (H'05) |
| //'0010101'B speech half rate version 2 (H'15) |
| //'0100101'B speech half rate version 3 (H'25) |
| BIT1 spare1_1 // '0'B |
| } with { variant "PRESENCE (elementIdentifier = '40'O)" } |
| |
| |
| // Assignment Requirement - 48.008 subclause 3.2.2.52 |
| type record BSSMAP_IE_AssignmentRequirement |
| { |
| OCT1 elementIdentifier, // '33'O |
| OCT1 assignmentRequirement |
| } with { variant "PRESENCE (elementIdentifier = '33'O)" } |
| |
| |
| // Talker Flag - 48.008 subclause 3.2.2.54 |
| type record BSSMAP_IE_TalkerFlag |
| { |
| OCT1 elementIdentifier // '35'O |
| } with { variant "PRESENCE (elementIdentifier = '35'O)" } |
| |
| |
| // Group Call Reference - 48.008 subclause 3.2.2.55 |
| type record BSSMAP_IE_GroupCallReference |
| { |
| OCT1 elementIdentifier, // '37'O |
| INT1 lengthIndicator, // 1..6 |
| octetstring descrGroupbroadcastCallRef length(1..5) // never sent by MSC, ignored if received |
| } with { variant "PRESENCE (elementIdentifier = '37'O)" |
| variant (lengthIndicator) "LENGTHTO (descrGroupbroadcastCallRef)" } |
| |
| |
| // EMLPP Priority - 48.008 subclause 3.2.2.56 |
| type record BSSMAP_IE_EMLPP_Priority |
| { |
| OCT1 elementIdentifier,// '38'O |
| BIT3 callPriority, // '000'B no priority applied |
| // '001'B call priority level 4 |
| // '010'B call priority 3 level |
| // '011'B call priority level 2 |
| // '100'B call priority 1 level |
| // '101'B call priority level 0 |
| // '110'B call priority B level |
| // '111'B call priority level A |
| BIT5 spare1_5 // '00000'B |
| } with { variant "PRESENCE (elementIdentifier = '38'O)" } |
| |
| |
| // Configuration Evolution Indicator - 48.008 subclause 3.2.2.57 |
| type record BSSMAP_IE_ConfigurationEvolutionIndication |
| { |
| OCT1 elementIdentifier,// H'39 |
| BIT4 smi, // '0000'B no modification is allowed |
| // '0001'B modification allowed <= 1 TCH/F |
| // '0010'B modification allowed <= 2 TCH/F |
| // '0011'B modification allowed <= 3 TCH/F |
| // '0100'B modification allowed <= 4 TCH/F |
| BIT4 spare1_4 // '0000'B |
| } with { variant "PRESENCE (elementIdentifier = '39'O)" } |
| |
| |
| // Old BSS to New BSS Information - 48.008 subclause 3.2.2.58 |
| type record BSSMAP_IE_OldToNewBSSInfo |
| { |
| OCT1 elementIdentifier, //'3A'O |
| INT1 lengthIndicator, |
| octetstring oldToNewBSSIEs |
| } with { variant "PRESENCE (elementIdentifier = '3A'O)" |
| variant (lengthIndicator) "LENGTHTO (oldToNewBSSIEs)" } |
| |
| |
| // LCS QOS - 48.008 subclause 3.2.2.60 (and 49.031 10.16) |
| type record BSSMAP_IE_LCSQOS { |
| OCT1 elementIdentifier, // '3E'O |
| INT1 lengthIndicator, |
| BIT1 vCI, //Vertical Coordinate Indicator: VC requested ('1'B) or not ('0'B) |
| BIT1 vEL, // report velocity if available (1) or not(0) |
| BIT6 spare_1_6, // '0000000'B |
| BIT7 horizontalAccuracy, // Accuracy Horizontal (HA) |
| BIT1 hAI, // Horizontal Accuracy Indicator HA is specified (1) or not (0) |
| BIT7 verticalAccuracy, // Accuracy Vertical (VA) |
| BIT1 vAI, // Vertical Accuracy Indicator VA is specified (1) or not (0) |
| BIT6 spare_2_6, // '000000'B |
| BIT2 rTC // '00'B Response Time is not specified |
| // '01'B delay Low |
| // '10'B Delay tolerant |
| // '11'B Reserved |
| } with { variant "PRESENCE (elementIdentifier = '3E'O)" |
| variant (lengthIndicator) "LENGTHTO (vCI, vEL, spare_1_6, horizontalAccuracy, |
| hAI, verticalAccuracy, vAI, spare_2_6, rTC)"} |
| |
| |
| // LSA Access Control Suppression - 48.008 subclause 3.2.2.61 |
| type record BSSMAP_IE_LSAAccessControlSuppression |
| { |
| OCT1 elementIdentifier, //'3F'O |
| BIT1 em, // in emergency calls em = '1'B |
| BIT7 spare // '0000000'B |
| } with { variant "PRESENCE (elementIdentifier = '3F'O)" } |
| |
| |
| // LCS Priority - 48.008 subclause 3.2.2.62 |
| type record BSSMAP_IE_LCSPriority |
| { |
| OCT1 elementIdentifier,// '43'O |
| INT1 lengthIndicator, |
| OCT1 priority // see "another FS" TS 29.002 for more detail |
| } with { variant "PRESENCE (elementIdentifier = '43'O)" |
| variant (lengthIndicator) "LENGTHTO (priority)"} |
| |
| |
| // Location Type - 48.008 subclause 3.2.2.63 |
| type record BSSMAP_IE_LocationType |
| { |
| OCT1 elementIdentifier, // '44'O |
| INT1 lengthIndicator, // 1 or 2 |
| OCT1 locationInformation,// '00000000'B current location geographic |
| // '00000001'B loc assistance info for target MS |
| // '00000010'B deciphering keys for broadcast |
| // assistance data for MS target |
| // all other values are reserved |
| OCT1 positioningMethod optional |
| // '00000000'B reserved |
| // '00000001'B Mobile E_OTD Assisted |
| // '00000010'B Mobile Based E_OTD |
| // '00000011'B GPS Assisted |
| // all other values are reserved |
| } with {variant (lengthIndicator) "LENGTHTO (locationInformation, positioningMethod)"} |
| |
| |
| // Location Estimate - 48.008 subclause 3.2.2.64 |
| type record BSSMAP_IE_LocationEstimate |
| { |
| OCT1 elementIdentifier, // '45'O |
| INT1 lengthIndicator, // 1_22 on A_interface, 1_93 E_interface on |
| OCTN geographicLocation |
| } with { variant "PRESENCE (elementIdentifier = '45'O)" |
| variant (lengthIndicator) "LENGTHTO (geographicLocation)"} |
| |
| |
| // Positioning Data - 48.008 subclause 3.2.2.65 |
| type record BSSMAP_IE_PositioningData |
| { |
| OCT1 elementIdentifier, // '46'O |
| INT1 lengthIndicator, // 2_11 |
| BIT4 positioningDataDescriminator, // '0000'B indicates usage of each |
| // positioning data method, |
| // that was attempted |
| // all other values reserved are |
| BIT4 spare_1_4, // '0000'B |
| BSSMAP_FIELD_PositioningMethods positioningMethod // of lengthIndicator 1_10 |
| } with { variant "PRESENCE (elementIdentifier = '46'O)" |
| variant (lengthIndicator) "LENGTHTO (positioningDataDescriminator, spare_1_4,positioningMethod)"} |
| |
| type record BSSMAP_FIELD_PositioningMethod |
| { |
| BIT3 usage, // '000'B unsuccesful attempt due to failure or interruption |
| // '001'B succesful attempt, results not used to generate location |
| // '010'B succesful attempt, results used to verify but not generate location |
| // '011'B succesful attempt, results used to generate location |
| // '100'B succesful attempt, MS supports multiple based positioning methods |
| BIT5 positioningMethod // '00000'B Timing Advance |
| // '00001'B TOA |
| // '00010'B AOA |
| // '00011'B Mobile EOTD Assisted |
| // '00100'B Mobile Based E_OTD |
| // '00101'B Mobile GPS Assisted |
| // '00110'B Mobile Based GPS |
| // '00111'B GPS Conventional |
| // '01000'B _ '01111'B reserved for GSM |
| // '10000'B _ '11111'B reserved for network |
| // specific positioning methods |
| } |
| |
| type record of BSSMAP_FIELD_PositioningMethod BSSMAP_FIELD_PositioningMethods |
| |
| |
| // LCS Cause - 48.008 subclause 3.2.2.66 |
| type record BSSMAP_IE_LCSCause |
| { |
| OCT1 elementIdentifier, // '47'O |
| INT1 lengthIndicator, // 1 (_> diagnosticValue invalid) 2 or |
| BIT8 causeValue, // '00000000'BUnspecified |
| // '00000001'B System Failure |
| // '00000010'B Error Protocol |
| // '00000011'B Data missing in position request |
| // '00000100'B unexpected data value in request position |
| // '00000101'B Position method failure |
| // '00000110'B Target unreachable MS |
| // '00000111'B Location request aborted |
| // '00001000'B Facility supported not |
| // '00001001'B intra_BSC_HO ongoing |
| // '00001010'B complete intra_BSC_HO |
| // '00001011'B congestion |
| // all other values reserved are |
| OCT1 diagnosticValue optional |
| } with { variant "PRESENCE (elementIdentifier = '47'O)" |
| variant (lengthIndicator) "LENGTHTO (causeValue, diagnosticValue)"} |
| |
| |
| // LCS Client Type - 48.008 subclause 3.2.2.67 |
| type record BSSMAP_IE_LCSClientType |
| { |
| OCT1 elementIdentifier, // '48'O |
| INT1 lengthIndicator, // 1 |
| BIT4 subtype, // all values unspecified/reserved except for: |
| // category = PLMN Operator: |
| // '0000'B Unspecified |
| // '0001'B Boradcast Service |
| // '0010'B O&M |
| // '0011'B Statistics Anonymous |
| // '0100'B Target MS Service Support |
| // all other values reserved are |
| BIT4 category // '0000'B Value added client |
| // '0010'B Operator PLMN |
| // '0011'B Emergency Services |
| // '0100'B Lawful Services Intercept |
| // all other values are reserved |
| } with { variant "PRESENCE (elementIdentifier = '48'O)" |
| variant (lengthIndicator) "LENGTHTO (subtype, category)"} |
| |
| |
| // APDU - 48.008 subclause 3.2.2.68 (and 49.031 v5.3.0) |
| type record BSSMAP_IE_APDU |
| { |
| OCT1 elementIdentifier, //'49'O |
| LIN2_BO_LAST lengthIndicator, |
| BIT7 protocolID optional, // '0000000'reserved B |
| // '0000001'BSSLAP B (the only currently supported) |
| // '0000010'LLP B |
| // '0000011'B SMLCPP |
| BIT1 spare_1_1 optional, // '0'B |
| octetstring embeddedMessage optional // of length: 5_25 |
| } with { variant "PRESENCE (elementIdentifier = '49'O)" |
| variant (lengthIndicator) |
| "LENGTHTO (protocolID,spare_1_1,embeddedMessage)"} |
| |
| |
| // Network Element Identity - 48.008 subclause 3.2.2.69 |
| type record BSSMAP_IE_NetworkElementIdentity |
| { |
| OCT1 elementIdentifier, //'4A'O |
| INT1 lengthIndicator, |
| BIT4 iDDiscriminator, |
| BIT4 spare, |
| OCTN networkElementIdentity // Network Element Identity |
| } with {variant (lengthIndicator) |
| "LENGTHTO (iDDiscriminator,spare,networkElementIdentity)"} |
| |
| |
| // GPS Assistant Data - 48.008 subclause 3.2.2.70 |
| type record BSSMAP_IE_GPSAssistanceData |
| { |
| OCT1 elementIdentifier, //'4B'O |
| INT1 lengthIndicator, // 1_38 |
| OCT1 a_to_h, |
| OCT1 i_to_p, |
| OCTN satellite_related_data // Satellite related data |
| } with { variant "PRESENCE (elementIdentifier = '4B'O)" |
| variant (lengthIndicator) "LENGTHTO (satellite_related_data,a_to_h,i_to_p)"} |
| |
| |
| // Deciphering Key - 48.008 subclause 3.2.2.71 |
| type record BSSMAP_IE_DecipheringKeys |
| { |
| OCT1 elementIdentifier, // '4C'O |
| INT1 lengthIndicator, // 1, 8, 15 |
| BIT8 cipheringKeyFlag, // current ciphering key is used (1) or not (0) |
| BIT56 currentdecipheringKeyValue, |
| BIT56 nextdecipheringKeyValue optional |
| } with { variant "PRESENCE (elementIdentifier = '4C'O)" |
| variant (lengthIndicator) "LENGTHTO (cipheringKeyFlag, |
| currentdecipheringKeyValue, nextdecipheringKeyValue)"} |
| |
| |
| // Return Error Request - 48.008 subclause 3.2.2.72 |
| type record BSSMAP_IE_ReturnErrorRequest |
| { |
| OCT1 elementIdentifier, //'4D'O |
| INT1 lengthIndicator, |
| OCT1 returnErrorType // Return Error Request |
| } with { variant "PRESENCE (elementIdentifier = '4D'O)" |
| variant (lengthIndicator) "LENGTHTO (returnErrorType)"} |
| |
| |
| // Return Error Cause - 48.008 subclause 3.2.2.73 |
| type record BSSMAP_IE_ReturnErrorCause |
| { |
| OCT1 elementIdentifier, //'4E'O |
| INT1 lengthIndicator, |
| OCT1 returnErrorCause // Return Error Cause |
| } with { variant "PRESENCE (elementIdentifier = '4E'O)" |
| variant (lengthIndicator) "LENGTHTO (returnErrorCause)"} |
| |
| |
| // Segmentation - 48.008 subclause 3.2.2.74 |
| type record BSSMAP_IE_Segmentation |
| { |
| OCT1 elementIdentifier, //'4F'O |
| INT1 lengthIndicator, |
| BIT4 segmentationNumber, |
| BIT1 segmentationBit, |
| BIT3 spare, |
| OCT2 messageID optional |
| } with { variant "PRESENCE (elementIdentifier = '4F'O)" |
| variant (lengthIndicator) |
| "LENGTHTO (segmentationNumber,segmentationBit,spare,messageID)"} |
| |
| |
| // Service Handover - 48.008 subclause 3.2.2.75 |
| type record BSSMAP_IE_ServiceHandover |
| { |
| OCT1 elementIdentifier, //'50'O |
| INT1 lengthIndicator, |
| BIT3 serviceHandoverInfo, |
| BIT5 spare |
| } with { variant "PRESENCE (elementIdentifier = '50'O)" |
| variant (lengthIndicator) "LENGTHTO (serviceHandoverInfo,spare)" } |
| |
| |
| //Source RNC to Target RNC transparent information -48.008 subclause 3.2.2.76-77 |
| type record BSSMAP_IE_SourceToTargetRNCTransparentInfo |
| { |
| OCT1 elementIdentifier, //'51'O or '52'O |
| INT1 lengthIndicator, |
| octetstring informationcontainer |
| } with { variant (lengthIndicator) "LENGTHTO (informationcontainer)" } |
| |
| |
| // GERAN Classmark - 48.008 subclause 3.2.2.78 |
| type record BSSMAP_IE_GERANClassmark |
| { |
| OCT1 elementIdentifier, //'53'O |
| INT1 lengthIndicator, |
| OCTN GERANClassmark |
| } with { variant "PRESENCE (elementIdentifier = '53'O)" |
| variant (lengthIndicator) "LENGTHTO (GERANClassmark)" } |
| |
| |
| // GERAN BSC Container - 48.008 subclause 3.2.2.79 |
| type record BSSMAP_IE_GERANBSCContainer |
| { |
| OCT1 elementIdentifier, //'54'O |
| INT1 lengthIndicator, |
| OCT1 codecType, |
| BIT3 maxNrofTCH, |
| BIT5 allowedRadioIFRates |
| } with {variant (lengthIndicator) |
| "LENGTHTO (codecType, maxNrofTCH, allowedRadioIFRates)" } |
| |
| |
| // New BSS to Old BSS Information - 48.008 subclause 3.2.2.80 |
| type record BSSMAP_IE_NewBSSToOldBSSInfo |
| { |
| OCT1 elementIdentifier, //'61'O |
| INT1 lengthIndicator, |
| OCTN newBSSToOldBSSIE optional |
| } with { variant "PRESENCE (elementIdentifier = '61'O)" |
| variant (lengthIndicator) "LENGTHTO (newBSSToOldBSSIE)" } |
| |
| |
| // Inter-System Information - 48.008 subclause 3.2.2.81 |
| type record BSSMAP_IE_InterSystemInfo |
| { |
| OCT1 elementIdentifier, //'63'O |
| INT1 lengthIndicator, |
| OCTN interSystemInfoTranspCont |
| } with { variant "PRESENCE (elementIdentifier = '63'O)" |
| variant (lengthIndicator) "LENGTHTO (interSystemInfoTranspCont)" } |
| |
| |
| // SNA Access Information - 48.008 subclause 3.2.2.82 |
| type record BSSMAP_IE_SNAAccessInfo |
| { |
| OCT1 elementIdentifier, //'64'O |
| INT1 lengthIndicator, |
| AuthorisedPLMN_List sNAAccessInfo |
| } with { variant "PRESENCE (elementIdentifier = '64'O)" |
| variant (lengthIndicator) "LENGTHTO (sNAAccessInfo)" } |
| |
| type record of AuthorisedPLMN AuthorisedPLMN_List; |
| |
| type record AuthorisedPLMN |
| { |
| INT1 lengthIndicator, |
| OCT3 mcc_mnc, |
| RecordOfOCT2 authorisedSNA optional |
| } with { variant (lengthIndicator) "LENGTHTO (mcc_mnc,authorisedSNA)" } |
| |
| |
| // 3.2.2.83 VSTK_RAND Information |
| type record BSSMAP_IE_VSTK_RAND |
| { |
| OCT1 elementIdentifier, // '65' |
| INT1 lengthIndicator, |
| OCT1 VSTK_RAND_1, |
| OCT2 VSTK_RAND_2, |
| OCT3 VSTK_RAND_3, |
| OCT4 VSTK_RAND_4, |
| BIT4 spare, |
| BIT4 VSTK_RAND_5 |
| } with { variant "PRESENCE (elementIdentifier = '65'O)" |
| variant (lengthIndicator) |
| "LENGTHTO (VSTK_RAND_1, VSTK_RAND_2, VSTK_RAND_3, VSTK_RAND_4, spare, VSTK_RAND_5)"} |
| |
| |
| // 3.2.2.84 VSTK information |
| type record BSSMAP_IE_VSTK |
| { |
| OCT1 elementIdentifier, // '66' |
| INT1 lengthIndicator, |
| OCT16 VSTK |
| } with { variant "PRESENCE (elementIdentifier = '66'O)" |
| variant (lengthIndicator) "LENGTHTO (VSTK)"} |
| |
| |
| // 3.2.2.85 Paging Information |
| type record BSSMAP_IE_PagingInformation |
| { |
| OCT1 elementIdentifier, // '67' |
| INT1 lengthIndicator, |
| BIT1 VGCS_or_VBS, // 0: not a member of any VGCS/VBS-group |
| BIT2 pagingCause, |
| BIT5 spare |
| } with { variant "PRESENCE (elementIdentifier = '67'O)" |
| variant (lengthIndicator) |
| "LENGTHTO (VGCS_or_VBS, pagingCause, spare)"} |
| |
| |
| // 3.2.2.86 IMEI |
| type record BSSMAP_IE_IMEI |
| { |
| OCT1 elementIdentifier, // '68' |
| INT1 lengthIndicator, |
| BIT3 typeOfIdentity, |
| BIT1 oddEvenIndicator, // '0'B even / 1'B odd number of identity digits |
| HEX5_16 digits // if nr of digits is even, the last digit: '1111'B |
| } with { variant "PRESENCE (elementIdentifier = '68'O)" |
| variant (lengthIndicator) |
| "LENGTHTO (typeOfIdentity,oddEvenIndicator,digits)"; |
| variant "PADDING(yes),PADDING_PATTERN('1'B)"} |
| |
| |
| // 3.2.2.87 Velocity Estimate |
| type record BSSMAP_IE_VelocityEstimate |
| { |
| OCT1 elementIdentifier, // '55' |
| INT1 lengthIndicator, |
| OCTN velocityEstimate |
| } with { variant "PRESENCE (elementIdentifier = '55'O)" |
| variant (lengthIndicator) "LENGTHTO (velocityEstimate)"} |
| |
| |
| // 3.2.2.88 VGCS Feature Flags |
| type record BSSMAP_IE_VGCS_FeatureFlags |
| { |
| OCT1 elementIdentifier, // '69' |
| INT1 lengthIndicator, |
| BIT1 TP_Ind, // 0: Talker Priority not supported; 1: Talker Priority supported |
| BIT2 AS_Ind, // least sig. bit: 0: No A-interface circuit sharing; 1: A-interface circuit sharing; |
| // most sig. bit: 0: No A-interface link sharing; 1: A-interface link sharing |
| BIT1 BSS_Res, // 0: No re-establishment of the group or broadcast call by the BSS; |
| // 1: Re-establishment of the group or broadcast call by the BSS |
| BIT1 tCP, |
| BIT3 spare |
| } with { variant "PRESENCE (elementIdentifier = '69'O)" |
| variant (lengthIndicator) |
| "LENGTHTO (TP_Ind, AS_Ind, BSS_Res, tCP, spare)"} |
| |
| |
| // Talker Priority - 48.008 subclause 3.2.2.89 |
| type record BSSMAP_IE_TalkerPriority |
| { |
| OCT1 elementIdentifier, // '6A'O |
| BIT2 priority, |
| // 0 0 Normal Priority |
| // 0 1 Privileged Priority |
| // 1 0 Emergency Priority |
| // 1 1 reserved for future use |
| BIT6 spare // 1..9 |
| } with { variant "PRESENCE (elementIdentifier = '6A'O)" } |
| |
| |
| // 3.2.2.90 Emergency Set Indication |
| type record BSSMAP_IE_EmergencySetIndication |
| { |
| OCT1 elementIdentifier // '6B' |
| } with { variant "PRESENCE (elementIdentifier = '6B'O)" } |
| |
| |
| // 3.2.2.91 Talker Identity |
| type record BSSMAP_IE_TalkerIdentity |
| { |
| OCT1 elementIdentifier, // '6C' |
| INT1 lengthIndicator, |
| BIT3 fillerBits, |
| BIT5 spare, |
| OCT17 talkerIdentity |
| } with { variant "PRESENCE (elementIdentifier = '6C'O)" |
| variant (lengthIndicator) |
| "LENGTHTO (fillerBits, spare, talkerIdentity)"} |
| |
| |
| // 3.2.2.92 SMS to VGCS |
| type octetstring OCT248 length(0..248); |
| |
| type record BSSMAP_IE_SMS_to_VGCS |
| { |
| OCT1 elementIdentifier, // '6E' |
| INT1 lengthIndicator, |
| OCT248 SMS |
| } with {variant (lengthIndicator) |
| "LENGTHTO (SMS)"} |
| |
| |
| // 3.2.2.93 VGCS talker mode |
| type record BSSMAP_IE_VGCS_TalkerMode |
| { |
| OCT1 elementIdentifier, // '6F' |
| INT1 lengthIndicator, |
| BIT2 spare, |
| BIT4 groupCipherKeyNumber, |
| BIT2 RR_mode // 0 0: dedicated mode (i.e. dedicated channel) |
| // 0 1: group transmit mode (i.e. voice group channel) |
| // Other values are reserved for future use. |
| } with {variant (lengthIndicator) |
| "LENGTHTO (spare, groupCipherKeyNumber, RR_mode)"} |
| |
| |
| // 3.2.2.94 VGCS/VBS Cell Status |
| type record BSSMAP_IE_VGCS_VBS_CellStatus |
| { |
| OCT1 elementIdentifier, // '70' |
| INT1 lengthIndicator, |
| BIT3 status, |
| BIT5 spare |
| } with { variant "PRESENCE (elementIdentifier = '70'O)" |
| variant (lengthIndicator) "LENGTHTO (status, spare)"} |
| |
| |
| // 3.2.2.95 GANSS Assistance Data |
| type record BSSMAP_IE_GANSS_AssistanceData |
| { |
| OCT1 elementIdentifier, //'75' |
| INT1 lengthIndicator, |
| OCTN gANSS_AssistanceDataInfo // 49.031 Section 10.31 |
| } with { variant "PRESENCE (elementIdentifier = '75'O)" |
| variant (lengthIndicator) "LENGTHTO (gANSS_AssistanceDataInfo)"} |
| |
| |
| // 3.2.2.96 GANSS Positioning Data |
| type record BSSMAP_IE_GANSS_PositioningData |
| { |
| OCT1 elementIdentifier, // '76' |
| INT1 lengthIndicator, |
| GANSS_PositioningData gANSS_PositioningDataInfo |
| } with { variant "PRESENCE (elementIdentifier = '76'O)" |
| variant (lengthIndicator) "LENGTHTO (gANSS_PositioningDataInfo)"} |
| |
| type record GANSS_PositioningData // 49.031 Section 10.32 |
| { |
| BIT3 usage, |
| BIT3 gANSS_Id, |
| BIT2 method |
| } |
| |
| |
| // 3.2.2.97 GANSS Location Type |
| type record BSSMAP_IE_GANSS_LocationType |
| { |
| OCT1 elementIdentifier, // '77' |
| INT1 lengthIndicator, |
| GANSS_LocationType gANSS_LocationTypeInfo |
| } with { variant "PRESENCE (elementIdentifier = '77'O)" |
| variant (lengthIndicator) "LENGTHTO (gANSS_LocationTypeInfo)"} |
| |
| type record GANSS_LocationType // 49.031 Section 10.33 |
| { |
| BIT1 galileo, |
| BIT1 sBAS, |
| BIT1 modernizedGPS, |
| BIT1 qZSS, |
| BIT1 gLONASS, |
| BIT3 spare |
| } |
| |
| |
| // 3.2.2.98 Application data |
| type record BSSMAP_IE_ApplicationData |
| { |
| OCT1 elementIdentifier, // '78' |
| INT1 lengthIndicator, |
| OCT9 applicationDataInfo // "implementation-specific" according to 44.018 v8.7.0 Section 10.5.2.72 |
| } with { variant "PRESENCE (elementIdentifier = '78'O)" |
| variant (lengthIndicator) "LENGTHTO (applicationDataInfo)"} |
| |
| |
| // 3.2.2.99 Data Identity |
| type record BSSMAP_IE_DataIdentity |
| { |
| OCT1 elementIdentifier, // '79' |
| INT1 lengthIndicator, |
| DataIdentity dataIdentityInfo |
| } with { variant "PRESENCE (elementIdentifier = '79'O)" |
| variant (lengthIndicator) "LENGTHTO (dataIdentityInfo)"} |
| |
| |
| type record DataIdentity // 44.018 v8.7.0 Section 10.5.2.73 |
| { |
| BIT1 aI, |
| BIT4 dI, |
| BIT3 dP |
| } |
| |
| |
| // 3.2.2.100 Application Data Information |
| type record BSSMAP_IE_ApplicationDataInformation |
| { |
| OCT1 elementIdentifier, // 7A' |
| INT1 lengthIndicator, |
| BIT1 bT_Ind, |
| BIT7 spare |
| } with { variant "PRESENCE (elementIdentifier = '7A'O)" |
| variant (lengthIndicator) "LENGTHTO (bT_Ind, spare)"} |
| |
| |
| // 3.2.2.101 MSISDN |
| type record BSSMAP_IE_MSISDN |
| { |
| OCT1 elementIdentifier, // '7B' |
| INT1 lengthIndicator, |
| octetstring msisdn |
| } with { variant "PRESENCE (elementIdentifier = '7B'O)" |
| variant (lengthIndicator) "LENGTHTO (msisdn)"} |
| |
| |
| // 3.2.2.102 AoIP Transport Layer Address |
| type record BSSMAP_IE_AoIP_TransportLayerAddress |
| { |
| OCT1 elementIdentifier, // '7C' |
| INT1 lengthIndicator, |
| BSSMAP_FIELD_IPAddress ipAddress, |
| LIN2_BO_LAST uDPPortValue |
| } with { |
| variant "PRESENCE (elementIdentifier = '7C'O)"; |
| variant (lengthIndicator) "LENGTHTO (ipAddress, uDPPortValue)"; |
| variant (ipAddress) "CROSSTAG(ipv4,lengthIndicator = 6; |
| ipv6,lengthIndicator = 18)" |
| } |
| |
| type union BSSMAP_FIELD_IPAddress |
| { |
| OCT4 ipv4, |
| OCT16 ipv6 |
| } |
| |
| //3.2.2.103 Speech Codec List |
| type record BSSMAP_IE_SpeechCodecList |
| { |
| OCT1 elementIdentifier, // '7D' |
| INT1 lengthIndicator, |
| BSSMAP_FIELD_CodecElements codecElements |
| } with { |
| variant "PRESENCE (elementIdentifier = '7D'O)"; |
| variant (lengthIndicator) "LENGTHTO (codecElements)" |
| } |
| |
| type record of BSSMAP_FIELD_CodecElement BSSMAP_FIELD_CodecElements; |
| |
| type record BSSMAP_FIELD_CodecElement |
| { |
| BSSMAP_FIELD_CodecType codecType, |
| BIT1 tF, |
| BIT1 pT, |
| BIT1 pI, |
| BIT1 fI, |
| OCT1 extendedCodecType optional, |
| BIT8 s0_7 optional, |
| BIT8 s8_15 optional |
| } with { |
| variant (extendedCodecType) "PRESENCE (codecType = CodecExtension)"; |
| variant (s0_7) "PRESENCE (codecType = FR_AMR, |
| codecType = HR_AMR, |
| codecType = FR_AMR_WB, |
| codecType = OHR_AMR, |
| codecType = OFR_AMR_WB, |
| codecType = OHR_AMR_WB, |
| extendedCodecType = 'FD'O)"; |
| variant (s8_15) "PRESENCE (codecType = FR_AMR, |
| codecType = HR_AMR, |
| codecType = OHR_AMR)"; |
| } |
| |
| type enumerated BSSMAP_FIELD_CodecType |
| { |
| GSM_FR(0), |
| GSM_HR(1), |
| GSM_EFR(2), |
| FR_AMR(3), |
| HR_AMR(4), |
| FR_AMR_WB(9), |
| OHR_AMR(11), |
| OFR_AMR_WB(12), |
| OHR_AMR_WB(13), |
| CodecExtension(15) |
| } |
| |
| //3.2.2.104 Speech Codec |
| type record BSSMAP_IE_SpeechCodec |
| { |
| OCT1 elementIdentifier, // '7E' |
| INT1 lengthIndicator, |
| BSSMAP_FIELD_CodecElements codecElements |
| } with { |
| variant "PRESENCE (elementIdentifier = '7E'O)"; |
| variant (lengthIndicator) "LENGTHTO (codecElements)" |
| } |
| |
| //3.2.2.105 Call Identifier |
| type record BSSMAP_IE_CallIdentifier |
| { |
| OCT1 elementIdentifier, //'7F' |
| OCT4 callIdentifierInfo |
| } with { variant "PRESENCE (elementIdentifier = '7F'O)";} |
| |
| //3.2.2.106 Call Identifier List |
| type record BSSMAP_IE_CallIdentifierList |
| { |
| OCT1 elementIdentifier, // '80' |
| INT1 lengthIndicator, |
| OCT4List callIdentifierListInfo length (1..62) |
| } with { variant "PRESENCE (elementIdentifier = '80'O)"; |
| variant (lengthIndicator) "LENGTHTO (callIdentifierListInfo)"} |
| |
| //3.2.2.107 A Interface Selector For Reset |
| type record BSSMAP_IE_A_InterfaceSelectorForReset |
| { |
| OCT1 elementIdentifier, // '81' |
| BIT1 rTD, |
| BIT1 rIP, |
| BIT6 spare |
| } with { variant "PRESENCE (elementIdentifier = '81'O)";} |
| |
| |
| //3.2.2.109 KC128 |
| type record BSSMAP_IE_KC128 |
| { |
| OCT1 elementIdentifier, // '83' |
| OCT16 kC128_Value |
| } with { variant "PRESENCE (elementIdentifier = '83'O)";} |
| |
| |
| //3.2.2.110 CSG Identifier |
| type record BSSMAP_IE_CSG_Identifier |
| { |
| OCT1 elementIdentifier, //84 |
| INT1 lengthIndicator, |
| bitstring cSG_ID_Value length(27), |
| BIT5 spare1, |
| BIT1 cellAccessMode, |
| BIT7 spare2 |
| } with { variant "PRESENCE (elementIdentifier = '84'O)"; |
| variant (lengthIndicator) "LENGTHTO (cSG_ID_Value,spare1,cellAccessMode,spare2)"} |
| |
| |
| //3.2.2.111 Redirect Attempt Flag |
| type record BSSMAP_IE_RedirectAttemptFlag |
| { |
| OCT1 elementIdentifier //85 |
| } with { variant "PRESENCE (elementIdentifier = '85'O)";} |
| |
| |
| //3.2.2.112 Reroute Reject Cause |
| type record BSSMAP_IE_RerouteRejectCause |
| { |
| OCT1 elementIdentifier, //86 |
| OCT1 rerouteRejectCauseValue |
| } with { variant "PRESENCE (elementIdentifier = '86'O)";} |
| |
| |
| //3.2.2.113 Send Sequence Number |
| type record BSSMAP_IE_SendSequenceNumber |
| { |
| OCT1 elementIdentifier, //87 |
| BIT6 spare, |
| INT2b sendSequenceNumber |
| } with { variant "PRESENCE (elementIdentifier = '87'O)";} |
| |
| |
| //3.2.2.114 Reroute Complete Outcome |
| type record BSSMAP_IE_RerouteCompleteOutcome |
| { |
| OCT1 elementIdentifier, //88 |
| OCT1 rerouteCompleteOutcomeValue |
| } with { variant "PRESENCE (elementIdentifier = '88'O)";} |
| |
| |
| //3.2.2.115 Global Call Reference |
| type record BSSMAP_IE_GlobalCallReference |
| { |
| OCT1 elementIdentifier, //89 |
| INT1 lengthIndicator, |
| GlobalCallReferenceValue globalCallReferenceValue |
| } with { variant "PRESENCE (elementIdentifier = '89'O)"; |
| variant (lengthIndicator) "LENGTHTO (globalCallReferenceValue)"} |
| |
| //3GPP TS 29.205 B.2.1.9 |
| type record GlobalCallReferenceValue |
| { |
| INT1 networkIDLengthIndicator, |
| octetstring networkID length (3..5), |
| INT1 nodeIDLengthIndicator, |
| OCT2 nodeID, |
| INT1 callReferenceIDLengthIndicator, |
| OCT5 callReferenceID |
| } with { |
| variant (networkIDLengthIndicator) "LENGTHTO (networkID)" |
| variant (nodeIDLengthIndicator) "LENGTHTO (nodeID)" |
| variant (callReferenceIDLengthIndicator) "LENGTHTO (callReferenceID )" |
| } |
| |
| |
| //3.2.2.116 LCLS Configuration |
| type record BSSMAP_IE_LCLS_Configuration |
| { |
| OCT1 elementIdentifier, //8A |
| BIT4 lCLS_ConfigurationValue, |
| BIT4 spare |
| } with { variant "PRESENCE (elementIdentifier = '8A'O)";} |
| |
| |
| //3.2.2.117 LCLS Connection Status Control |
| type record BSSMAP_IE_LCLS_ConnectionStatusControl |
| { |
| OCT1 elementIdentifier, //8B |
| BIT4 lCLS_ConnectionStatusControlValue, |
| BIT4 spare |
| } with { variant "PRESENCE (elementIdentifier = '8B'O)";} |
| |
| |
| //3.2.2.118 LCLS Correlation Not Needed |
| type record BSSMAP_IE_LCLS_CorrelationNotNeeded |
| { |
| OCT1 elementIdentifier //8C |
| } with { variant "PRESENCE (elementIdentifier = '8C'O)";} |
| |
| |
| //3.2.2.119 LCLS BSS Status |
| type record BSSMAP_IE_LCLS_BSS_Status |
| { |
| OCT1 elementIdentifier, //8D |
| BIT4 lCLS_BSS_StatusValue, |
| BIT4 spare |
| } with { variant "PRESENCE (elementIdentifier = '8D'O)";} |
| |
| |
| //3.2.2.120 LCLS Break Request |
| type record BSSMAP_IE_LCLS_BreakRequest |
| { |
| OCT1 elementIdentifier //8E |
| } with { variant "PRESENCE (elementIdentifier = '8E'O)";} |
| |
| //3.2.2.121 CSFB Indication |
| type record BSSMAP_IE_CSFB_Indication |
| { |
| OCT1 elementIdentifier //8F |
| } with { variant "PRESENCE (elementIdentifier = '8F'O)";} |
| |
| |
| |
| /////////////////////////////////////////////////////// |
| // Used in HANDOVER REQUEST message |
| type union BSSMAP_IE_ClassmarkInformationType |
| { |
| BSSMAP_IE_ClassmarkInformationType1 classmarkInformationType1, |
| BSSMAP_IE_ClassmarkInformationType2 classmarkInformationType2 |
| } |
| |
| |
| /////////////////////////////////////////// |
| // BSSMAP message definition |
| /////////////////////////////////////////// |
| |
| // ASSIGNMENT REQUEST - 48.008 subclause 3.2.1.1 |
| type record PDU_BSSMAP_AssignmentRequest |
| { |
| OCT1 messageType, // '01'O |
| BSSMAP_IE_ChannelType channelType, |
| BSSMAP_IE_Layer3HeaderInfo layer3HeaderInfo optional, |
| BSSMAP_IE_Priority priority optional, |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, |
| BSSMAP_IE_DownLinkDTXFlag downLinkDTX_Flag optional, |
| BSSMAP_IE_InterferenceBandToBeUsed interferenceBandToBeUsed optional, |
| BSSMAP_IE_ClassmarkInformationType2 classmarkInformationType2 optional, |
| BSSMAP_IE_GroupCallReference groupCallReference optional, |
| BSSMAP_IE_TalkerFlag talkerFlag optional, |
| BSSMAP_IE_ConfigurationEvolutionIndication configurationEvolutionIndication optional, |
| BSSMAP_IE_LSAAccessControlSuppression lsaAccesControlSuppression optional, |
| BSSMAP_IE_ServiceHandover serviceHandover optional, |
| BSSMAP_IE_EncryptionInformation encryptionInformation optional, |
| BSSMAP_IE_TalkerPriority talkerPriority optional, |
| BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional, |
| BSSMAP_IE_SpeechCodecList codecList optional, |
| BSSMAP_IE_CallIdentifier callIdentifier optional, |
| BSSMAP_IE_KC128 kC128 optional, |
| BSSMAP_IE_GlobalCallReference globalCallReference optional, |
| BSSMAP_IE_LCLS_Configuration lCLS_Configuration optional, |
| BSSMAP_IE_LCLS_ConnectionStatusControl lCLS_ConnectionStatusControl optional, |
| BSSMAP_IE_LCLS_CorrelationNotNeeded lCLS_CorrelationNotNeeded optional |
| } with { variant "PRESENCE (messageType = '01'O)" } |
| |
| |
| // ASSIGNMENT COMPLETE - 48.008 subclause 3.2.1.2 |
| type record PDU_BSSMAP_AssignmentComplete |
| { |
| OCT1 messageType, // '02'O |
| BSSMAP_IE_RR_Cause rR_Cause optional, |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, |
| BSSMAP_IE_CellIdentifier cellIdentifier optional, |
| BSSMAP_IE_ChosenChannel chosenChannel optional, |
| BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional, |
| BSSMAP_IE_CircuitPool circuitPool optional, |
| BSSMAP_IE_SpeechVersion speechVersion optional, |
| BSSMAP_IE_LSAIdentifier lSAIdentifier optional, |
| BSSMAP_IE_TalkerPriority talkerPriority optional, |
| BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional, |
| BSSMAP_IE_SpeechCodec speechCodec optional, |
| BSSMAP_IE_SpeechCodecList codecList optional, |
| BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status optional |
| } with { variant "PRESENCE (messageType = '02'O)" } |
| |
| // ASSIGNMENT FAILURE - 48.008 subclause 3.2.1.3 |
| type record PDU_BSSMAP_AssignmentFailure |
| { |
| OCT1 messageType, // '03'O |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_RR_Cause rR_Cause optional, |
| BSSMAP_IE_CircuitPool circuitPool optional, |
| BSSMAP_IE_CircuitPoolList circuitPoolList optional, |
| BSSMAP_IE_TalkerPriority talkerPriority optional, |
| BSSMAP_IE_SpeechCodecList codecList optional |
| } with { variant "PRESENCE (messageType = '03'O)" } |
| |
| // BLOCK - 48.008 subclause 3.2.1.4 |
| type record PDU_BSSMAP_Block |
| { |
| OCT1 messageType, // H'40 |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_ConnectionReleaseRequested connectionReleaseRequested optional |
| } with { variant "PRESENCE (messageType = '40'O)" } |
| |
| |
| // BLOCKING ACKNOWLEDGE - 48.008 subclause 3.2.1.5 |
| type record PDU_BSSMAP_BlockingAck |
| { |
| OCT1 messageType, // H'41 |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode |
| } with { variant "PRESENCE (messageType = '41'O)" } |
| |
| |
| // UNBLOCK - 48.008 subclause 3.2.1.6 |
| type record PDU_BSSMAP_Unblock |
| { |
| OCT1 messageType, // H'42 |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode |
| } with { variant "PRESENCE (messageType = '42'O)" } |
| |
| |
| // UNBLOCKING ACKNOWLEDGE - 48.008 subclause 3.2.1.7 |
| type record PDU_BSSMAP_UnblockAck |
| { |
| OCT1 messageType, // H'43 |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode |
| } with { variant "PRESENCE (messageType = '43'O)" } |
| |
| |
| // HANDOVER REQUEST - 48.008 subclause 3.2.1.8 |
| type record PDU_BSSMAP_HandoverRequest |
| { |
| OCT1 messageType, // '10'O |
| BSSMAP_IE_ChannelType channelType, |
| BSSMAP_IE_EncryptionInformation encryptionInformation, |
| BSSMAP_IE_ClassmarkInformationType classmarkInformationType, //Type 1 or 2 |
| BSSMAP_IE_CellIdentifier cellIdentifierSource, |
| BSSMAP_IE_Priority priority optional, |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, |
| BSSMAP_IE_DownLinkDTXFlag downLinkDTX_Flag optional, |
| BSSMAP_IE_CellIdentifier cellIdentifierTarget, |
| BSSMAP_IE_InterferenceBandToBeUsed interferenceBandToBeUsed optional, |
| BSSMAP_IE_Cause cause optional, |
| BSSMAP_IE_ClassmarkInformationType3 classmarkInformationType3 optional, |
| BSSMAP_IE_CurrentChannelType1 currentChannelType1 optional, |
| BSSMAP_IE_SpeechVersion speechVersion optional, |
| BSSMAP_IE_GroupCallReference groupCallReference optional, |
| BSSMAP_IE_TalkerFlag talkerFlag optional, |
| BSSMAP_IE_ConfigurationEvolutionIndication configurationEvolutionIndication optional, |
| BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional, |
| BSSMAP_IE_OldToNewBSSInfo oldToNewBSSInfo optional, |
| BSSMAP_IE_LSAInformation lSAInformation optional, |
| BSSMAP_IE_LSAAccessControlSuppression lSAAccessControlSuppression optional, |
| BSSMAP_IE_ServiceHandover serviceHandover optional, |
| BSSMAP_IE_IMSI iMSI_bssmap optional, |
| BSSMAP_IE_SourceToTargetRNCTransparentInfo sourceToTargetRNCTransparentInfo optional, |
| BSSMAP_IE_SourceToTargetRNCTransparentInfo sourceToTargetRNCTransparentInfoCDMA optional, |
| BSSMAP_IE_SNAAccessInfo sNAAccessInformation optional, |
| BSSMAP_IE_TalkerPriority talkerPriority optional, |
| BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional, |
| BSSMAP_IE_SpeechCodecList codecList optional, |
| BSSMAP_IE_CallIdentifier callIdentifier optional, |
| BSSMAP_IE_KC128 kC128 optional, |
| BSSMAP_IE_GlobalCallReference globalCallReference optional, |
| BSSMAP_IE_LCLS_Configuration lCLS_Configuration optional, |
| BSSMAP_IE_LCLS_ConnectionStatusControl connectionStatusControl optional |
| } with { variant "PRESENCE (messageType = '10'O)" |
| variant "TAG ( |
| sourceToTargetRNCTransparentInfo, elementIdentifier = '51'O; |
| sourceToTargetRNCTransparentInfoCDMA, elementIdentifier = '52'O)"} |
| |
| |
| // HANDOVER REQUIRED - 48.008 subclause 3.2.1.9 |
| type record PDU_BSSMAP_HandoverRequired |
| { |
| OCT1 messageType, // '11'O |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_ResponseRequest responseRequest optional, |
| BSSMAP_IE_CellIdentifierList cellIdentifierList, |
| BSSMAP_IE_CircuitPoolList circuitPoolList optional, |
| BSSMAP_IE_CurrentChannelType1 currentChannelType1 optional, |
| BSSMAP_IE_SpeechVersion speechVersion optional, |
| BSSMAP_IE_QueueingIndicator queueingIndicator optional, |
| BSSMAP_IE_OldToNewBSSInfo oldToNewBSSInfo optional, |
| BSSMAP_IE_SourceToTargetRNCTransparentInfo sourceToTargetRNCTransparentInfo optional, |
| BSSMAP_IE_SourceToTargetRNCTransparentInfo sourceToTargetRNCTransparentInfoCDMA optional, |
| BSSMAP_IE_GERANClassmark gERANClassmark optional, |
| BSSMAP_IE_TalkerPriority talkerPriority optional, |
| BSSMAP_IE_SpeechCodec speechCodec optional, |
| BSSMAP_IE_CSG_Identifier cSG_Identifier optional |
| } with { variant "PRESENCE (messageType = '11'O)" |
| variant "TAG ( |
| sourceToTargetRNCTransparentInfo, elementIdentifier = '51'O; |
| sourceToTargetRNCTransparentInfoCDMA, elementIdentifier = '52'O)"} |
| |
| |
| // HANDOVER REQUEST ACKNOWLEDGE - 48.008 subclause 3.2.1.10 |
| type record PDU_BSSMAP_HandoverRequestAck |
| { |
| OCT1 messageType, // '12'O |
| BSSMAP_IE_Layer3Information layer3Information, |
| BSSMAP_IE_ChosenChannel chosenChannel optional, |
| BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional, |
| BSSMAP_IE_CircuitPool circuitPool optional, |
| BSSMAP_IE_SpeechVersion speechVersion optional, |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, |
| BSSMAP_IE_LSAIdentifier lSAIdentifier optional, |
| BSSMAP_IE_NewBSSToOldBSSInfo newBSSToOldBSSInfo optional, |
| BSSMAP_IE_InterSystemInfo interSystemInformation optional, |
| BSSMAP_IE_TalkerPriority talkerPriority optional, |
| BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional, |
| BSSMAP_IE_SpeechCodecList codecList optional, |
| BSSMAP_IE_SpeechCodec speechCodec optional, |
| BSSMAP_IE_LCLS_BSS_Status lCLS_bSS_Status optional |
| } with { variant "PRESENCE (messageType = '12'O)" } |
| |
| |
| // HANDOVER COMMAND - 48.008 subclause 3.2.1.11 |
| type record PDU_BSSMAP_HandoverCommand |
| { |
| OCT1 messageType, // '13'O |
| BSSMAP_IE_Layer3Information layer3Information, |
| BSSMAP_IE_CellIdentifier cellIdentifier optional, |
| BSSMAP_IE_NewBSSToOldBSSInfo newBSSToOldBSSInfo optional, |
| BSSMAP_IE_TalkerPriority talkerPriority optional |
| } with { variant "PRESENCE (messageType = '13'O)" } |
| |
| |
| // HANDOVER COMPLETE - 48.008 subclause 3.2.1.12 |
| type record PDU_BSSMAP_HandoverComplete |
| { |
| OCT1 messageType, // H'14 |
| BSSMAP_IE_RR_Cause rR_Cause optional, |
| BSSMAP_IE_TalkerPriority talkerPriority optional, |
| BSSMAP_IE_SpeechCodec speechCodec optional, |
| BSSMAP_IE_SpeechCodecList codecList optional, |
| BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional, |
| BSSMAP_IE_ChosenChannel chosenChannel optional, |
| BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status optional |
| } with { variant "PRESENCE (messageType = '14'O)" } |
| |
| |
| // HANDOVER SUCCEEDED - 48.008 subclause 3.2.1.13 |
| type record PDU_BSSMAP_HandoverSucceeded |
| { |
| OCT1 messageType, // H'15 |
| BSSMAP_IE_TalkerPriority talkerPriority optional |
| } with { variant "PRESENCE (messageType = '15'O)" } |
| |
| |
| // HANDOVER CANDIDATE ENQUIRE - 48.008 subclause 3.2.1.14 |
| type record PDU_BSSMAP_HandoverCandidateEnquire |
| { |
| OCT1 messageType, // H'18 |
| BSSMAP_IE_NumberOfMSs numberOfMSs, |
| BSSMAP_IE_CellIdentifierList cellIdentifierList, |
| BSSMAP_IE_CellIdentifier cellIdentifier |
| } with { variant "PRESENCE (messageType = '18'O)" } |
| |
| |
| // HANDOVER CANDIDATE RESPONSE - 48.008 subclause 3.2.1.15 |
| type record PDU_BSSMAP_HandoverCandidateResponse |
| { |
| OCT1 messageType, // H'19 |
| BSSMAP_IE_NumberOfMSs numberOfMSs, |
| BSSMAP_IE_CellIdentifier cellIdentifier |
| } with { variant "PRESENCE (messageType = '19'O)" } |
| |
| |
| // HANDOVER FAILURE - 48.008 subclause 3.2.1.16 |
| type record PDU_BSSMAP_HandoverFailure |
| { |
| OCT1 messageType, |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_RR_Cause rR_Cause optional, |
| BSSMAP_IE_CircuitPool circuitPool optional, |
| BSSMAP_IE_CircuitPoolList circuitPoolList optional, |
| BSSMAP_IE_GERANClassmark gERANClassmark optional, |
| BSSMAP_IE_NewBSSToOldBSSInfo newBSSToOldBSSInfo optional, |
| BSSMAP_IE_InterSystemInfo interSystemInformation optional, |
| BSSMAP_IE_TalkerPriority talkerPriority optional, |
| BSSMAP_IE_SpeechCodecList codecList optional |
| } with { variant "PRESENCE (messageType = '16'O)" } |
| |
| |
| // RESOURCE REQUEST - 48.008 subclause 3.2.1.17 |
| type record PDU_BSSMAP_ResourceRequest |
| { |
| OCT1 messageType, |
| BSSMAP_IE_Periodicity periodicity, |
| BSSMAP_IE_ResourceIndMethod resourceIndicationMethod, |
| BSSMAP_IE_CellIdentifier cellIdentifier, |
| BSSMAP_IE_ExtendedResourceInd extendedResourceIndicator optional |
| } with { variant "PRESENCE (messageType = '50'O)" } |
| |
| |
| // RESOURCE INDICATION - 48.008 subclause 3.2.1.18 |
| type record PDU_BSSMAP_ResourceIndication |
| { |
| OCT1 messageType, |
| BSSMAP_IE_ResourceIndMethod resourceIndicationMethod, |
| BSSMAP_IE_ResourceAvailable resourceAvailable optional, |
| BSSMAP_IE_CellIdentifier cellIdentifier, |
| BSSMAP_IE_TotalResourceAccessible totalResourceAccessible optional |
| } with { variant "PRESENCE (messageType = '51'O)" } |
| |
| // PAGING - 48.008 subclause 3.2.1.19 |
| type record PDU_BSSMAP_Paging |
| { |
| OCT1 messageType, // '52'O |
| BSSMAP_IE_IMSI iMSI, |
| BSSMAP_IE_TMSI tMSI optional, |
| BSSMAP_IE_CellIdentifierList cellIdentifierList, |
| BSSMAP_IE_ChannelNeeded channelNeeded optional, |
| BSSMAP_IE_EMLPP_Priority eMLPP_Priority optional, |
| BSSMAP_IE_PagingInformation pagingInformation optional |
| } with { variant "PRESENCE (messageType = '52'O)" } |
| |
| |
| // CLEAR REQUEST - 48.008 subclause 3.2.1.20 |
| type record PDU_BSSMAP_ClearRequest |
| { |
| OCT1 messageType, // H'22 |
| BSSMAP_IE_Cause cause |
| } with { variant "PRESENCE (messageType = '22'O)" } |
| |
| |
| // CLEAR COMMAND - 48.008 subclause 3.2.1.21 |
| type record PDU_BSSMAP_ClearCommand |
| { |
| OCT1 messageType, // H'20 |
| BSSMAP_IE_Layer3HeaderInfo layer3HeaderInfo optional, |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_CSFB_Indication cSFB_Indication optional |
| } with { variant "PRESENCE (messageType = '20'O)" } |
| |
| |
| // CLEAR COMPLETE - 48.008 subclause 3.2.1.22 |
| type record PDU_BSSMAP_ClearComplete |
| { |
| OCT1 messageType // H'21 |
| } with { variant "PRESENCE (messageType = '21'O)" } |
| |
| |
| // RESET - 48.008 subclause 3.2.1.23 |
| type record PDU_BSSMAP_Reset |
| { |
| OCT1 messageType, // H'30 |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_A_InterfaceSelectorForReset a_InterfaceSelectorForReset optional |
| } with { variant "PRESENCE (messageType = '30'O)" } |
| |
| |
| // RESET ACKNOWLEDGE - 48.008 subclause 3.2.1.24 |
| type record PDU_BSSMAP_ResetAck |
| { |
| OCT1 messageType, // H'31 |
| BSSMAP_IE_A_InterfaceSelectorForReset a_InterfaceSelectorForReset optional |
| } with { variant "PRESENCE (messageType = '31'O)" } |
| |
| |
| // HANDOVER PERFORMED - 48.008 subclause 3.2.1.25 |
| type record PDU_BSSMAP_HandoverPerformed |
| { |
| OCT1 messageType, |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_CellIdentifier cellIdentifier, |
| BSSMAP_IE_ChosenChannel chosenChannel optional, |
| BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional, |
| BSSMAP_IE_SpeechVersion speechVersion optional, |
| BSSMAP_IE_LSAIdentifier lSAIdentifier optional, |
| BSSMAP_IE_TalkerPriority talkerPriority optional, |
| BSSMAP_IE_SpeechCodecList codecList optional, |
| BSSMAP_IE_SpeechCodec speechCodec optional, |
| BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status optional |
| } with { variant "PRESENCE (messageType = '17'O)" } |
| |
| // OVERLOAD - 48.008 subclause 3.2.1.26 |
| type record PDU_BSSMAP_Overload |
| { |
| OCT1 messageType, // H'32 |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_CellIdentifier cellIdentifier optional |
| } with { variant "PRESENCE (messageType = '32'O)" } |
| |
| |
| // MSC INVOKE TRACE - 48.008 subclause 3.2.1.27 |
| type record PDU_BSSMAP_MSCInvokeTrace |
| { |
| OCT1 messageType, // H'36 |
| BSSMAP_IE_TraceType traceType, |
| BSSMAP_IE_TriggerId triggerId optional, |
| BSSMAP_IE_TraceReference traceReference, |
| BSSMAP_IE_TransactionId transactionId optional, |
| BSSMAP_IE_MobileIdentity mobileIdentity optional, |
| BSSMAP_IE_OMCId oMCId optional |
| } with { variant "PRESENCE (messageType = '36'O)" } |
| |
| |
| // BSS INVOKE TRACE - 48.008 subclause 3.2.1.28 |
| type record PDU_BSSMAP_BSSInvokeTrace |
| { |
| OCT1 messageType, // H'37 |
| BSSMAP_IE_TraceType traceType, |
| BSSMAP_IE_ForwardIndicator forwardIndicator optional, |
| BSSMAP_IE_TriggerId triggerId optional, |
| BSSMAP_IE_TraceReference traceReference, |
| BSSMAP_IE_TransactionId transactionId optional, |
| BSSMAP_IE_OMCId oMCId optional |
| } with { variant "PRESENCE (messageType = '37'O)" } |
| |
| |
| // CLASSMARK UPDATE - 48.008 subclause 3.2.1.29 |
| type record PDU_BSSMAP_ClassmarkUpdate |
| { |
| OCT1 messageType, // '54'O |
| BSSMAP_IE_ClassmarkInformationType2 classmarkInformationType2, |
| BSSMAP_IE_ClassmarkInformationType3 classmarkInformationType3 optional, |
| BSSMAP_IE_TalkerPriority talkerPriority optional |
| } with { variant "PRESENCE (messageType = '54'O)" } |
| |
| // CIPHER MODE COMMAND - 48.008 subclause 3.2.1.30 |
| type record PDU_BSSMAP_CipherModeCommand |
| { |
| OCT1 messageType, // '53'O |
| BSSMAP_IE_Layer3HeaderInfo layer3HeaderInfo optional, |
| BSSMAP_IE_EncryptionInformation encryptionInformation, |
| BSSMAP_IE_CipherResponseMode cipherResponseMode optional, |
| BSSMAP_IE_KC128 kC128 optional |
| } with { variant "PRESENCE (messageType = '53'O)" } |
| |
| |
| // CIPHER MODE COMPLETE - 48.008 subclause 3.2.1.31 |
| type record PDU_BSSMAP_CipherModeComplete |
| { |
| OCT1 messageType, // '55'O |
| BSSMAP_IE_Layer3MessageContents layer3MessageContents optional, |
| BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional |
| } with { variant "PRESENCE (messageType = '55'O)" } |
| |
| |
| // COMPLETE LAYER 3 INFORMATION - 48.008 subclause 3.2.1.32 |
| type record PDU_BSSMAP_CompleteLayer3Information |
| { |
| OCT1 messageType, // '57'O |
| BSSMAP_IE_CellIdentifier cellIdentifier, |
| BSSMAP_IE_Layer3Information layer3Information, |
| BSSMAP_IE_ChosenChannel chosenChannel optional, |
| BSSMAP_IE_LSAIdentifier lSAIdentifier optional, |
| BSSMAP_IE_APDU aPDU optional, |
| BSSMAP_IE_SpeechCodecList codecList optional, |
| BSSMAP_IE_RedirectAttemptFlag redirectAttemptFlag optional, |
| BSSMAP_IE_SendSequenceNumber sendSequenceNumber optional, |
| BSSMAP_IE_IMSI iMSI optional |
| } with { variant "PRESENCE (messageType = '57'O)" } |
| |
| |
| // QUEUEING INDICATION - 48.008 subclause 3.2.1.33 |
| type record PDU_BSSMAP_QueueingIndication |
| { |
| OCT1 messageType // H'56 |
| } with { variant "PRESENCE (messageType = '56'O)" } |
| |
| |
| // SAPI "n" REJECT - 48.008 subclause 3.2.1.34 |
| type record PDU_BSSMAP_SAPInReject |
| { |
| OCT1 messageType, // H'25 |
| BSSMAP_IE_DLCI dLCI, |
| BSSMAP_IE_Cause cause |
| } with { variant "PRESENCE (messageType = '25'O)" } |
| |
| |
| // HANDOVER REQUIRED REJECT - 48.008 subclause 3.2.1.37 |
| type record PDU_BSSMAP_HandoverRequiredReject |
| { |
| OCT1 messageType, |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_NewBSSToOldBSSInfo newBSSToOldBSSInfo optional, |
| BSSMAP_IE_TalkerPriority talkerPriority optional |
| } with { variant "PRESENCE (messageType = '1A'O)" } |
| |
| // RESET CIRCUIT - 48.008 subclause 3.2.1.38 |
| type record PDU_BSSMAP_ResetCircuit |
| { |
| OCT1 messageType, // H'34 |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, |
| BSSMAP_IE_Cause cause |
| } with { variant "PRESENCE (messageType = '34'O)" } |
| |
| |
| // RESET CIRCUIT ACKNOWLEDGE - 48.008 subclause 3.2.1.39 |
| type record PDU_BSSMAP_ResetCircuitAck |
| { |
| OCT1 messageType, // H'35 |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode |
| } with { variant "PRESENCE (messageType = '35'O)" } |
| |
| |
| // HANDOVER DETECT - 48.008 subclause 3.2.1.40 |
| type record PDU_BSSMAP_HandoverDetect |
| { |
| OCT1 messageType, // '1B'O |
| BSSMAP_IE_TalkerPriority talkerPriority optional |
| } with { variant "PRESENCE (messageType = '1B'O)" } |
| |
| |
| // CIRCUIT GROUP BLOCK - 48.008 subclause 3.2.1.41 |
| type record PDU_BSSMAP_CircuitGroupBlock |
| { |
| OCT1 messageType, // H'44 |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, |
| BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList |
| } with { variant "PRESENCE (messageType = '44'O)" } |
| |
| |
| // CIRCUIT GROUP BLOCKING ACKNOWLEDGE - 48.008 subclause 3.2.1.42 |
| type record PDU_BSSMAP_CircuitGroupBlockingAck |
| { |
| OCT1 messageType, // H'45 |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, |
| BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList |
| } with { variant "PRESENCE (messageType = '45'O)" } |
| |
| |
| // CIRCUIT GROUP UNBLOCK - 48.008 subclause 3.2.1.43 |
| type record PDU_BSSMAP_CircuitGroupUnblock |
| { |
| OCT1 messageType, // H'46 |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, |
| BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList |
| } with { variant "PRESENCE (messageType = '46'O)" } |
| |
| |
| // CIRCUIT GROUP UNBLOCKING ACKNOWLEDGE - 48.008 subclause 3.2.1.44 |
| type record PDU_BSSMAP_CircuitGroupUnblockAck |
| { |
| OCT1 messageType, // H'47 |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, |
| BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList |
| } with { variant "PRESENCE (messageType = '47'O)" } |
| |
| |
| // CONFUSION - 48.008 subclause 3.2.1.45 |
| type record PDU_BSSMAP_Confusion |
| { |
| OCT1 messageType, // H'26 |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_Diagnostics diagnostics |
| } with { variant "PRESENCE (messageType = '26'O)" } |
| |
| |
| // CLASSMARK REQUEST - 48.008 subclause 3.2.1.46 |
| type record PDU_BSSMAP_ClassmarkRequest |
| { |
| OCT1 messageType, // H'58 |
| BSSMAP_IE_TalkerPriority talkerPriority optional |
| } with { variant "PRESENCE (messageType = '58'O)" } |
| |
| // UNEQUIPPED CIRCUIT - 48.008 subclause 3.2.1.47 |
| type record PDU_BSSMAP_UnequippedCircuit |
| { |
| OCT1 messageType, // H'48 |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, |
| BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList optional |
| } with { variant "PRESENCE (messageType = '48'O)" } |
| |
| |
| // CIPHER MODE REJECT - 48.008 subclause 3.2.1.48 |
| type record PDU_BSSMAP_CipherModeReject |
| { |
| OCT1 messageType, // H'59 |
| BSSMAP_IE_Cause cause |
| } with { variant "PRESENCE (messageType = '59'O)" } |
| |
| |
| // LOAD INDICATION - 48.008 subclause 3.2.1.49 |
| type record PDU_BSSMAP_LoadIndication |
| { |
| OCT1 messageType, // H'5A |
| BSSMAP_IE_TimeIndication timeIndication, |
| BSSMAP_IE_CellIdentifier cellIdentifier, |
| BSSMAP_IE_CellIdentifierList cellIdentifierList, |
| BSSMAP_IE_ResourceSituation resourceSitation optional, |
| BSSMAP_IE_Cause cause optional |
| } with { variant "PRESENCE (messageType = '5A'O)" } |
| |
| |
| // VGCS/VBS SETUP - 48.008 subclause 3.2.1.50 |
| type record PDU_BSSMAP_VGCS_VBSSetup |
| { |
| OCT1 messageType, // H'04 |
| BSSMAP_IE_GroupCallReference groupCallReference, |
| BSSMAP_IE_Priority priority optional, |
| BSSMAP_IE_VGCS_FeatureFlags vGCS_FeatureFlags optional |
| } with { variant "PRESENCE (messageType = '04'O)" } |
| |
| // VGCS/VBS SETUP ACK - 48.008 subclause 3.2.1.51 |
| type record PDU_BSSMAP_VGCS_VBSSetupAck |
| { |
| OCT1 messageType, // H'05 |
| BSSMAP_IE_VGCS_FeatureFlags vGCS_FeatureFlags optional |
| } with { variant "PRESENCE (messageType = '05'O)" } |
| |
| |
| // VGCS/VBS SETUP REFUSE - 48.008 subclause 3.2.1.52 |
| type record PDU_BSSMAP_VGCS_VBSSetupRefuse |
| { |
| OCT1 messageType, // H'06 |
| BSSMAP_IE_Cause cause |
| } with { variant "PRESENCE (messageType = '06'O)" } |
| |
| |
| // VGCS/VBS ASSIGNMENT REQUEST - 48.008 subclause 3.2.1.53 |
| type record PDU_BSSMAP_VGCS_VBSAssignmentRequest |
| { |
| OCT1 messageType, // H'07 |
| BSSMAP_IE_ChannelType channelType, |
| BSSMAP_IE_AssignmentRequirement assignmentRequirement, |
| BSSMAP_IE_CellIdentifier cellIdentifier, |
| BSSMAP_IE_GroupCallReference groupCallReference, |
| BSSMAP_IE_Priority priority optional, |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, |
| BSSMAP_IE_DownLinkDTXFlag downLinkDTX_Flag optional, |
| BSSMAP_IE_EncryptionInformation encryptionInformation optional, |
| BSSMAP_IE_VSTK_RAND vSTK_RAND optional, |
| BSSMAP_IE_VSTK vSTK optional, |
| BSSMAP_IE_CellIdentifierListSegment cellIdentifierListSegment optional |
| } with { variant "PRESENCE (messageType = '07'O)" } |
| |
| |
| // VGCS/VBS ASSIGNMENT RESULT - 48.008 subclause 3.2.1.54 |
| type record PDU_BSSMAP_VGCS_VBSAssignmentResult |
| { |
| OCT1 messageType, // H'1C |
| BSSMAP_IE_ChannelType channelType, |
| BSSMAP_IE_CellIdentifier cellIdentifier, |
| BSSMAP_IE_ChosenChannel chosenChannel optional, |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, |
| BSSMAP_IE_CircuitPool circuitPool optional |
| } with { variant "PRESENCE (messageType = '1C'O)" } |
| |
| |
| // VGCS/VBS ASSIGNMENT FAILURE - 48.008 subclause 3.2.1.55 |
| type record PDU_BSSMAP_VGCS_VBSAssignmentFailure |
| { |
| OCT1 messageType, // H'1D |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_CircuitPool circuitPool optional, |
| BSSMAP_IE_CircuitPoolList circuitPoolList optional |
| } with { variant "PRESENCE (messageType = '1D'O)" } |
| |
| |
| // VGCS/VBS QUEUING INDICATION - 48.008 subclause 3.2.1.56 |
| type record PDU_BSSMAP_VGCS_VBSQueuingIndication |
| { |
| OCT1 messageType // H'1E |
| } with { variant "PRESENCE (messageType = '1E'O)" } |
| |
| |
| // UPLINK REQUEST - 48.008 subclause 3.2.1.57 |
| type record PDU_BSSMAP_UplinkRequest |
| { |
| OCT1 messageType, // H'1F |
| BSSMAP_IE_TalkerPriority talkerPriority optional, |
| BSSMAP_IE_CellIdentifier cellIdentifier optional, |
| BSSMAP_IE_Layer3Information layer3Information optional, |
| BSSMAP_IE_MobileIdentity mobileIdentity optional |
| } with { variant "PRESENCE (messageType = '1F'O)" } |
| |
| |
| // UPLINK REQUEST ACK - 48.008 subclause 3.2.1.58 |
| type record PDU_BSSMAP_UplinkRequestAck |
| { |
| OCT1 messageType, // H'27 |
| BSSMAP_IE_TalkerPriority talkerPriority optional, |
| BSSMAP_IE_EmergencySetIndication emergencySetIndication optional, |
| BSSMAP_IE_TalkerIdentity talkerIdentity optional |
| } with { variant "PRESENCE (messageType = '27'O)" } |
| |
| |
| // UPLINK REQUEST CONFIRMATION - 48.008 subclause 3.2.1.59 |
| type record PDU_BSSMAP_UplinkRequestConfirmation |
| { |
| OCT1 messageType, // H'49 |
| BSSMAP_IE_CellIdentifier cellIdentifier, |
| BSSMAP_IE_TalkerIdentity talkerIdentity optional, |
| BSSMAP_IE_Layer3Information layer3Information |
| } with { variant "PRESENCE (messageType = '49'O)" } |
| |
| |
| // UPLINK APPLICATION DATA - 48.008 subclause 3.2.1.59a |
| type record PDU_BSSMAP_UplinkApplicationData |
| { |
| OCT1 messageType, |
| BSSMAP_IE_CellIdentifier cellIdentifier, |
| BSSMAP_IE_Layer3Information layer3Information, |
| BSSMAP_IE_ApplicationDataInformation applicationDataInformation |
| } with { variant "PRESENCE (messageType = '63'O)" } |
| |
| |
| // UPLINK RELEASE INDICATION- 48.008 subclause 3.2.1.60 |
| type record PDU_BSSMAP_UplinkReleaseIndication |
| { |
| OCT1 messageType, // H'4A |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_TalkerPriority talkerPriority optional |
| } with { variant "PRESENCE (messageType = '4A'O)" } |
| |
| |
| // UPLINK REJECT COMMAND - 48.008 subclause 3.2.1.61 |
| type record PDU_BSSMAP_UplinkRejectCommand |
| { |
| OCT1 messageType, // H'4B |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_TalkerPriority currentTalkerPriority optional, |
| BSSMAP_IE_TalkerPriority rejectedTalkerPriority optional, |
| BSSMAP_IE_TalkerIdentity talkerIdentity optional |
| } with { variant "PRESENCE (messageType = '4B'O)" } |
| |
| |
| // UPLINK RELEASE COMMAND - 48.008 subclause 3.2.1.62 |
| type record PDU_BSSMAP_UplinkReleaseCommand |
| { |
| OCT1 messageType, // H'4C |
| BSSMAP_IE_Cause cause |
| } with { variant "PRESENCE (messageType = '4C'O)" } |
| |
| |
| // UPLINK SEIZED COMMAND- 48.008 subclause 3.2.1.63 |
| type record PDU_BSSMAP_UplinkSeizedCommand |
| { |
| OCT1 messageType, // H'4E |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_TalkerPriority talkerPriority optional, |
| BSSMAP_IE_EmergencySetIndication emergencySetIndication optional, |
| BSSMAP_IE_TalkerIdentity talkerIdentity optional |
| } with { variant "PRESENCE (messageType = '4E'O)" } |
| |
| |
| |
| // SUSPEND - 48.008 subclause 3.2.1.64 |
| type record PDU_BSSMAP_Suspend |
| { |
| OCT1 messageType, // H'28 |
| BSSMAP_IE_DLCI dLCI |
| } with { variant "PRESENCE (messageType = '28'O)" } |
| |
| |
| // RESUME - 48.008 subclause 3.2.1.65 |
| type record PDU_BSSMAP_Resume |
| { |
| OCT1 messageType, // H'29 |
| BSSMAP_IE_DLCI dLCI |
| } with { variant "PRESENCE (messageType = '29'O)" } |
| |
| |
| // CHANGE CIRCUIT - 48.008 subclause 3.2.1.66 |
| type record PDU_BSSMAP_ChangeCircuit |
| { |
| OCT1 messageType, // H'4E |
| BSSMAP_IE_Cause cause |
| } with { variant "PRESENCE (messageType = '4E'O)" } |
| |
| |
| // CHANGE CIRCUIT ACKNOWLEDGE - 48.008 subclause 3.2.1.67 |
| type record PDU_BSSMAP_ChangeCircuitAck |
| { |
| OCT1 messageType, // H'4F |
| BSSMAP_IE_CircuitIdentityCode circuitIdentity |
| } with { variant "PRESENCE (messageType = '4F'O)" } |
| |
| |
| // COMMON ID - 48.008 subclause 3.2.1.68 |
| type record PDU_BSSMAP_CommonID |
| { |
| OCT1 messageType, // H'2F |
| BSSMAP_IE_IMSI iMSI, |
| BSSMAP_IE_SNAAccessInfo sNAAccessInformation optional |
| } with { variant "PRESENCE (messageType = '2F'O)" } |
| |
| |
| // LSA INFORMATION - 48.008 subclause 3.2.1.69 |
| type record PDU_BSSMAP_LSAInformation |
| { |
| OCT1 messageType, // H'2C |
| BSSMAP_IE_LSAInformation lSAInformation |
| } with { variant "PRESENCE (messageType = '2C'O)" } |
| |
| |
| // REFORM LOCATION REQUEST - 48.008 subclause 3.2.1.71 |
| type record PDU_BSSMAP_PerformLocationRequest |
| { |
| OCT1 messageType, // '2B'O |
| BSSMAP_IE_LocationType locationType, |
| BSSMAP_IE_CellIdentifier cellIdentifier optional, |
| BSSMAP_IE_ClassmarkInformationType3 classmarkInformationType3 optional, |
| BSSMAP_IE_LCSClientType lCS_ClientType optional, |
| BSSMAP_IE_ChosenChannel chosenChannel optional, |
| BSSMAP_IE_LCSPriority lCS_Priority optional, |
| BSSMAP_IE_LCSQOS lCS_QOS optional, |
| BSSMAP_IE_GPSAssistanceData gPS_AssistanceData optional, |
| BSSMAP_IE_APDU aPDU optional, |
| BSSMAP_IE_IMSI iMSI optional, |
| BSSMAP_IE_IMEI iMEI optional, |
| BSSMAP_IE_GANSS_LocationType gANSS_LocationType optional, |
| BSSMAP_IE_GANSS_AssistanceData gANSS_AssistanceData optional |
| } with { variant "PRESENCE (messageType = '2B'O)" } |
| |
| |
| // REFORM LOCATION RESPONSE - 48.008 subclause 3.2.1.72 |
| type record PDU_BSSMAP_PerformLocationResponse |
| { |
| OCT1 messageType, // '2D'O |
| BSSMAP_IE_LocationEstimate locationEstimate optional, |
| BSSMAP_IE_PositioningData positioningData optional, |
| BSSMAP_IE_DecipheringKeys decipheringKeys optional, |
| BSSMAP_IE_LCSCause lCS_Cause optional, |
| BSSMAP_IE_VelocityEstimate velocityEstimate optional, |
| BSSMAP_IE_GANSS_PositioningData gANSS_PositioningData optional |
| } with { variant "PRESENCE (messageType = '2D'O)" } |
| |
| |
| // REFORM LOCATION ABORT - 48.008 subclause 3.2.1.73 |
| type record PDU_BSSMAP_PerformLocationAbort |
| { |
| OCT1 messageType, // '2E'O |
| BSSMAP_IE_LCSCause lCS_Cause |
| } with { variant "PRESENCE (messageType = '2E'O)" } |
| |
| |
| // CONNECTIONLESS INFORMATION - 48.008 subclause 3.2.1.74 |
| type record PDU_BSSMAP_ConnectionlessInformation |
| { |
| OCT1 messageType, // '3A'O |
| BSSMAP_IE_NetworkElementIdentity networkElementIdentitySource, |
| BSSMAP_IE_NetworkElementIdentity networkElementIdentityTarget, |
| BSSMAP_IE_APDU aPDU, |
| BSSMAP_IE_Segmentation segmentation optional, |
| BSSMAP_IE_ReturnErrorRequest returnErrorRequest optional, |
| BSSMAP_IE_ReturnErrorCause returnErrorCause optional |
| } with { variant "PRESENCE (messageType = '3A'O)" } |
| |
| // 3.2.1.75 CHANNEL MODIFY REQUEST |
| type record PDU_BSSMAP_ChannelModifyRequest |
| { |
| OCT1 messageType, // '08'O |
| BSSMAP_IE_Cause cause |
| } with { variant "PRESENCE (messageType = '08'O)" } |
| |
| // FIXME: these two message type codes are not specified in the standard |
| /*// 3.2.1.76 EMERGENCY RESET INDICATION |
| type record PDU_BSSMAP_EmergencyResetIndication |
| { |
| OCT1 messageType, // 'X'O |
| BSSMAP_IE_CellIdentifier cellIdentifier optional, |
| BSSMAP_IE_Layer3Information layer3Information optional, |
| BSSMAP_IE_MobileIdentity mobileIdentity optional |
| } with {variant "TAG ( |
| // layer3Information?} |
| |
| // 3.2.1.77 EMERGENCY RESET COMMAND |
| type record PDU_BSSMAP_EmergencyResetCommand |
| { |
| OCT1 messageType // 'X'O |
| }*/ |
| |
| // 3.2.1.78 VGCS ADDITIONAL INFORMATION |
| type record PDU_BSSMAP_VGCS_AdditionalInformation |
| { |
| OCT1 messageType, // '60'O |
| BSSMAP_IE_TalkerIdentity talkerIdentity |
| } with { variant "PRESENCE (messageType = '60'O)" } |
| |
| |
| // 3.2.1.79 VGCS/VBS AREA CELL INFO |
| type record PDU_BSSMAP_VGCS_VBS_AreaCellInfo |
| { |
| OCT1 messageType, // '3C'O |
| BSSMAP_IE_CellIdentifierListSegment cellIdentifierListSegment, |
| BSSMAP_IE_AssignmentRequirement assignmentRequirement optional |
| } with { variant "PRESENCE (messageType = '3C'O)" } |
| |
| |
| // 3.2.1.80 VGCS/VBS ASSIGNMENT STATUS |
| type record PDU_BSSMAP_VGCS_VBS_AssignmentStatus |
| { |
| OCT1 messageType, // '3B'O |
| BSSMAP_IE_CellIdentifierListSegmentEstCells cellIdentifierListForEstablishedCells optional, |
| BSSMAP_IE_CellIdentifierListSegmentCellsToEst cellIdentifierListForCellsToEstablish optional, |
| BSSMAP_IE_CellIdentifierListSegmentReleasedCellsNoUserPresent cellIdentifierListSegmentReleasedCellsNoUserPresent optional, |
| BSSMAP_IE_CellIdentifierListSegmentNotEstablishedCellsNoEstPossible cellIdentifierListSegmentNotEstablishedCellsNoEstPossible optional, |
| BSSMAP_IE_VGCS_VBS_CellStatus vGCS_VBS_CellStatus optional |
| } with { variant "PRESENCE (messageType = '3B'O)" } |
| |
| |
| // 3.2.1.81 VGCS SMS |
| type record PDU_BSSMAP_VGCS_SMS |
| { |
| OCT1 messageType, // '61'O |
| BSSMAP_IE_SMS_to_VGCS sMS_to_VGCS |
| } with { variant "PRESENCE (messageType = '61'O)" } |
| |
| |
| // 3.2.1.82 NOTIFICATION DATA |
| type record PDU_BSSMAP_NotificationData |
| { |
| OCT1 messageType, // '62' |
| BSSMAP_IE_ApplicationData applicationData, |
| BSSMAP_IE_DataIdentity dataIdentity, |
| BSSMAP_IE_MSISDN mSISDN optional |
| } with { variant "PRESENCE (messageType = '62'O)" } |
| |
| |
| // 3.2.1.83 INTERNAL HANDOVER REQUIRED |
| type record PDU_BSSMAP_InternalHandoverRequired |
| { |
| OCT1 messageType, // '70' |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_CellIdentifier cellIdentifier, |
| BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional, |
| BSSMAP_IE_SpeechCodecList codecList |
| } with { variant "PRESENCE (messageType = '70'O)" } |
| |
| |
| // 3.2.1.84 INTERNAL HANDOVER REQUIRED REJECT |
| type record PDU_BSSMAP_InternalHandoverRequiredReject |
| { |
| OCT1 messageType, // '71' |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_SpeechCodecList codecList optional |
| } with { variant "PRESENCE (messageType = '71'O)" } |
| |
| |
| // 3.2.1.85 INTERNAL HANDOVER COMMAND |
| type record PDU_BSSMAP_InternalHandoverCommand |
| { |
| OCT1 messageType, // '72' |
| BSSMAP_IE_SpeechCodec speechCodec, |
| BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, |
| BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional, |
| BSSMAP_IE_CallIdentifier callIdentifier optional, |
| BSSMAP_IE_DownLinkDTXFlag downLinkDTX_Flag optional, |
| BSSMAP_IE_LCLS_ConnectionStatusControl lCLS_ConnectionStatusControl optional |
| } with { variant "PRESENCE (messageType = '72'O)" } |
| |
| // 3.2.1.86 INTERNAL HANDOVER ENQUIRY |
| type record PDU_BSSMAP_InternalHandoverEnquiry |
| { |
| OCT1 messageType, //'73' |
| BSSMAP_IE_SpeechCodec speechCodec |
| } with { variant "PRESENCE (messageType = '73'O)" } |
| |
| |
| // 3.2.1.87 RESET IP RESOURCE |
| type record PDU_BSSMAP_ResetIPResource |
| { |
| OCT1 messageType, //'3D' |
| BSSMAP_IE_Cause cause, |
| BSSMAP_IE_CallIdentifierList callIdentifierList |
| } with { variant "PRESENCE (messageType = '3D'O)" } |
| |
| |
| // 3.2.1.88 RESET IP RESOURCE ACK |
| type record PDU_BSSMAP_ResetIPResourceAck |
| { |
| OCT1 messageType, //'3E' |
| BSSMAP_IE_CallIdentifierList callIdentifierList |
| } with { variant "PRESENCE (messageType = '3E'O)" } |
| |
| |
| // 3.2.1.89 REROUTE COMMAND |
| type record PDU_BSSMAP_RerouteCommand |
| { |
| OCT1 messageType, //'78' |
| BSSMAP_IE_Layer3Information initialLayer3Information, |
| BSSMAP_IE_RerouteRejectCause rerouteRejectCause, |
| BSSMAP_IE_Layer3Information layer3Information optional, |
| BSSMAP_IE_SendSequenceNumber sendSequenceNumber optional, |
| BSSMAP_IE_IMSI iMSI optional |
| } with { variant "PRESENCE (messageType = '78'O)" } |
| |
| // 3.2.1.90 REROUTE COMPLETE |
| type record PDU_BSSMAP_RerouteComplete |
| { |
| OCT1 messageType, //'79' |
| BSSMAP_IE_RerouteCompleteOutcome rerouteCompleteOutcome |
| } with { variant "PRESENCE (messageType = '79'O)" } |
| |
| // 3.2.1.91 LCLS CONNECT CONTROL |
| type record PDU_BSSMAP_LCLS_ConnectControl |
| { |
| OCT1 messageType, //'74' |
| BSSMAP_IE_LCLS_Configuration lCLS_Configuration optional, |
| BSSMAP_IE_LCLS_ConnectionStatusControl lCLS_ConnectionStatusControl optional |
| } with { variant "PRESENCE (messageType = '74'O)" } |
| |
| // 3.2.1.92 LCLS CONNECT CONTROL ACK |
| type record PDU_BSSMAP_LCLS_ConnectControlAck |
| { |
| OCT1 messageType, //'75' |
| BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status |
| } with { variant "PRESENCE (messageType = '75'O)" } |
| |
| // 3.2.1.93 LCLS NOTIFICATION |
| type record PDU_BSSMAP_LCLS_Notification |
| { |
| OCT1 messageType, //'76' |
| BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status optional, |
| BSSMAP_IE_LCLS_BreakRequest lCLS_BreakRequest optional |
| } with { variant "PRESENCE (messageType = '76'O)" } |
| |
| |
| //The container type of all BSSMAP messages |
| type union PDU_BSSMAP |
| { |
| PDU_BSSMAP_AssignmentRequest assignmentRequest, |
| PDU_BSSMAP_AssignmentComplete assignmentComplete, |
| PDU_BSSMAP_AssignmentFailure assignmentFailure, |
| PDU_BSSMAP_ChannelModifyRequest channelModifyRequest, |
| PDU_BSSMAP_Block block, |
| PDU_BSSMAP_BlockingAck blockingAck, |
| PDU_BSSMAP_BSSInvokeTrace bSSInvokeTrace, |
| PDU_BSSMAP_ChangeCircuit changeCircuit, |
| PDU_BSSMAP_ChangeCircuitAck changeCircuitAck, |
| PDU_BSSMAP_CipherModeCommand cipherModeCommand, |
| PDU_BSSMAP_CipherModeComplete cipherModeComplete, |
| PDU_BSSMAP_CipherModeReject cipherModeReject, |
| PDU_BSSMAP_CircuitGroupBlock circuitGroupBlock, |
| PDU_BSSMAP_CircuitGroupBlockingAck circuitGroupBlockingAck, |
| PDU_BSSMAP_CircuitGroupUnblock circuitGroupUnblock, |
| PDU_BSSMAP_CircuitGroupUnblockAck circuitGroupUnblockAck, |
| PDU_BSSMAP_ClassmarkRequest classmarkRequest, |
| PDU_BSSMAP_ClassmarkUpdate classmarkUpdate, |
| PDU_BSSMAP_ClearCommand clearCommand, |
| PDU_BSSMAP_ClearComplete clearComplete, |
| PDU_BSSMAP_ClearRequest clearRequest, |
| PDU_BSSMAP_CommonID commonID, |
| PDU_BSSMAP_CompleteLayer3Information completeLayer3Information, |
| PDU_BSSMAP_Confusion confusion, |
| PDU_BSSMAP_ConnectionlessInformation connectionlessInformation, |
| PDU_BSSMAP_HandoverCandidateEnquire handoverCandidateEnquire, |
| PDU_BSSMAP_HandoverCandidateResponse handoverCandidateResponse, |
| PDU_BSSMAP_HandoverCommand handoverCommand, |
| PDU_BSSMAP_HandoverComplete handoverComplete, |
| PDU_BSSMAP_HandoverDetect handoverDetect, |
| PDU_BSSMAP_HandoverFailure handoverFailure, |
| PDU_BSSMAP_HandoverPerformed handoverPerformed, |
| PDU_BSSMAP_HandoverRequest handoverRequest, |
| PDU_BSSMAP_HandoverRequestAck handoverRequestAck, |
| PDU_BSSMAP_HandoverRequired handoverRequired, |
| PDU_BSSMAP_HandoverRequiredReject handoverRequiredReject, |
| PDU_BSSMAP_HandoverSucceeded handoverSucceeded, |
| PDU_BSSMAP_LoadIndication loadIndication, |
| PDU_BSSMAP_LSAInformation lSAInformation, |
| PDU_BSSMAP_MSCInvokeTrace mSCInvokeTrace, |
| PDU_BSSMAP_Overload overload, |
| PDU_BSSMAP_Paging paging, |
| PDU_BSSMAP_PerformLocationAbort performLocationAbort, |
| PDU_BSSMAP_PerformLocationRequest performLocationRequest, |
| PDU_BSSMAP_PerformLocationResponse performLocationResponse, |
| PDU_BSSMAP_QueueingIndication queueingIndication, |
| PDU_BSSMAP_Reset reset, |
| PDU_BSSMAP_ResetAck resetAck, |
| PDU_BSSMAP_ResetCircuit resetCircuit, |
| PDU_BSSMAP_ResetCircuitAck resetCircuitAck, |
| PDU_BSSMAP_ResourceIndication resourceIndication, |
| PDU_BSSMAP_ResourceRequest resourceRequest, |
| PDU_BSSMAP_SAPInReject sAPInReject, |
| PDU_BSSMAP_Suspend suspend, |
| PDU_BSSMAP_Resume resume, |
| PDU_BSSMAP_Unblock unblock, |
| PDU_BSSMAP_UnblockAck unblockAck, |
| PDU_BSSMAP_UnequippedCircuit unequippedCircuit, |
| PDU_BSSMAP_UplinkRequest uplinkRequest, |
| PDU_BSSMAP_UplinkRequestAck uplinkRequestAck, |
| PDU_BSSMAP_UplinkRequestConfirmation uplinkRequestConfirmation, |
| PDU_BSSMAP_UplinkReleaseIndication uplinkReleaseIndication, |
| PDU_BSSMAP_UplinkRejectCommand uplinkRejectCommand, |
| PDU_BSSMAP_UplinkReleaseCommand uplinkReleaseCommand, |
| PDU_BSSMAP_UplinkSeizedCommand uplinkSeizedCommand, |
| PDU_BSSMAP_VGCS_VBSSetup vGCS_VBSSetup, |
| PDU_BSSMAP_VGCS_VBSSetupAck vGCS_VBSSetupAck, |
| PDU_BSSMAP_VGCS_VBSSetupRefuse vGCS_VBSSetupRefuse, |
| PDU_BSSMAP_VGCS_VBSAssignmentRequest vGCS_VBSAssignmentRequest, |
| PDU_BSSMAP_VGCS_VBSAssignmentResult vGCS_VBSAssignmentResult, |
| PDU_BSSMAP_VGCS_VBSAssignmentFailure vGCS_VBSAssignmentFailure, |
| PDU_BSSMAP_VGCS_VBSQueuingIndication vGCS_VBSQueuingIndication, |
| // FIXME: these 2 message type codes are not specified in the standard |
| // PDU_BSSMAP_EmergencyResetIndication emergencyResetIndication, |
| // PDU_BSSMAP_EmergencyResetCommand emergencyResetCommand, |
| PDU_BSSMAP_VGCS_AdditionalInformation vGCS_AdditionalInformation, |
| PDU_BSSMAP_VGCS_VBS_AreaCellInfo vGCS_VBS_AreaCellInfo, |
| PDU_BSSMAP_VGCS_VBS_AssignmentStatus vGCS_VBS_AssignmentStatus, |
| PDU_BSSMAP_VGCS_SMS vGCS_SMS, |
| PDU_BSSMAP_UplinkApplicationData uplinkApplicationData, |
| PDU_BSSMAP_NotificationData notificationData, |
| PDU_BSSMAP_InternalHandoverRequired internalHandoverRequired, |
| PDU_BSSMAP_InternalHandoverRequiredReject internalHandoverRequiredReject, |
| PDU_BSSMAP_InternalHandoverCommand internalHandoverCommand, |
| PDU_BSSMAP_InternalHandoverEnquiry internalHandoverEnquiry, |
| PDU_BSSMAP_ResetIPResource resetIPResource, |
| PDU_BSSMAP_ResetIPResourceAck resetIPResourceAck, |
| PDU_BSSMAP_RerouteCommand rerouteCommand, |
| PDU_BSSMAP_RerouteComplete rerouteComplete, |
| PDU_BSSMAP_LCLS_ConnectControl lCLS_ConnectControl, |
| PDU_BSSMAP_LCLS_ConnectControlAck lCLS_connectControlAck, |
| PDU_BSSMAP_LCLS_Notification lCLS_Notification |
| } |
| |
| |
| |
| /////////////////////////////////////////// |
| // BSSAP message definition |
| /////////////////////////////////////////// |
| |
| type union BSSMAPorDTAP |
| { |
| PDU_BSSMAP bssmap, |
| octetstring dtap |
| } |
| |
| |
| type record PDU_BSSAP |
| { |
| BIT1 discriminator, // 0= BSSMAP ; 1 = DTAP |
| BIT7 spare, // always '0000000'B |
| OCT1 dlci optional, |
| LIN1 lengthIndicator, |
| BSSMAPorDTAP pdu |
| } with {variant (lengthIndicator)"LENGTHTO (pdu)"; |
| variant (pdu)"CROSSTAG( bssmap, discriminator='0'B; |
| dtap, discriminator='1'B)"; |
| variant (dlci)"PRESENCE(discriminator='1'B)"} |
| |
| |
| } with { encode "RAW"} // End of module BSSMAP_typedefs |