1-- module(Mvrasn-DataTypes-1). 2-- vsn('%CCaseRev: %'). 3-- date('%CCaseDate: %'). 4-- author('eedkbu'). 5-- ============================================================================= 6 7-- ============================================================================= 8-- 9-- Title : "MAP Data Types". 10-- 11-- ASN.1 module: "MAP-DataTypes". 12-- 13-- ============================================================================= 14 15-- ============================================================================= 16-- 17-- NOTE: 18-- 19-- In GSM 09.02 v. 6.1.0 all ASN.1 modules have 'Object Identifier' included 20-- to indicate these modules uniquely. To have a same kind of definite naming 21-- convention, parts of the these 'Object Identifier' have been included in 22-- the file names that store the respective ASN.1 modules. 23-- 24-- Therefore, the file name "Mvrasn-20-4.asn" indicates moduls '20' in 25-- version '4' (PHASE 3). 26-- 27-- As there is no such 'Object Identifier' in GSM 09.02 v. 3.11.0, 28-- the names for the ASN.1 files of the ASN.1 modules from 29-- this standard version are selected by the author. They are chosen the way 30-- that they are indicating the relation to those modules 31-- from GSM 09.02 v. 3.11.0. 32-- 33-- ============================================================================= 34 35-- ============================================================== 36-- #1. REVISION LOG 37-- ============================================================== 38-- Rev Date Name What 39-- .... ....... ....... ........................................ 40-- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 3.11.0. 41-- .............................................................. 42-- PA2 990114 etord Included Reset operation 43-- .............................................................. 44 45Mvrasn-DataTypes-1 46 47DEFINITIONS 48 49::= 50 51BEGIN 52 53IMPORTS 54-- imports upper boundaries for data types 55 56 maxNumberOfTeleServices, 57 maxNumberOfBearerServices, 58 maxNumberOfSupplServices, 59 maxNumberOfCUG, 60 maxNumberOfForwardingFeatures, 61 maxNumberOfCallBarringFeatures, 62 maxNumberOfHlrId, 63 maxAddressLength, 64 maxNumberOfSentParameters 65FROM Mvrasn-Constants-1 66 67; 68 69 70-- ========================================================= 71-- 72-- NOTE: 73-- 74-- The data type "SendParameterArg" and "ResetArg" are not given in the 75-- original GSM 09.02 v. 3.11.0 standard, but have been 76-- introduced here for two reasons: 77-- 78-- 1. In the OPERATION MACRO "SendParameters" is a PARAMETER (=ARGument) and 79-- a RESULT defined. The ASN.1 en/decoder is not able to handle 80-- the MACRO definition. Therefore, the new data type has been 81-- introduced 82-- 83-- 2. To align the documentation of the ASN.1 data types in 84-- GSM 09.02 v. 3.11.0 with those of GSM 09.02 v. 6.1.0. 85-- 86-- ========================================================= 87 88SendParametersArg ::= SEQUENCE { 89 subscriberId SubscriberId, 90 requestParameters RequestParameters 91 } 92 93ResetArg ::= SEQUENCE { 94 networkResource NetworkResource, 95 originatingEntityNumber IsdnAddressString, 96 hlrId HlrList OPTIONAL 97 } 98 99 100-- common data types 101 102SentParameters ::= SEQUENCE 103 SIZE(1..maxNumberOfSentParameters) 104 OF SentParameter 105 106 107TBCD-STRING ::= OCTET STRING 108 -- digits 0 through 9, two digits per octet, 109 -- each digit encoded 0000 to 1001, 110 -- 1111 used as filler when there is an odd number of digit. 111 112 113AddressString ::= OCTET STRING (SIZE (1..maxAddressLength)) 114 -- see internal description in section 6.4.1 115 116IsdnAddressString ::= AddressString (SIZE (1..10)) 117 118IMSI ::= TBCD-STRING (SIZE (2..8)) 119 -- MCC, MNC, MSIN concatenated in this order 120 121TMSI ::= OCTET STRING (SIZE (1..4)) 122 123 124SubscriberId ::= CHOICE { 125 imsi [0] IMPLICIT IMSI, 126 tmsi [1] IMPLICIT TMSI} 127 128 129-- data types for numbering and identification 130 131HlrId ::= IMSI 132 -- leading digits of IMSI 133 134HlrList ::= SEQUENCE 135 SIZE(1.. maxNumberOfHlrId) 136 OF HlrId 137 138 139-- data types for subscriber management 140 141-- 142Category ::= OCTET STRING (SIZE (1)) 143 -- internal structure defined in CCITT Rec Q.763 144 145BearerServiceCode ::= OCTET STRING (SIZE (1)) 146 -- Internal structure according to table 6.4/1 147 -- BIT 8 Transparency indicator (if applicable) 148 -- 0 transparent 149 -- 1 non transparent 150 151 -- BIT 7654 Bearer service group 152 -- 0001 3.1 kHz ex PLMN 153 -- 0010 Circuit data asynchronous 154 -- 0011 Circuit data synchronous 155 -- 0100 PAD access c.d.a 156 -- 0101 Packet data synchrounous 157 -- 0110 Alternate speech/c.d.a 158 -- 0111 Alternate speech c.d.s 159 -- 1000 Speech followed by data c.d.a 160 -- 1001 Speech followed by data c.d.s 161 -- 1111 12.6 kb/s unrestricted digital 162 163 -- BIT 321 Rate (when applicable) 164 -- 000 Any 165 -- 001 300-300 b/s 166 -- 010 1200-1200 b/s 167 -- 011 1200-75 b/s 168 -- 100 2400-2400 b/s 169 -- 101 4800-4800 b/s 170 -- 110 9600-9600 b/s 171 172 173 -- Bits 321 = 000 can be used to refer to all 174 -- the bearer services of the corresponding group. 175 -- Value "00000000" can be used to refer to all the defined 176 -- bearer services. 177 -- For the codes referring to a group or all bearer services 178 -- the Transparency Indicator is not applicable and has to be set to "0" 179 180 181BearerServiceList ::= SEQUENCE 182 SIZE(1 .. maxNumberOfBearerServices) 183 OF BearerServiceCode 184 185 186TeleserviceCode ::= OCTET STRING (SIZE (1)) 187 -- Internal structure according to table 6.4/2 188 -- Bit 8-5 encode the teleservice group 189 190 -- Bit 4-1 = 0000 can be used to refer to all the 191 -- teleservices of the corresponding group. 192 -- Value "00000000" can be used to refer to all the defined 193 -- teleservices 194 195TeleserviceList ::= SEQUENCE 196 SIZE(1 .. maxNumberOfTeleServices) 197 OF TeleserviceCode 198 199 200BasicServiceCode ::= CHOICE { 201 bearerService [2] IMPLICIT BearerServiceCode, 202 teleservice [3] IMPLICIT TeleserviceCode} 203 204-- 205SubscriberStatus ::= ENUMERATED{ 206 serviceGranted (0), 207 operatorOGCallBarring (1)} 208 209 -- Data types for supplementary services 210 211SS-Code ::= OCTET STRING (SIZE(1)) 212 -- Internal structure according to 213 -- table 6.4/3 214 -- Bit 8-5 215 -- 0001 Number Identification services 216 -- 0010 Forwarding services 217 -- 0011 Call offering services 218 -- 0100 Call completion services 219 -- 0101 Multi-party services 220 -- 0110 Community of interest services 221 -- 0111 Charging services 222 -- 1000 Additional information transfer services 223 -- 1001 Call restriction services 224 -- Bit 4-1 = 0000 can be use to refer to 225 -- a group of supplementary services 226 -- eg, "00100000" can be used to refer to all 227 -- forwarding services 228 -- "00101000" can be used to refer to all 229 -- conditional forwarding services 230 -- "00000000" can be used to refer to all 231 -- supplementary services 232 233SS-Status ::= OCTET STRING (SIZE (1)) 234 -- Bit 8-4 Unused 235 -- Bit 3 Provision indicator 236 -- 0 : Not provisioned 237 -- 1 : Provisioned 238 -- Bit 2 Registration indicator (if applicable) 239 -- 0 : Not Registered 240 -- 1 : Registered 241 -- Bit 1 Activation indicator (If applicable) 242 -- 0 : Not Active 243 -- 1 : Active 244 245SS-Information ::= CHOICE{ 246 forwardingInfo [0] IMPLICIT ForwardingInfo, 247 callBarringInfo [1] IMPLICIT CallBarringInfo, 248 cug-Information [2] IMPLICIT CUG-Information, 249 ss-Data [3] IMPLICIT SS-Data} 250 251SS-InfoList ::= SEQUENCE 252 SIZE(1 .. maxNumberOfSupplServices) 253 OF SS-Information 254 255 256-- 257SS-Data ::= SEQUENCE{ 258 ss-Code SS-Code, 259 ss-Status [4] IMPLICIT SS-Status OPTIONAL, 260 ss-SubscriptionOption SS-SubscriptionOption OPTIONAL} 261 262SS-SubscriptionOption ::= CHOICE{ 263 perCallBasis [5] IMPLICIT BOOLEAN, 264 notificationToHeldRetrievedParty [6] IMPLICIT BOOLEAN, 265 userToUserServiceIndicator [7] IMPLICIT UserToUserServiceIndicator, 266 maximumConfereesNumber [8] IMPLICIT MaximumConfereesNumber, 267 huntGroupAccessSelectionOrder [9] IMPLICIT HuntGroupAccessSelectionOrder} 268 269 270 271ForwardingOptions ::= OCTET STRING (SIZE(1)) 272 -- Bit 8-7 Notification to forwarding party 273 -- 00 No notification 274 -- 01 notification with calling number identity 275 -- 10 notification without calling number identity 276 -- Bit 6-5 Notification to calling party 277 -- 00 No notification 278 -- 01 Notification with forwarded-to number 279 -- 10 Notification without forwarded-to number 280 281 282UserToUserServiceIndicator ::= OCTET STRING (SIZE(1)) 283 -- Bit 8 : service 1 284 -- Bit 7 : service 2 285 -- Bit 6 : service 3 286 -- Bit 5-1 : Reserved 287 -- Bit 8 to 6 coded "1" if the service 288 -- is available to the subscriber 289 290 291MaximumConfereesNumber ::= INTEGER (1..10) 292 293 294 295HuntGroupAccessSelectionOrder ::= ENUMERATED{ 296 random (0), 297 sequential (1)} 298 299 300NoReplyConditionTime ::= INTEGER (5..30) 301 302 303CUG-Facilities ::= OCTET STRING (SIZE (1)) 304 -- Bit 8-3 000000 (Unused) 305 -- Bit 2-1 306 -- 00 CUG only facilities 307 -- 01 CUG with outgoing access 308 -- 10 CUG with incoming access 309 -- 11 CUG with both outgoing and incoming access 310 311CUG-Interlock ::= OCTET STRING (SIZE (4)) 312 -- Internal structure defined in Rec CCITT Q.763 313 314CUG-Index ::= OCTET STRING (SIZE (1)) 315 -- Internal structure defined in Rec CCITT Q.763 316 317CUG-Options ::= OCTET STRING (SIZE (1)) 318 -- BIT 8-4 00000 (Unused) 319 -- BIT 3 preferential CUG indicator 320 -- 0 no preferential 321 -- 1 preferential CUG 322 -- BIT 2 barring of incoming calls within the CUG 323 -- 0 no barring 324 -- 1 barring 325 -- BIT 1 barring of outgoing calls within the CUG 326 -- 0 no barring 327 -- 1 barring 328 329CUG-Feature ::= SEQUENCE { 330 cug-interlock CUG-Interlock, 331 cug-Index CUG-Index, 332 cug-Options CUG-Options, 333 ss-Status SS-Status} 334 335 336CUG-FeatureList ::= SEQUENCE SIZE ( 337 1..maxNumberOfCUG) OF CUG-Feature 338 339 340-- ========================================================= 341-- 342-- EEDKBU: 343-- 344-- The original CUG-Information data type has been: 345-- 346-- ------------------ 347-- 348-- CUG-Information ::= SEQUENCE{ 349-- cug-Facilities CUG-Facilities, 350-- CHOICE{ 351-- cug-Feature [0] IMPLICIT CUG-Feature, 352-- cug-FeatureList [1] IMPLICIT CUG-FeatureList}} 353 -- the first alternative of the choice should be used 354 -- for the preferred CUG. 355-- 356-- ------------------ 357-- 358-- This is incorrect ASN.1 notation! The CHOICE has also to be a named 359-- type. Therefore, the definition was changed and can be seen below: 360-- 361-- ========================================================= 362 363 364CUG-Information ::= SEQUENCE{ 365 cug-Facilities CUG-Facilities, 366 cug-FeatureChoice CHOICE{ 367 cug-Feature [0] IMPLICIT CUG-Feature, 368 cug-FeatureList [1] IMPLICIT CUG-FeatureList}} 369 -- the first alternative of the choice should be used 370 -- for the preferred CUG. 371 372-- 373ForwardingInfo ::= SEQUENCE{ 374 ss-Code SS-Code OPTIONAL, 375 forwardingFeatureList ForwardingFeatureList} 376 377ForwardingFeature ::= SEQUENCE { 378 basicService BasicServiceCode OPTIONAL, 379 ss-Status [4] IMPLICIT SS-Status, 380 forwardedToNumber [5] IMPLICIT IsdnAddressString OPTIONAL, 381 forwardingOptions [6] IMPLICIT ForwardingOptions OPTIONAL, 382 noReplyConditionTime [7] IMPLICIT NoReplyConditionTime OPTIONAL} 383 384ForwardingFeatureList ::= SEQUENCE SIZE (1.. maxNumberOfForwardingFeatures) 385 OF ForwardingFeature 386 387CallBarringInfo ::= SEQUENCE { 388 ss-Code SS-Code, 389 callBarringFeatureList CallBarringFeatureList} 390 391CallBarringFeature ::= SEQUENCE{ 392 basicServiceCode BasicServiceCode OPTIONAL, 393 ss-Status [4] IMPLICIT SS-Status } 394 395CallBarringFeatureList ::= SEQUENCE SIZE (1.. maxNumberOfCallBarringFeatures) 396OF CallBarringFeature 397 398SubscriberData ::= SEQUENCE{ 399 msIsdn [1] IMPLICIT IsdnAddressString OPTIONAL, 400 category [2] IMPLICIT Category OPTIONAL, 401 subscriberStatus [3] IMPLICIT SubscriberStatus OPTIONAL, 402 bearerServiceList [4] IMPLICIT BearerServiceList OPTIONAL, 403 teleserviceList [6] IMPLICIT TeleserviceList OPTIONAL, 404 provisonedSupplServices [7] IMPLICIT SS-InfoList OPTIONAL} 405 406-- Data types for security procedures 407 408AuthenticationSet ::= SEQUENCE { 409 rand Rand, 410 sres Sres, 411 kc Kc} 412 413 414Rand ::= OCTET STRING (SIZE (16)) 415 416Sres ::= OCTET STRING (SIZE (4)) 417 418Kc ::= OCTET STRING (SIZE (8)) 419 420Ki ::= OCTET STRING (SIZE (16)) 421 422 423-- Data types for fault recovery, call tracing 424 425NetworkResource ::= ENUMERATED { 426 pLMN (0), 427 hLR (1), 428 vLR (2), 429 previous-VLR (3), 430 controlling-MSC (4), 431 vMSC (5), 432 eIR (6), 433 radioSubSystem (7)} 434 435 436-- other data types 437 438RequestParameter ::= ENUMERATED{ 439 request-IMSI (0), 440 request-AuthenticationSet (1), 441 request-SubscriberData (2), 442 request-CUG-Information (3), 443 request-Ki (4)} 444 445RequestParameters ::= SEQUENCE SIZE (1..2) OF RequestParameter 446 447SentParameter ::= CHOICE{ 448 imsi [0] IMPLICIT IMSI, 449 authenticationSet [1] IMPLICIT AuthenticationSet, 450 subscriberData [2] IMPLICIT SubscriberData, 451 cug-information [3] IMPLICIT CUG-Information, 452 ki [4] IMPLICIT Ki} 453 454END 455