17.7.8 Common data types

29.0023GPPMobile Application Part (MAP) specificationRelease 17TS

.$MAP-CommonDataTypes {

itu-t identified-organization (4) etsi (0) mobileDomain (0)

gsm-Network (1) modules (3) map-CommonDataTypes (18) version20 (20)}

DEFINITIONS

IMPLICIT TAGS

::=

BEGIN

EXPORTS

— general data types and values

AddressString,

ISDN-AddressString,

maxISDN-AddressLength,

FTN-AddressString,

ISDN-SubaddressString,

ExternalSignalInfo,

Ext-ExternalSignalInfo,

AccessNetworkSignalInfo,

SignalInfo,

maxSignalInfoLength,

AlertingPattern,

TBCD-STRING,

DiameterIdentity,

Time,

HLR-Id,

— data types for numbering and identification

IMSI,

TMSI,

Identity,

SubscriberId,

IMEI,

HLR-List,

LMSI,

GlobalCellId,

NetworkResource,

AdditionalNetworkResource,

NAEA-PreferredCI,

NAEA-CIC,

ASCI-CallReference,

SubscriberIdentity,

PLMN-Id,

E-UTRAN-CGI,

NR-CGI,

TA-Id,

NR-TA-Id,

RAIdentity,

NetworkNodeDiameterAddress,

— data types for CAMEL

CellGlobalIdOrServiceAreaIdOrLAI,

CellGlobalIdOrServiceAreaIdFixedLength,

LAIFixedLength,

— data types for subscriber management

BasicServiceCode,

Ext-BasicServiceCode,

EMLPP-Info,

EMLPP-Priority,

MC-SS-Info,

MaxMC-Bearers,

MC-Bearers,

Ext-SS-Status,

— data types for geographic location

AgeOfLocationInformation,

LCSClientExternalID,

LCSClientInternalID,

LCSServiceTypeID,

— gprs location registration types

GSN-Address

;

IMPORTS

TeleserviceCode,

Ext-TeleserviceCode

FROM MAP-TS-Code {

itu-t identified-organization (4) etsi (0) mobileDomain (0)

gsm-Network (1) modules (3) map-TS-Code (19) version20 (20)}

BearerServiceCode,

Ext-BearerServiceCode

FROM MAP-BS-Code {

itu-t identified-organization (4) etsi (0) mobileDomain (0)

gsm-Network (1) modules (3) map-BS-Code (20) version20 (20)}

SS-Code

FROM MAP-SS-Code {

itu-t identified-organization (4) etsi (0) mobileDomain (0)

gsm-Network (1) modules (3) map-SS-Code (15) version20 (20)}

ExtensionContainer

FROM MAP-ExtensionDataTypes {

itu-t identified-organization (4) etsi (0) mobileDomain (0)

gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version20 (20)}

;

— general data types

TBCD-STRING ::= OCTET STRING

— This type (Telephony Binary Coded Decimal String) is used to

— represent several digits from 0 through 9, *, #, a, b, c, two

— digits per octet, each digit encoded 0000 to 1001 (0 to 9),

— 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used

— as filler when there is an odd number of digits.

— bits 8765 of octet n encoding digit 2n

— bits 4321 of octet n encoding digit 2(n-1) +1

DiameterIdentity ::= OCTET STRING (SIZE(9..255))

content of DiameterIdentity is defined in IETF RFC 3588 [139]

AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))

— This type is used to represent a number for addressing

— purposes. It is composed of

— a) one octet for nature of address, and numbering plan

— indicator.

— b) digits of an address encoded as TBCD-String.

— a) The first octet includes a one bit extension indicator, a

— 3 bits nature of address indicator and a 4 bits numbering

— plan indicator, encoded as follows:

— bit 8: 1 (no extension)

— bits 765: nature of address indicator

— 000 unknown

— 001 international number

— 010 national significant number

— 011 network specific number

— 100 subscriber number

— 101 reserved

— 110 abbreviated number

— 111 reserved for extension

— bits 4321: numbering plan indicator

— 0000 unknown

— 0001 ISDN/Telephony Numbering Plan (Rec ITU-T E.164)

— 0010 spare

— 0011 data numbering plan (ITU-T Rec X.121)

— 0100 telex numbering plan (ITU-T Rec F.69)

— 0101 spare

— 0110 land mobile numbering plan (ITU-T Rec E.212)

— 0111 spare

— 1000 national numbering plan

— 1001 private numbering plan

— 1111 reserved for extension

— all other values are reserved.

— b) The following octets representing digits of an address

— encoded as a TBCD-STRING.

maxAddressLength INTEGER ::= 20

ISDN-AddressString ::=

AddressString (SIZE (1..maxISDN-AddressLength))

— This type is used to represent ISDN numbers.

maxISDN-AddressLength INTEGER ::= 9

FTN-AddressString ::=

AddressString (SIZE (1..maxFTN-AddressLength))

— This type is used to represent forwarded-to numbers.

— If NAI = international the first digits represent the country code (CC)

— and the network destination code (NDC) as for E.164.

maxFTN-AddressLength INTEGER ::= 15

ISDN-SubaddressString ::=

OCTET STRING (SIZE (1..maxISDN-SubaddressLength))

— This type is used to represent ISDN subaddresses.

— It is composed of

— a) one octet for type of subaddress and odd/even indicator.

— b) 20 octets for subaddress information.

— a) The first octet includes a one bit extension indicator, a

— 3 bits type of subaddress and a one bit odd/even indicator,

— encoded as follows:

— bit 8: 1 (no extension)

— bits 765: type of subaddress

— 000 NSAP (X.213/ISO 8348 AD2)

— 010 User Specified

— All other values are reserved

— bit 4: odd/even indicator

— 0 even number of address signals

— 1 odd number of address signals

— The odd/even indicator is used when the type of subaddress

— is "user specified" and the coding is BCD.

— bits 321: 000 (unused)

— b) Subaddress information.

— The NSAP X.213/ISO8348AD2 address shall be formatted as specified

— by octet 4 which contains the Authority and Format Identifier

— (AFI). The encoding is made according to the "preferred binary

— encoding" as defined in X.213/ISO834AD2. For the definition

— of this type of subaddress, see ITU-T Rec I.334.

— For User-specific subaddress, this field is encoded according

— to the user specification, subject to a maximum length of 20

— octets. When interworking with X.25 networks BCD coding should

— be applied.

maxISDN-SubaddressLength INTEGER ::= 21

ExternalSignalInfo ::= SEQUENCE {

protocolId ProtocolId,

signalInfo SignalInfo,

— Information about the internal structure is given in

— clause 7.6.9.

extensionContainer ExtensionContainer OPTIONAL,

— extensionContainer must not be used in version 2

…}

SignalInfo ::= OCTET STRING (SIZE (1..maxSignalInfoLength))

maxSignalInfoLength INTEGER ::= 200

— This NamedValue represents the theoretical maximum number of octets which is

— available to carry a single instance of the SignalInfo data type,

— without requiring segmentation to cope with the network layer service.

— However, the actual maximum size available for an instance of the data

— type may be lower, especially when other information elements

— have to be included in the same component.

ProtocolId ::= ENUMERATED {

gsm-0408 (1),

gsm-0806 (2),

gsm-BSSMAP (3),

— Value 3 is reserved and must not be used

ets-300102-1 (4)}

Ext-ExternalSignalInfo ::= SEQUENCE {

ext-ProtocolId Ext-ProtocolId,

signalInfo SignalInfo,

— Information about the internal structure is given in

— clause 7.6.9.10

extensionContainer ExtensionContainer OPTIONAL,

…}

Ext-ProtocolId ::= ENUMERATED {

ets-300356 (1),

}

— exception handling:

— For Ext-ExternalSignalInfo sequences containing this parameter with any

— other value than the ones listed the receiver shall ignore the whole

— Ext-ExternalSignalInfo sequence.

AccessNetworkSignalInfo ::= SEQUENCE {

accessNetworkProtocolId AccessNetworkProtocolId,

signalInfo LongSignalInfo,

— Information about the internal structure is given in clause 7.6.9.1

extensionContainer ExtensionContainer OPTIONAL,

…}

LongSignalInfo ::= OCTET STRING (SIZE (1..maxLongSignalInfoLength))

maxLongSignalInfoLength INTEGER ::= 2560

— This Named Value represents the maximum number of octets which is available

— to carry a single instance of the LongSignalInfo data type using

— White Book SCCP with the maximum number of segments.

— It takes account of the octets used by the lower layers of the protocol, and

— other information elements which may be included in the same component.

AccessNetworkProtocolId ::= ENUMERATED {

ts3G-48006 (1),

ts3G-25413 (2),

…}

— exception handling:

— For AccessNetworkSignalInfo sequences containing this parameter with any

— other value than the ones listed the receiver shall ignore the whole

— AccessNetworkSignalInfo sequence.

AlertingPattern ::= OCTET STRING (SIZE (1) )

— This type is used to represent Alerting Pattern

— bits 8765 : 0000 (unused)

— bits 43 : type of Pattern

— 00 level

— 01 category

— 10 category

— all other values are reserved.

— bits 21 : type of alerting

alertingLevel-0 AlertingPattern ::= ‘00000000’B

alertingLevel-1 AlertingPattern ::= ‘00000001’B

alertingLevel-2 AlertingPattern ::= ‘00000010’B

— all other values of Alerting level are reserved

— Alerting Levels are defined in GSM 02.07

alertingCategory-1 AlertingPattern ::= ‘00000100’B

alertingCategory-2 AlertingPattern ::= ‘00000101’B

alertingCategory-3 AlertingPattern ::= ‘00000110’B

alertingCategory-4 AlertingPattern ::= ‘00000111’B

alertingCategory-5 AlertingPattern ::= ‘00001000’B

— all other values of Alerting Category are reserved

— Alerting categories are defined in GSM 02.07

GSN-Address ::= OCTET STRING (SIZE (5..17))

— Octets are coded according to TS 3GPP TS 23.003 [17]

Time ::= OCTET STRING (SIZE (4))

— Octets are coded according to IETF RFC 3588 [139]

— data types for numbering and identification

IMSI ::= TBCD-STRING (SIZE (3..8))

— digits of MCC, MNC, MSIN are concatenated in this order.

Identity ::= CHOICE {

imsi IMSI,

imsi-WithLMSI IMSI-WithLMSI}

IMSI-WithLMSI ::= SEQUENCE {

imsi IMSI,

lmsi LMSI,

— a special value 00000000 indicates that the LMSI is not in use

…}

ASCI-CallReference ::= TBCD-STRING (SIZE (1..8))

— digits of VGCS/VBS-area,Group-ID are concatenated in this order if there is a

— VGCS/VBS-area.

TMSI ::= OCTET STRING (SIZE (1..4))

SubscriberId ::= CHOICE {

imsi [0] IMSI,

tmsi [1] TMSI}

IMEI ::= TBCD-STRING (SIZE (8))

— Refers to International Mobile Station Equipment Identity

— and Software Version Number (SVN) defined in TS 3GPP TS 23.003 [17].

— If the SVN is not present the last octet shall contain the

— digit 0 and a filler.

— If present the SVN shall be included in the last octet.

HLR-Id ::= IMSI

— leading digits of IMSI, i.e. (MCC, MNC, leading digits of

— MSIN) forming HLR Id defined in TS 3GPP TS 23.003 [17].

HLR-List ::= SEQUENCE SIZE (1..maxNumOfHLR-Id) OF

HLR-Id

maxNumOfHLR-Id INTEGER ::= 50

LMSI ::= OCTET STRING (SIZE (4))

GlobalCellId ::= OCTET STRING (SIZE (5..7))

— Refers to Cell Global Identification defined in TS 3GPP TS 23.003 [17].

— The internal structure is defined as follows:

— octet 1 bits 4321 Mobile Country Code 1st digit

— bits 8765 Mobile Country Code 2nd digit

— octet 2 bits 4321 Mobile Country Code 3rd digit

— bits 8765 Mobile Network Code 3rd digit

— or filler (1111) for 2 digit MNCs

— octet 3 bits 4321 Mobile Network Code 1st digit

— bits 8765 Mobile Network Code 2nd digit

— octets 4 and 5 Location Area Code according to TS 3GPP TS 24.008 [35]

— octets 6 and 7 Cell Identity (CI) according to TS 3GPP TS 24.008 [35]

NetworkResource ::= ENUMERATED {

plmn (0),

hlr (1),

vlr (2),

pvlr (3),

controllingMSC (4),

vmsc (5),

eir (6),

rss (7)}

AdditionalNetworkResource ::= ENUMERATED {

sgsn (0),

ggsn (1),

gmlc (2),

gsmSCF (3),

nplr (4),

auc (5),

… ,

ue (6),

mme (7)}

— if unknown value is received in AdditionalNetworkResource

— it shall be ignored.

NAEA-PreferredCI ::= SEQUENCE {

naea-PreferredCIC [0] NAEA-CIC,

extensionContainer [1] ExtensionContainer OPTIONAL,

…}

NAEA-CIC ::= OCTET STRING (SIZE (3))

— The internal structure is defined by the Carrier Identification

— parameter in ANSI T1.113.3. Carrier codes between "000" and "999" may

— be encoded as 3 digits using "000" to "999" or as 4 digits using

— "0000" to "0999". Carrier codes between "1000" and "9999" are encoded

— using 4 digits.

SubscriberIdentity ::= CHOICE {

imsi [0] IMSI,

msisdn [1] ISDN-AddressString

}

LCSClientExternalID ::= SEQUENCE {

externalAddress [0] ISDN-AddressString OPTIONAL,

extensionContainer [1] ExtensionContainer OPTIONAL,

… }

LCSClientInternalID ::= ENUMERATED {

broadcastService (0),

o-andM-HPLMN (1),

o-andM-VPLMN (2),

anonymousLocation (3),

targetMSsubscribedService (4),

… }

— for a CAMEL phase 3 PLMN operator client, the value targetMSsubscribedService shall be used

LCSServiceTypeID ::= INTEGER (0..127)

— the integer values 0-63 are reserved for Standard LCS service types

— the integer values 64-127 are reserved for Non Standard LCS service types

— Standard LCS Service Types

emergencyServices LCSServiceTypeID ::= 0

emergencyAlertServices LCSServiceTypeID ::= 1

personTracking LCSServiceTypeID ::= 2

fleetManagement LCSServiceTypeID ::= 3

assetManagement LCSServiceTypeID ::= 4

trafficCongestionReporting LCSServiceTypeID ::= 5

roadsideAssistance LCSServiceTypeID ::= 6

routingToNearestCommercialEnterprise LCSServiceTypeID ::= 7

navigation LCSServiceTypeID ::= 8

–this service type is reserved for use in previous releases

citySightseeing LCSServiceTypeID ::= 9

localizedAdvertising LCSServiceTypeID ::= 10

mobileYellowPages LCSServiceTypeID ::= 11

trafficAndPublicTransportationInfo LCSServiceTypeID ::= 12

weather LCSServiceTypeID ::= 13

assetAndServiceFinding LCSServiceTypeID ::= 14

gaming LCSServiceTypeID ::= 15

findYourFriend LCSServiceTypeID ::= 16

dating LCSServiceTypeID ::= 17

chatting LCSServiceTypeID ::= 18

routeFinding LCSServiceTypeID ::= 19

whereAmI LCSServiceTypeID ::= 20

— The values of LCSServiceTypeID are defined according to 3GPP TS 22.071.

— Non Standard LCS Service Types

serv64 LCSServiceTypeID ::= 64

serv65 LCSServiceTypeID ::= 65

serv66 LCSServiceTypeID ::= 66

serv67 LCSServiceTypeID ::= 67

serv68 LCSServiceTypeID ::= 68

serv69 LCSServiceTypeID ::= 69

serv70 LCSServiceTypeID ::= 70

serv71 LCSServiceTypeID ::= 71

serv72 LCSServiceTypeID ::= 72

serv73 LCSServiceTypeID ::= 73

serv74 LCSServiceTypeID ::= 74

serv75 LCSServiceTypeID ::= 75

serv76 LCSServiceTypeID ::= 76

serv77 LCSServiceTypeID ::= 77

serv78 LCSServiceTypeID ::= 78

serv79 LCSServiceTypeID ::= 79

serv80 LCSServiceTypeID ::= 80

serv81 LCSServiceTypeID ::= 81

serv82 LCSServiceTypeID ::= 82

serv83 LCSServiceTypeID ::= 83

serv84 LCSServiceTypeID ::= 84

serv85 LCSServiceTypeID ::= 85

serv86 LCSServiceTypeID ::= 86

serv87 LCSServiceTypeID ::= 87

serv88 LCSServiceTypeID ::= 88

serv89 LCSServiceTypeID ::= 89

serv90 LCSServiceTypeID ::= 90

serv91 LCSServiceTypeID ::= 91

serv92 LCSServiceTypeID ::= 92

serv93 LCSServiceTypeID ::= 93

serv94 LCSServiceTypeID ::= 94

serv95 LCSServiceTypeID ::= 95

serv96 LCSServiceTypeID ::= 96

serv97 LCSServiceTypeID ::= 97

serv98 LCSServiceTypeID ::= 98

serv99 LCSServiceTypeID ::= 99

serv100 LCSServiceTypeID ::= 100

serv101 LCSServiceTypeID ::= 101

serv102 LCSServiceTypeID ::= 102

serv103 LCSServiceTypeID ::= 103

serv104 LCSServiceTypeID ::= 104

serv105 LCSServiceTypeID ::= 105

serv106 LCSServiceTypeID ::= 106

serv107 LCSServiceTypeID ::= 107

serv108 LCSServiceTypeID ::= 108

serv109 LCSServiceTypeID ::= 109

serv110 LCSServiceTypeID ::= 110

serv111 LCSServiceTypeID ::= 111

serv112 LCSServiceTypeID ::= 112

serv113 LCSServiceTypeID ::= 113

serv114 LCSServiceTypeID ::= 114

serv115 LCSServiceTypeID ::= 115

serv116 LCSServiceTypeID ::= 116

serv117 LCSServiceTypeID ::= 117

serv118 LCSServiceTypeID ::= 118

serv119 LCSServiceTypeID ::= 119

serv120 LCSServiceTypeID ::= 120

serv121 LCSServiceTypeID ::= 121

serv122 LCSServiceTypeID ::= 122

serv123 LCSServiceTypeID ::= 123

serv124 LCSServiceTypeID ::= 124

serv125 LCSServiceTypeID ::= 125

serv126 LCSServiceTypeID ::= 126

serv127 LCSServiceTypeID ::= 127

PLMN-Id ::= OCTET STRING (SIZE (3))

— The internal structure is defined as follows:

— octet 1 bits 4321 Mobile Country Code 1st digit

— bits 8765 Mobile Country Code 2nd digit

— octet 2 bits 4321 Mobile Country Code 3rd digit

— bits 8765 Mobile Network Code 3rd digit

— or filler (1111) for 2 digit MNCs

— octet 3 bits 4321 Mobile Network Code 1st digit

— bits 8765 Mobile Network Code 2nd digit

E-UTRAN-CGI ::= OCTET STRING (SIZE (7))

— Octets are coded as described in 3GPP TS 29.118 [152].

NR-CGI ::= OCTET STRING (SIZE (8))

— Octets are coded as described in 3GPP TS 38.413 [153].

TA-Id ::= OCTET STRING (SIZE (5))

— Octets are coded as described in 3GPP TS 29.118 [152].

NR-TA-Id ::= OCTET STRING (SIZE (6))

— Octets are coded as described in 3GPP TS 38.413 [153].

RAIdentity ::= OCTET STRING (SIZE (6))

— Routing Area Identity is coded in accordance with 3GPP TS 29.060 [105].

— It shall contain the value part defined in 3GPP TS 29.060 only. I.e. the 3GPP TS 29.060

— type identifier octet shall not be included.

NetworkNodeDiameterAddress::= SEQUENCE {

diameter-Name [0] DiameterIdentity,

diameter-Realm [1] DiameterIdentity }

— data types for CAMEL

CellGlobalIdOrServiceAreaIdOrLAI ::= CHOICE {

cellGlobalIdOrServiceAreaIdFixedLength [0] CellGlobalIdOrServiceAreaIdFixedLength,

laiFixedLength [1] LAIFixedLength}

CellGlobalIdOrServiceAreaIdFixedLength ::= OCTET STRING (SIZE (7))

— Refers to Cell Global Identification or Service Are Identification

— defined in 3GPP TS 23.003.

— The internal structure is defined as follows:

— octet 1 bits 4321 Mobile Country Code 1st digit

— bits 8765 Mobile Country Code 2nd digit

— octet 2 bits 4321 Mobile Country Code 3rd digit

— bits 8765 Mobile Network Code 3rd digit

— or filler (1111) for 2 digit MNCs

— octet 3 bits 4321 Mobile Network Code 1st digit

— bits 8765 Mobile Network Code 2nd digit

— octets 4 and 5 Location Area Code according to 3GPP TS 24.008

— octets 6 and 7 Cell Identity (CI) value or

— Service Area Code (SAC) value

— according to 3GPP TS 23.003

LAIFixedLength ::= OCTET STRING (SIZE (5))

— Refers to Location Area Identification defined in 3GPP TS 23.003 [17].

— The internal structure is defined as follows:

— octet 1 bits 4321 Mobile Country Code 1st digit

— bits 8765 Mobile Country Code 2nd digit

— octet 2 bits 4321 Mobile Country Code 3rd digit

— bits 8765 Mobile Network Code 3rd digit

— or filler (1111) for 2 digit MNCs

— octet 3 bits 4321 Mobile Network Code 1st digit

— bits 8765 Mobile Network Code 2nd digit

— octets 4 and 5 Location Area Code according to 3GPP TS 24.008 [35]

— data types for subscriber management

BasicServiceCode ::= CHOICE {

bearerService [2] BearerServiceCode,

teleservice [3] TeleserviceCode}

Ext-BasicServiceCode ::= CHOICE {

ext-BearerService [2] Ext-BearerServiceCode,

ext-Teleservice [3] Ext-TeleserviceCode}

EMLPP-Info ::= SEQUENCE {

maximumentitledPriority EMLPP-Priority,

defaultPriority EMLPP-Priority,

extensionContainer ExtensionContainer OPTIONAL,

…}

EMLPP-Priority ::= INTEGER (0..15)

— The mapping from the values A,B,0,1,2,3,4 to the integer-value is

— specified as follows where A is the highest and 4 is the lowest

— priority level

— the integer values 7-15 are spare and shall be mapped to value 4

priorityLevelA EMLPP-Priority ::= 6

priorityLevelB EMLPP-Priority ::= 5

priorityLevel0 EMLPP-Priority ::= 0

priorityLevel1 EMLPP-Priority ::= 1

priorityLevel2 EMLPP-Priority ::= 2

priorityLevel3 EMLPP-Priority ::= 3

priorityLevel4 EMLPP-Priority ::= 4

MC-SS-Info ::= SEQUENCE {

ss-Code [0] SS-Code,

ss-Status [1] Ext-SS-Status,

nbrSB [2] MaxMC-Bearers,

nbrUser [3] MC-Bearers,

extensionContainer [4] ExtensionContainer OPTIONAL,

…}

MaxMC-Bearers ::= INTEGER (2..maxNumOfMC-Bearers)

MC-Bearers ::= INTEGER (1..maxNumOfMC-Bearers)

maxNumOfMC-Bearers INTEGER ::= 7

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 3GPP TS 23.011 [22]

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

— data types for geographic location

AgeOfLocationInformation ::= INTEGER (0..32767)

— the value represents the elapsed time in minutes since the last

— network contact of the mobile station (i.e. the actuality of the

— location information).

— value "0" indicates that the MS is currently in contact with the

— network

— value "32767" indicates that the location information is at least

— 32767 minutes old

.#END