-- module(Mvrasn-11-4). -- vsn('%CCaseRev: %'). -- date('%CCaseDate: %'). -- author('eedkbu'). -- ============================================================================= -- ============================================================================= -- -- Title : "Mobile Service data types". -- -- ASN.1 module: "MAP-MS-DataTypes". -- -- ============================================================================= -- ============================================================== -- #1. REVISION LOG -- ============================================================== -- Rev Date Name What -- .... ....... ....... ........................................ -- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0. -- .... ....... ........ ........................................ -- PA2 990112 eedkbu Insertion of all Data types relevant for -- DSD operation. -- .... ....... ........ ........................................ Mvrasn-11-4 DEFINITIONS IMPLICIT TAGS ::= BEGIN EXPORTS -- location registration types UpdateGprsLocationArg, UpdateGprsLocationRes, CancelLocationArg, CancelLocationRes, -- subscriber management types InsertSubscriberDataArg, InsertSubscriberDataRes ; IMPORTS SS-SubscriptionOption, SS-List, maxNumOfSS FROM Mvrasn-14-4 SS-Code FROM Mvrasn-15-4 ISDN-AddressString, maxISDN-AddressLength, ISDN-SubaddressString, IMSI, LMSI, Ext-BasicServiceCode, NAEA-PreferredCI, EMLPP-Info FROM Mvrasn-18-4 Ext-TeleserviceCode FROM Mvrasn-19-4 Ext-BearerServiceCode FROM Mvrasn-20-4 ExtensionContainer FROM Mvrasn-21-4 ; -- location registration types CancelLocationArg ::= [3] SEQUENCE { identity Indentity, cancellationType CancellationType OPTIONAL, extensionContainer ExtensionContainer OPTIONAL, ...} Indentity ::= CHOICE { imsi IMSI, imsi-WithLMSI IMSI-WithLMSI} CancellationType ::= ENUMERATED { updateProcedure (0), subscriptionWithdraw (1), ...} CancelLocationRes ::= SEQUENCE { extensionContainer ExtensionContainer OPTIONAL, ...} IMSI-WithLMSI ::= SEQUENCE { imsi IMSI, lmsi LMSI, -- a special value 00000000 indicates that the LMSI is not in use ...} -- gprs location registration types UpdateGprsLocationArg ::= SEQUENCE { imsi IMSI, sgsn-Number ISDN-AddressString, sgsn-Address GSN-Address, extensionContainer ExtensionContainer OPTIONAL, ...} GSN-Address ::= OCTET STRING (SIZE (4..16)) -- Octets are coded according to TS GSM 03.03 UpdateGprsLocationRes ::= SEQUENCE { hlr-Number ISDN-AddressString, extensionContainer ExtensionContainer OPTIONAL, ...} -- subscriber management types InsertSubscriberDataArg ::= SEQUENCE { imsi [0] IMSI OPTIONAL, -- ========================================================= -- EEDKBU: -- -- the line: -- -- "COMPONENTS OF SubscriberData, -- -- has been removed due to insufficiencies of the used ASN.1-ERLANG -- compiler. Instead of this line the complete definition of -- "Subscriberdata" has been inserted. -- -- This results in the same behaviour of the deocder/encoder but -- means only a replication of the ASN.1 definiton here. -- msisdn [1] ISDN-AddressString OPTIONAL, category [2] Category OPTIONAL, subscriberStatus [3] SubscriberStatus OPTIONAL, bearerServiceList [4] BearerServiceList OPTIONAL, -- The exception handling for reception of unsupported / not allocated -- bearerServiceCodes is defined in section 6.8.1 teleserviceList [6] TeleserviceList OPTIONAL, -- The exception handling for reception of unsupported / not allocated -- teleserviceCodes is defined in section 6.8.1 provisionedSS [7] Ext-SS-InfoList OPTIONAL, odb-Data [8] ODB-Data OPTIONAL, roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL, regionalSubscriptionData [10] ZoneCodeList OPTIONAL, vbsSubscriptionData [11] VBSDataList OPTIONAL, vgcsSubscriptionData [12] VGCSDataList OPTIONAL, vlrCamelSubscriptionInfo [13] VlrCamelSubscriptionInfo OPTIONAL, -- ========================================================= extensionContainer [14] ExtensionContainer OPTIONAL, ... , naea-PreferredCI [15] NAEA-PreferredCI OPTIONAL, -- naea-PreferredCI is included at the discretion of the HLR operator. gprsSubscriptionData [16] GPRSSubscriptionData OPTIONAL, roamingRestrictedInSgsnDueToUnsupportedFeature [23] NULL OPTIONAL, networkAccessMode [24] NetworkAccessMode OPTIONAL } -- If the Network Access Mode parameter is sent, it shall be present -- only in the first sequence if the seqmentation is used -- ========================================================= -- -- EEDKBU: This data type 'NetworkAccessMode' has been included manually -- as it was not in the ASN.1 definitions in 09.02 6.1.0. -- This definition has been taken from the CR xxx. -- NetworkAccessMode ::= ENUMERATED { bothMSCAndSGSN (0), onlyMSC (1), onlySGSN (2), ...} -- if unknown values are received in NetworkAccessMode -- they shall be discarded. -- -- ========================================================= GPRSDataList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF PDP-Context maxNumOfPDP-Contexts INTEGER ::= 50 PDP-Context ::= SEQUENCE { pdp-ContextId ContextId, pdp-Type [16] PDP-Type, pdp-Address [17] PDP-Address OPTIONAL, qos-Subscribed [18] QoS-Subscribed, vplmnAddressAllowed [19] NULL OPTIONAL, apn [20] APN, extensionContainer [21] ExtensionContainer OPTIONAL, ...} ContextId ::= INTEGER (1..maxNumOfPDP-Contexts) GPRSSubscriptionData::= SEQUENCE { completeDataListIncluded NULL OPTIONAL, -- If segmentation is used, completeDataListIncluded may only be -- present in the first segment. gprsDataList [1] GPRSDataList, extensionContainer [2] ExtensionContainer OPTIONAL, ...} APN ::= IA5String (SIZE (1..63)) -- Octets are coded according to TS GSM 09.60 PDP-Type ::= OCTET STRING (SIZE (2)) -- Octets are coded according to TS GSM 09.60 PDP-Address ::= OCTET STRING (SIZE (4..16)) -- Octets are coded according to TS GSM 09.60 QoS-Subscribed ::= OCTET STRING (SIZE (3)) -- Octets are coded according to TS GSM 04.08. SubscriberData ::= SEQUENCE { msisdn [1] ISDN-AddressString OPTIONAL, category [2] Category OPTIONAL, subscriberStatus [3] SubscriberStatus OPTIONAL, bearerServiceList [4] BearerServiceList OPTIONAL, -- The exception handling for reception of unsupported / not allocated -- bearerServiceCodes is defined in section 6.8.1 teleserviceList [6] TeleserviceList OPTIONAL, -- The exception handling for reception of unsupported / not allocated -- teleserviceCodes is defined in section 6.8.1 provisionedSS [7] Ext-SS-InfoList OPTIONAL, odb-Data [8] ODB-Data OPTIONAL, roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL, regionalSubscriptionData [10] ZoneCodeList OPTIONAL, vbsSubscriptionData [11] VBSDataList OPTIONAL, vgcsSubscriptionData [12] VGCSDataList OPTIONAL, vlrCamelSubscriptionInfo [13] VlrCamelSubscriptionInfo OPTIONAL } Category ::= OCTET STRING (SIZE (1)) -- The internal structure is defined in CCITT Rec Q.763. SubscriberStatus ::= ENUMERATED { serviceGranted (0), operatorDeterminedBarring (1)} BearerServiceList ::= SEQUENCE SIZE (1..maxNumOfBearerServices) OF Ext-BearerServiceCode maxNumOfBearerServices INTEGER ::= 50 TeleserviceList ::= SEQUENCE SIZE (1..maxNumOfTeleservices) OF Ext-TeleserviceCode maxNumOfTeleservices INTEGER ::= 20 ODB-Data ::= SEQUENCE { odb-GeneralData ODB-GeneralData, odb-HPLMN-Data ODB-HPLMN-Data OPTIONAL, extensionContainer ExtensionContainer OPTIONAL, ...} ODB-GeneralData ::= BIT STRING { allOG-CallsBarred (0), internationalOGCallsBarred (1), internationalOGCallsNotToHPLMN-CountryBarred (2), interzonalOGCallsBarred (6), interzonalOGCallsNotToHPLMN-CountryBarred (7), interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred (8), premiumRateInformationOGCallsBarred (3), premiumRateEntertainementOGCallsBarred (4), ss-AccessBarred (5), allECT-Barred (9), chargeableECT-Barred (10), internationalECT-Barred (11), interzonalECT-Barred (12), doublyChargeableECT-Barred (13), multipleECT-Barred (14)} (SIZE (15..32)) -- exception handling: reception of unknown bit assignments in the -- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData ODB-HPLMN-Data ::= BIT STRING { plmn-SpecificBarringType1 (0), plmn-SpecificBarringType2 (1), plmn-SpecificBarringType3 (2), plmn-SpecificBarringType4 (3)} (SIZE (4..32)) -- exception handling: reception of unknown bit assignments in the -- ODB-HPLMN-Data type shall be treated like unsupported ODB-HPLMN-Data Ext-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF Ext-SS-Info Ext-SS-Info ::= CHOICE { forwardingInfo [0] Ext-ForwInfo, callBarringInfo [1] Ext-CallBarInfo, cug-Info [2] CUG-Info, ss-Data [3] Ext-SS-Data, emlpp-Info [4] EMLPP-Info} Ext-ForwInfo ::= SEQUENCE { ss-Code SS-Code, forwardingFeatureList Ext-ForwFeatureList, extensionContainer [0] ExtensionContainer OPTIONAL, ...} Ext-ForwFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF Ext-ForwFeature Ext-ForwFeature ::= SEQUENCE { basicService Ext-BasicServiceCode OPTIONAL, ss-Status [4] Ext-SS-Status, forwardedToNumber [5] ISDN-AddressString OPTIONAL, -- When this data type is sent from an HLR which supports CAMEL Phase 2 -- to a VLR that supports CAMEL Phase 2 the VLR shall not check the -- format of the number forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL, forwardingOptions [6] Ext-ForwOptions OPTIONAL, noReplyConditionTime [7] Ext-NoRepCondTime OPTIONAL, extensionContainer [9] ExtensionContainer OPTIONAL, ...} Ext-SS-Status ::= OCTET STRING (SIZE (1..5)) -- OCTET 1: -- -- bits 8765: 0000 (unused) -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit", -- representing supplementary service state information -- as defined in TS GSM 03.11 -- bit 4: "Q bit" -- bit 3: "P bit" -- bit 2: "R bit" -- bit 1: "A bit" -- OCTETS 2-5: reserved for future use. They shall be discarded if -- received and not understood. Ext-ForwOptions ::= OCTET STRING (SIZE (1..5)) -- OCTET 1: -- bit 8: notification to forwarding party -- 0 no notification -- 1 notification -- bit 7: 0 (unused) -- bit 6: notification to calling party -- 0 no notification -- 1 notification -- bit 5: 0 (unused) -- bits 43: forwarding reason -- 00 ms not reachable -- 01 ms busy -- 10 no reply -- 11 unconditional -- bits 21: 00 (unused) -- OCTETS 2-5: reserved for future use. They shall be discarded if -- received and not understood. Ext-NoRepCondTime ::= INTEGER (1..100) -- Only values 5-30 are used. -- Values in the ranges 1-4 and 31-100 are reserved for future use -- If received: -- values 1-4 shall be mapped on to value 5 -- values 31-100 shall be mapped on to value 30 Ext-CallBarInfo ::= SEQUENCE { ss-Code SS-Code, callBarringFeatureList Ext-CallBarFeatureList, extensionContainer ExtensionContainer OPTIONAL, ...} Ext-CallBarFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF Ext-CallBarringFeature Ext-CallBarringFeature ::= SEQUENCE { basicService Ext-BasicServiceCode OPTIONAL, ss-Status [4] Ext-SS-Status, extensionContainer ExtensionContainer OPTIONAL, ...} CUG-Info ::= SEQUENCE { cug-SubscriptionList CUG-SubscriptionList, cug-FeatureList CUG-FeatureList OPTIONAL, extensionContainer [0] ExtensionContainer OPTIONAL, ...} CUG-SubscriptionList ::= SEQUENCE SIZE (0..maxNumOfCUG) OF CUG-Subscription CUG-Subscription ::= SEQUENCE { cug-Index CUG-Index, cug-Interlock CUG-Interlock, intraCUG-Options IntraCUG-Options, basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL, extensionContainer [0] ExtensionContainer OPTIONAL, ...} CUG-Index ::= INTEGER (0..32767) -- The internal structure is defined in ETS 300 138. CUG-Interlock ::= OCTET STRING (SIZE (4)) IntraCUG-Options ::= ENUMERATED { noCUG-Restrictions (0), cugIC-CallBarred (1), cugOG-CallBarred (2)} maxNumOfCUG INTEGER ::= 10 CUG-FeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF CUG-Feature Ext-BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF Ext-BasicServiceCode maxNumOfExt-BasicServiceGroups INTEGER ::= 32 CUG-Feature ::= SEQUENCE { basicService Ext-BasicServiceCode OPTIONAL, preferentialCUG-Indicator CUG-Index OPTIONAL, interCUG-Restrictions InterCUG-Restrictions, extensionContainer ExtensionContainer OPTIONAL, ...} InterCUG-Restrictions::= OCTET STRING (SIZE (1)) -- bits 876543: 000000 (unused) -- Exception handling: -- bits 876543 shall be ignored if received and not understood -- bits 21 -- 00 CUG only facilities -- 01 CUG with outgoing access -- 10 CUG with incoming access -- 11 CUG with both outgoing and incoming access Ext-SS-Data ::= SEQUENCE { ss-Code SS-Code, ss-Status [4] Ext-SS-Status, ss-SubscriptionOption SS-SubscriptionOption OPTIONAL, basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL, extensionContainer [5] ExtensionContainer OPTIONAL, ...} ZoneCodeList ::= SEQUENCE SIZE (1..maxNumOfZoneCodes) OF ZoneCode ZoneCode ::= OCTET STRING (SIZE (2)) -- internal structure is defined in TS GSM 03.03 maxNumOfZoneCodes INTEGER ::= 10 InsertSubscriberDataRes ::= SEQUENCE { teleserviceList [1] TeleserviceList OPTIONAL, bearerServiceList [2] BearerServiceList OPTIONAL, ss-List [3] SS-List OPTIONAL, odb-GeneralData [4] ODB-GeneralData OPTIONAL, regionalSubscriptionResponse [5] RegionalSubscriptionResponse OPTIONAL, supportedCamelPhases [6] SupportedCamelPhases OPTIONAL, extensionContainer [7] ExtensionContainer OPTIONAL, ...} RegionalSubscriptionResponse ::= ENUMERATED { networkNode-AreaRestricted (0), tooManyZoneCodes (1), zoneCodesConflict (2), regionalSubscNotSupported (3)} DeleteSubscriberDataArg ::= SEQUENCE { imsi [0] IMSI, basicServiceList [1] BasicServiceList OPTIONAL, -- The exception handling for reception of unsupported/not allocated -- basicServiceCodes is defined in section 6.8.2 ss-List [2] SS-List OPTIONAL, roamingRestrictionDueToUnsupportedFeature [4] NULL OPTIONAL, regionalSubscriptionIdentifier [5] ZoneCode OPTIONAL, vbsGroupIndication [7] NULL OPTIONAL, vgcsGroupIndication [8] NULL OPTIONAL, camelSubscriptionInfoWithdraw [9] NULL OPTIONAL, extensionContainer [6] ExtensionContainer OPTIONAL, ..., gprsSubscriptionDataWithdraw [10] GPRSSubscriptionDataWithdraw OPTIONAL, roamingRestrictedInSgsnDueToUnsuppportedFeature [11] NULL OPTIONAL} GPRSSubscriptionDataWithdraw ::= CHOICE { allGPRSData NULL, contextIdList ContextIdList} ContextIdList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF ContextId BasicServiceList ::= SEQUENCE SIZE (1..maxNumOfBasicServices) OF Ext-BasicServiceCode maxNumOfBasicServices INTEGER ::= 70 DeleteSubscriberDataRes ::= SEQUENCE { regionalSubscriptionResponse [0] RegionalSubscriptionResponse OPTIONAL, extensionContainer ExtensionContainer OPTIONAL, ...} VlrCamelSubscriptionInfo ::= SEQUENCE { o-CSI [0] O-CSI OPTIONAL, extensionContainer [1] ExtensionContainer OPTIONAL, ..., ss-CSI [2] SS-CSI OPTIONAL } SS-CSI ::= SEQUENCE { ss-CamelData SS-CamelData, extensionContainer ExtensionContainer OPTIONAL, ...} SS-CamelData ::= SEQUENCE { ss-EventList SS-EventList, gsmSCF-Address ISDN-AddressString, extensionContainer [0] ExtensionContainer OPTIONAL, ... } SS-EventList ::= SEQUENCE SIZE (1..maxNumOfCamelSSEvents) OF SS-Code -- Actions for the following SS-Code values are defined in CAMEL Phase 2: -- ect SS-Code ::= '00110001'B -- multiPTY SS-Code ::= '01010001'B -- cd SS-Code ::= '00100100'B -- all other SS codes shall be ignored maxNumOfCamelSSEvents INTEGER ::= 10 O-CSI ::= SEQUENCE { o-BcsmCamelTDPDataList O-BcsmCamelTDPDataList, extensionContainer ExtensionContainer OPTIONAL, ..., camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL } O-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF O-BcsmCamelTDPData maxNumOfCamelTDPData INTEGER ::= 10 O-BcsmCamelTDPData ::= SEQUENCE { o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint, serviceKey ServiceKey, gsmSCF-Address [0] ISDN-AddressString, defaultCallHandling [1] DefaultCallHandling, extensionContainer [2] ExtensionContainer OPTIONAL, ..., o-BcsmCamelTDP-Criteria [3] O-BcsmCamelTDP-Criteria OPTIONAL } ServiceKey ::= INTEGER (0..2147483647) O-BcsmTriggerDetectionPoint ::= ENUMERATED { collectedInfo (2), ... } -- exception handling: -- For O-BcsmCamelTDPData sequences containing this parameter with any -- other value than the ones listed the receiver shall ignore the whole -- O-BcsmCamelTDPDatasequence. O-BcsmCamelTDP-Criteria ::= SEQUENCE { destinationNumberCriteria [0] DestinationNumberCriteria OPTIONAL, basicServiceCriteria [1] BasicServiceCriteria OPTIONAL, callTypeCriteria [2] CallTypeCriteria OPTIONAL, ... } DestinationNumberCriteria ::= SEQUENCE { matchType [0] MatchType, destinationNumberList [1] DestinationNumberList OPTIONAL, destinationNumberLengthList [2] DestinationNumberLengthList OPTIONAL, ... } DestinationNumberList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumbers) OF ISDN-AddressString -- The receiving entity shall not check the format of a number in -- the dialled number list DestinationNumberLengthList ::= SEQUENCE SIZE -- (1..maxNumOfCamelDestinationNumberLengths) OF (1..maxISDN-AddressLength) OF -- INTEGER(1..maxISDN-AddressLength) INTEGER(1..maxNumOfSS) BasicServiceCriteria ::= SEQUENCE SIZE(1..maxNumOfCamelBasicServiceCriteria) OF Ext-BasicServiceCode maxNumOfCamelDestinationNumbers INTEGER ::= 10 maxNumOfCamelDestinationNumberLengths INTEGER ::= 3 maxNumOfCamelBasicServiceCriteria INTEGER ::= 5 CallTypeCriteria ::= ENUMERATED { forwarded (0), notForwarded (1)} MatchType ::= ENUMERATED { inhibiting (0), enabling (1)} DefaultCallHandling ::= ENUMERATED { continueCall (0) , releaseCall (1) , ...} -- exception handling: -- reception of values in range 2-31 shall be treated as "continueCall" -- reception of values greater than 31 shall be treated as "releaseCall" CamelCapabilityHandling ::= INTEGER(1..16) -- value 1 = CAMEL phase 1, -- value 2 = CAMEL phase 2: -- reception of values greater than 2 shall be treated as CAMEL phase 2 SupportedCamelPhases ::= BIT STRING { phase1 (0), phase2 (1) } (SIZE (1..16)) -- VBS/VGCS types VBSDataList ::= SEQUENCE SIZE (1..maxNumOfVBSGroupIds) OF VoiceBroadcastData VGCSDataList ::= SEQUENCE SIZE (1..maxNumOfVGCSGroupIds) OF VoiceGroupCallData maxNumOfVBSGroupIds INTEGER ::= 50 maxNumOfVGCSGroupIds INTEGER ::= 50 VoiceGroupCallData ::= SEQUENCE { groupId GroupId, extensionContainer ExtensionContainer OPTIONAL, ...} VoiceBroadcastData ::= SEQUENCE { groupid GroupId, broadcastInitEntitlement NULL OPTIONAL, extensionContainer ExtensionContainer OPTIONAL, ...} GroupId ::= OCTET STRING (SIZE (3)) -- Refers to the Group Identification as specified in GSM TS 03.03 -- and 03.68/ 03.69 END