-- Expanded ASN1 Module 'MAP-Protocol' --SIEMENS ASN.1 Compiler R5.70 (Production_5.70) -- Date: 2003-09-04 Time: 14:14:00 -- Updated to version 3GPP TS 29.002 V7.5.0 (2006-09) Release 7 -- Partially from ETS 300 599: December 2000 (GSM 09.02 version 4.19.1) DummyMAP{ 0 identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-Protocol (4) version5 (5) } DEFINITIONS IMPLICIT TAGS ::= BEGIN -- Must import data types for the "old" asn1 defs collected here. IMPORTS AddressString, BasicServiceCode, ExternalSignalInfo, GlobalCellId, ISDN-AddressString, IMSI, IMSI-WithLMSI, LMSI, ProtocolId, SignalInfo, TeleserviceCode, SubscriberIdentity FROM MAP-CommonDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CommonDataTypes (18) version11 (11)} ExtensionContainer FROM MAP-ExtensionDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version11 (11)} CUG-CheckInfo, NumberOfForwarding, RoutingInfo FROM MAP-CH-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CH-DataTypes (13) version11 (11)} CUG-Interlock, SubscriberData, AuthenticationSetList FROM MAP-MS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-MS-DataTypes (11) version15 (15)} CorrelationID, SM-DeliveryNotIntended, SM-RP-MTI, SM-RP-SMEA FROM MAP-SM-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-SM-DataTypes (16) version15 (15)} ; -- ROS def's -- Module Remote-Operations-Apdus (H.450.1:02/1998) --Remote-Operations-Apdus {itu-t recommendation h 450 1 version1(0) -- remote-operations-apdus(11)} DEFINITIONS AUTOMATIC TAGS ::= --BEGIN Component ::= CHOICE { invoke [1] Invoke, returnResultLast [2] ReturnResult, returnError [3] ReturnError, reject [4] Reject, -- TCAP adds returnResultNotLast to allow for the segmentation of a result. returnResultNotLast [7] ReturnResult } Invoke ::= SEQUENCE { invokeID InvokeIdType, linkedID [0] InvokeIdType OPTIONAL, opCode MAP-OPERATION, invokeparameter InvokeParameter OPTIONAL } InvokeParameter ::= ANY -- ANY is filled by the single ASN.1 data type following the keyword PARAMETER or the keyword ARGUMENT -- in the type definition of a particular operation. ReturnResult ::= SEQUENCE { invokeID InvokeIdType, resultretres SEQUENCE { opCode MAP-OPERATION, returnparameter ReturnResultParameter OPTIONAL } OPTIONAL } ReturnResultParameter ::= ANY -- ANY is filled by the single ASN.1 data type following the keyword RESULT in the type definition -- of a particular operation. ReturnError ::= SEQUENCE { invokeID InvokeIdType, errorCode MAP-ERROR, parameter ReturnErrorParameter OPTIONAL } ReturnErrorParameter ::= ANY -- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition -- of a particular error. Reject ::= SEQUENCE { invokeIDRej CHOICE { derivable InvokeIdType, not-derivable NULL }, problem CHOICE { generalProblem [0] GeneralProblem, invokeProblem [1] InvokeProblem, returnResultProblem [2] ReturnResultProblem, returnErrorProblem [3] ReturnErrorProblem } } InvokeIdType ::= INTEGER (-128..127) MAP-OPERATION ::= CHOICE { localValue OperationLocalvalue, globalValue OBJECT IDENTIFIER } GSMMAPOperationLocalvalue ::= INTEGER{ updateLocation (2), cancelLocation (3), provideRoamingNumber (4), noteSubscriberDataModified (5), resumeCallHandling (6), insertSubscriberData (7), deleteSubscriberData (8), sendParameters (9), registerSS (10), eraseSS (11), activateSS (12), deactivateSS (13), interrogateSS (14), authenticationFailureReport (15), notifySS (16), registerPassword (17), getPassword (18), processUnstructuredSS-Data (19), releaseResources (20), mt-ForwardSM-VGCS (21), sendRoutingInfo (22), updateGprsLocation (23), sendRoutingInfoForGprs (24), failureReport (25), noteMsPresentForGprs (26), unAllocated (27), performHandover (28), sendEndSignal (29), performSubsequentHandover (30), provideSIWFSNumber (31), sIWFSSignallingModify (32), processAccessSignalling (33), forwardAccessSignalling (34), noteInternalHandover (35), cancelVcsgLocation (36), reset (37), forwardCheckSS (38), prepareGroupCall (39), sendGroupCallEndSignal (40), processGroupCallSignalling (41), forwardGroupCallSignalling (42), checkIMEI (43), mt-forwardSM (44), sendRoutingInfoForSM (45), mo-forwardSM (46), reportSM-DeliveryStatus (47), noteSubscriberPresent (48), alertServiceCentreWithoutResult (49), activateTraceMode (50), deactivateTraceMode (51), traceSubscriberActivity (52), updateVcsgLocation (53), beginSubscriberActivity (54), sendIdentification (55), sendAuthenticationInfo (56), restoreData (57), sendIMSI (58), processUnstructuredSS-Request (59), unstructuredSS-Request (60), unstructuredSS-Notify (61), anyTimeSubscriptionInterrogation (62), informServiceCentre (63), alertServiceCentre (64), anyTimeModification (65), readyForSM (66), purgeMS (67), prepareHandover (68), prepareSubsequentHandover (69), provideSubscriberInfo (70), anyTimeInterrogation (71), ss-InvocationNotification (72), setReportingState (73), statusReport (74), remoteUserFree (75), registerCC-Entry (76), eraseCC-Entry (77), secureTransportClass1 (78), secureTransportClass2 (79), secureTransportClass3 (80), secureTransportClass4 (81), unAllocated (82), provideSubscriberLocation (83), sendGroupCallInfo (84), sendRoutingInfoForLCS (85), subscriberLocationReport (86), ist-Alert (87), ist-Command (88), noteMM-Event (89), unAllocated (90), unAllocated (91), unAllocated (92), unAllocated (93), unAllocated (94), unAllocated (95), unAllocated (96), unAllocated (97), unAllocated (98), unAllocated (99), unAllocated (100), unAllocated (101), unAllocated (102), unAllocated (103), unAllocated (104), unAllocated (105), unAllocated (106), unAllocated (107), unAllocated (108), lcs-PeriodicLocationCancellation (109), lcs-LocationUpdate (110), lcs-PeriodicLocationRequest (111), lcs-AreaEventCancellation (112), lcs-AreaEventReport (113), lcs-AreaEventRequest (114), lcs-MOLR (115), lcs-LocationNotification (116), callDeflection (117), userUserService (118), accessRegisterCCEntry (119), forwardCUG-Info (120), splitMPTY (121), retrieveMPTY (122), holdMPTY(123), buildMPTY (124), forwardChargeAdvice(125), explicitCT (126) } OperationLocalvalue ::= GSMMAPOperationLocalvalue MAP-ERROR ::= CHOICE { localValue LocalErrorcode, globalValue OBJECT IDENTIFIER } GSMMAPLocalErrorcode ::= INTEGER{ unknownSubscriber (1), unknownBaseStation (2), unknownMSC (3), secureTransportError (4), unidentifiedSubscriber (5), absentSubscriberSM (6), unknownEquipment (7), roamingNotAllowed (8), illegalSubscriber (9), bearerServiceNotProvisioned (10), teleserviceNotProvisioned (11), illegalEquipment (12), callBarred (13), forwardingViolation (14), cug-Reject (15), illegalSS-Operation (16), ss-ErrorStatus (17), ss-NotAvailable (18), ss-SubscriptionViolatio (19), ss-Incompatibility (20), facilityNotSupported (21), ongoingGroupCall (22), invalidTargetBaseStation (23), noRadioResourceAvailable (24), noHandoverNumberAvailable (25), subsequentHandoverFailure (26), absentSubscriber (27), incompatibleTerminal (28), shortTermDenial (29), longTermDenial (30), subscriberBusyForMT-SMS (31), sm-DeliveryFailure (32), messageWaitingListFull (33), systemFailure (34), dataMissing (35), unexpectedDataValue (36), pw-RegistrationFailur (37), negativePW-Check (38), noRoamingNumberAvailable (39), tracingBufferFull (40), targetCellOutsideGroupCallArea (42), numberOfPW-AttemptsViolation (43), numberChanged (44), busySubscriber (45), noSubscriberReply (46), forwardingFailed (47), or-NotAllowed (48), ati-NotAllowed (49), noGroupCallNumberAvailable (50), resourceLimitation (51), unauthorizedRequestingNetwork (52), unauthorizedLCSClient (53), positionMethodFailure (54), unknownOrUnreachableLCSClient (58), mm-EventNotSupported (59), atsi-NotAllowed (60), atm-NotAllowed (61), informationNotAvailabl (62), unknownAlphabe (71), ussd-Busy (72) } LocalErrorcode ::= GSMMAPLocalErrorcode -- PROBLEMS GeneralProblem ::= INTEGER { unrecognizedComponent (0), mistypedComponent (1), badlyStructuredComponent (2) } InvokeProblem ::= INTEGER { duplicateInvokeID (0), unrecognizedOperation (1), mistypedParameter (2), resourceLimitation (3), initiatingRelease (4), unrecognizedLinkedID (5), linkedResponseUnexpected (6), unexpectedLinkedOperation (7) } ReturnResultProblem ::= INTEGER { unrecognizedInvokeID (0), returnResultUnexpected (1), mistypedParameter (2) } ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0), returnErrorUnexpected (1), unrecognizedError (2), unexpectedError (3), mistypedParameter (4) } --END Bss-APDU ::= SEQUENCE { protocolId ProtocolId, signalInfo SignalInfo, extensionContainer ExtensionContainer OPTIONAL, ... } --provideSIWFSNumber OPERATION -- ARGUMENT ProvideSIWFSNumberArg ::= SEQUENCE { gsm-BearerCapability [0] ExternalSignalInfo, isdn-BearerCapability [1] ExternalSignalInfo, call-Direction [2] CallDirection, b-Subscriber-Address [3] ISDN-AddressString, chosenChannel [4] ExternalSignalInfo, lowerLayerCompatibility [5] ExternalSignalInfo OPTIONAL, highLayerCompatibility [6] ExternalSignalInfo OPTIONAL, extensionContainer [7] ExtensionContainer OPTIONAL, ...} -- RESULT ProvideSIWFSNumberRes ::= SEQUENCE { sIWFSNumber [0] ISDN-AddressString, extensionContainer [1] ExtensionContainer OPTIONAL, ...} -- ERRORS { -- resourceLimitation localValue : 51, -- dataMissing localValue : 35, -- unexpectedDataValue localValue : 36, -- systemFailure localValue : 34} -- ::= localValue : 31 CallDirection ::= OCTET STRING (SIZE (1)) -- OCTET 1 -- bit 1 (direction of call) -- 0 Mobile Originated Call (MOC) -- 1 Mobile Terminated Call (MTC) PurgeMSArgV2 ::= SEQUENCE { imsi IMSI, vlr-Number ISDN-AddressString OPTIONAL, ... } PrepareHO-ArgOld ::= SEQUENCE { targetCellId GlobalCellId OPTIONAL, ho-NumberNotRequired NULL OPTIONAL, bss-APDU Bss-APDU OPTIONAL, ... } PrepareHO-ResOld ::= SEQUENCE { handoverNumber ISDN-AddressString OPTIONAL, bss-APDU Bss-APDU OPTIONAL, ... } SendAuthenticationInfoResOld ::= SEQUENCE ( SIZE( 1 .. 5 ) ) OF SEQUENCE { rand RAND, sres SRES, kc Kc, ... } RAND ::= OCTET STRING (SIZE (16)) SRES ::= OCTET STRING (SIZE (4)) Kc ::= OCTET STRING (SIZE (8)) SendIdentificationResV2 ::= SEQUENCE { imsi IMSI OPTIONAL, tripletList TripletListold OPTIONAL, ...} TripletListold ::= SEQUENCE SIZE (1..5) OF AuthenticationTriplet-v2 AuthenticationTriplet-v2 ::= SEQUENCE { rand RAND, sres SRES, kc Kc, ...} --sIWFSSignallingModify OPERATION -- ARGUMENT SIWFSSignallingModifyArg ::= SEQUENCE { channelType [0] ExternalSignalInfo OPTIONAL, chosenChannel [1] ExternalSignalInfo OPTIONAL, extensionContainer [2] ExtensionContainer OPTIONAL, ...} -- RESULT SIWFSSignallingModifyRes ::= SEQUENCE { channelType [0] ExternalSignalInfo OPTIONAL, extensionContainer [1] ExtensionContainer OPTIONAL, ... } -- ERRORS { -- resourceLimitation localValue : 51, -- dataMissing localValue : 35, -- unexpectedDataValue localValue : 36, -- systemFailure localValue : 34} -- ::= localValue : 32 -- not used -- Ccbs-Monitoring ::= ENUMERATED { -- stopMonitoring ( 0 ), -- startMonitoring ( 1 ), -- ... } --setReportingState OPERATION -- ARGUMENT NewPassword ::= NumericString (SIZE( 4 ) ) -- ERRORS { -- systemFailure localValue : 34, -- dataMissing localValue : 35, -- unexpectedDataValue localValue : 36, -- callBarred localValue : 13, -- ss-SubscriptionViolation localValue : 19, -- pw-RegistrationFailure localValue : 37, -- negativePW-Check localValue : 38, -- numberOfPW-AttemptsViolation localValue : 43} --LINKED { -- getPassword localValue : 18} -- ::= localValue : 17 --getPassword OPERATION -- ARGUMENT -- GetPasswordArg is GuidanceInfo GetPasswordArg ::= ENUMERATED { enterPW ( 0 ), enterNewPW ( 1 ), enterNewPW-Again ( 2 ) } -- RESULT CurrentPassword ::= NumericString (SIZE( 4 ) ) -- ::= localValue : 18 --registerCC-Entry OPERATION -- ARGUMENT SecureTransportArg ::= SEQUENCE { securityHeader SecurityHeader, protectedPayload ProtectedPayload OPTIONAL } SecureTransportErrorParam ::= SEQUENCE { securityHeader SecurityHeader, protectedPayload ProtectedPayload OPTIONAL } -- The protectedPayload carries the result of applying the security function -- defined in 3GPP TS 33.200 to the encoding of the argument of the securely -- transported operation SecureTransportRes ::= SEQUENCE { securityHeader SecurityHeader, protectedPayload ProtectedPayload OPTIONAL } -- The protectedPayload carries the result of applying the security function -- defined in 3GPP TS 33.200 to the encoding of the result of the securely -- transported operation SecurityHeader ::= SEQUENCE { securityParametersIndex SecurityParametersIndex, originalComponentIdentifier OriginalComponentIdentifier, initialisationVector InitialisationVector OPTIONAL, ...} ProtectedPayload ::= OCTET STRING(SIZE(1.. 3438)) -- In protection mode 0 (noProtection) the ProtectedPayload carries the transfer -- syntax value of the component parameter identified by the -- originalComponentIdentifier. -- In protection mode 1 (integrityAuthenticity) the protectedPayload carries -- the transfer syntax value of the component -- parameter identified by the originalComponentIdentifier, followed by -- the 32 bit integrity check value. -- The integrity check value is the result of applying the hash algorithm -- to the concatenation of the transfer syntax value of the SecurityHeader, -- and the transfer syntax value of the component parameter. -- In protection mode 2 (confidentialityIntegrityAuthenticity) the protected -- payload carries the encrypted transfer syntax -- value of the component parameter identified by the -- originalComponentIdentifier, followed by the 32 bit integrity check value. -- The integrity check value is the result of applying the hash algorithm -- to the concatenation of the transfer syntax value of the SecurityHeader, -- and the encrypted transfer syntax value of the component parameter. -- See 33.200. -- The length of the protectedPayload is adjusted according to the capabilities of -- the lower protocol layers SecurityParametersIndex ::= OCTET STRING (SIZE(4)) InitialisationVector ::= OCTET STRING (SIZE(14)) -- the internal structure is defined as follows: -- Octets 1 to 4 : TVP. The TVP is a 32 bit time stamp. Its value is binary coded -- and indicates the number of intervals of 100 milliseconds -- elapsed since 1st January 2002, 0:00:00 UTC -- Octets 5 to 10: NE-Id. The NE-Id uniquely identifies the sending network entity -- within the PLMN. It is the entity's E.164 number without CC and -- NDC. It is TBCD-coded, padded with zeros. -- Octets 11 to 14: PROP. This 32 bit value is used to make the -- InitialisationVector unique within the same TVP period. -- The content is not standardized. OriginalComponentIdentifier ::= CHOICE { operationCode [0] OperationCode, errorCode [1] ErrorCode, userInfo [2] NULL} OperationCode ::= CHOICE { localValue INTEGER, globalValue OBJECT IDENTIFIER} ErrorCode ::= CHOICE { localValue INTEGER, globalValue OBJECT IDENTIFIER} --PLMN_Data -- Alcatel Specific extension container PlmnContainer ::= [PRIVATE 2] SEQUENCE { msisdn [0] ISDN-AddressString OPTIONAL, category [1] Category OPTIONAL, basicService BasicServiceCode OPTIONAL, operatorSS-Code [4] SEQUENCE ( SIZE( 1 .. 16 ) ) OF OCTET STRING ( SIZE ( 1 ) ) OPTIONAL, ... } Category ::= OCTET STRING (SIZE (1)) -- The internal structure is defined in ITU-T Rec Q.763. -- Special stuff from older spec's --ForwardSM OPERATION -- ARGUMENT ForwardSM-Arg ::= SEQUENCE { sm-RP-DA SM-RP-DAold, sm-RP-OA SM-RP-OAold, sm-RP-UI SignalInfo, moreMessagesToSend NULL OPTIONAL, ... } -- In fact, the 3GPP uses SignalInfo instead, but it is used for SMS content decoding --Sm-RP-UI ::= OCTET STRING ( SIZE( 1 .. 200 ) ) -- Must be locally defined as they are not exported from SM-datatypes SM-RP-DAold ::= CHOICE { imsi [0] IMSI, lmsi [1] LMSI, serviceCentreAddressDA [4] AddressString, noSM-RP-DA [5] NULL} SM-RP-OAold ::= CHOICE { msisdn [2] ISDN-AddressString, serviceCentreAddressOA [4] AddressString, noSM-RP-OA [5] NULL} -- Private extensions accessType-id OBJECT IDENTIFIER ::= {1 3 12 2 1107 3 66 1 1} --iso (1) --identified-organization (3) --ecma (12) --member-company (2) --siemens-units (1107) --oen (3) --mn (66) --proprietary-extensions (1) --accessType (1) accessTypeNotAllowed-id OBJECT IDENTIFIER ::= {1 3 12 2 1107 3 66 1 2} --iso (1) --identified-organization (3) --ecma (12) --member-company (2) --siemens-units (1107) --oen (3) --mn (66) --proprietary-extensions (1) --accessTypeNotAllowed (2) SendRoutingInfoArgV2 ::= SEQUENCE { msisdn [0] ISDN-AddressString, cug-CheckInfo [1] CUG-CheckInfo OPTIONAL, -- cug-CheckInfo must be absent in version 1 numberOfForwarding [2] NumberOfForwarding OPTIONAL, networkSignalInfo [10] ExternalSignalInfo OPTIONAL, ... } SendRoutingInfoResV2 ::= SEQUENCE { imsi IMSI, routingInfo RoutingInfo, cug-CheckInfo CUG-CheckInfo OPTIONAL, -- cug-CheckInfo must be absent in version 1 ... } -- Removed from SS-DataTypes.asn in Rel 9.0.0 BeginSubscriberActivityArg ::= SEQUENCE { imsi IMSI, originatingEntityNumber ISDN-AddressString, msisdn [PRIVATE 28] AddressString OPTIONAL, ... } RoutingInfoForSM-ArgV1 ::= SEQUENCE { msisdn [0] ISDN-AddressString, sm-RP-PRI [1] BOOLEAN, serviceCentreAddress [2] AddressString, -- WS specific change to be backwards compatible with phase 1 (See Bug 9704) cug-Interlock [3] CUG-Interlock OPTIONAL, teleserviceCode [5] TeleserviceCode OPTIONAL, -- END Ws specific change --extensionContainer [6] ExtensionContainer OPTIONAL, ... , --gprsSupportIndicator [7] NULL OPTIONAL, -- gprsSupportIndicator is set only if the SMS-GMSC supports -- receiving of two numbers from the HLR --sm-RP-MTI [8] SM-RP-MTI OPTIONAL, --sm-RP-SMEA [9] SM-RP-SMEA OPTIONAL, --sm-deliveryNotIntended [10] SM-DeliveryNotIntended OPTIONAL, --ip-sm-gwGuidanceIndicator [11] NULL OPTIONAL, imsi [12] IMSI OPTIONAL --, --t4-Trigger-Indicator [14] NULL OPTIONAL, --singleAttemptDelivery [13] NULL OPTIONAL, --correlationID [15] CorrelationID OPTIONAL } -- From ETS 300 599: December 2000 (GSM 09.02 version 4.19.1), clause 14.7.6 RoutingInfoForSM-ResV2::= SEQUENCE { imsi IMSI, locationInfoWithLMSI [0] LocationInfoWithLMSIv2, mwd-Set [2] BOOLEAN OPTIONAL, -- mwd-Set must be absent in version greater 1 ...} -- From ETS 300 599: December 2000 (GSM 09.02 version 4.19.1), clause 14.7.6 LocationInfoWithLMSIv2 ::= SEQUENCE { locationInfo LocationInfo, lmsi LMSI OPTIONAL, ...} -- From ETS 300 599: December 2000 (GSM 09.02 version 4.19.1), clause 14.7.6 LocationInfo ::= CHOICE { roamingNumber [0] ISDN-AddressString, -- roamingNumber must not be used in version greater 1 msc-Number [1] ISDN-AddressString} Ki ::= OCTET STRING (SIZE (16)) SendParametersArg ::= SEQUENCE { subscriberId SubscriberIdentity, requestParameterList RequestParameterList} RequestParameter ::= ENUMERATED { requestIMSI (0), requestAuthenticationSet (1), requestSubscriberData (2), requestKi (4)} RequestParameterList ::= SEQUENCE SIZE (1..2) OF RequestParameter SentParameter ::= CHOICE { imsi [0] IMSI, authenticationSet [1] AuthenticationSetList, subscriberData [2] SubscriberData, ki [4] Ki} maxNumOfSentParameter INTEGER ::= 6 -- This NamedValue corresponds to the maximum number of -- authentication set which may be returned by a HLR plus 1 SentParameterList ::= SEQUENCE SIZE (1..maxNumOfSentParameter) OF SentParameter sendParameters OPERATION ::= { ARGUMENT SendParametersArg RESULT SentParameterList -- optional -- nothing is returned, if no requested parameter is -- available or exists ERRORS { UnexpectedDataValue, UnknownSubscriber, UnidentifiedSubscriber} CODE local:9 } END