-- 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