erlang
/
osmo-map-masq
Archived
6
0
Fork 0
This repository has been archived on 2022-03-30. You can view files and clone it, but cannot push or open issues or pull requests.
osmo-map-masq/asn/wireshark/GSMMAP.asn

618 lines
17 KiB
Groff

-- 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
-- $Id: GSMMAP.asn 31404 2010-01-01 22:29:28Z etxrab $
GSMMAP{ 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
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)}
;
-- 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),
performHandover (28),
sendEndSignal (29),
performSubsequentHandover (30),
provideSIWFSNumber (31),
sIWFSSignallingModify (32),
processAccessSignalling (33),
forwardAccessSignalling (34),
noteInternalHandover (35),
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),
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),
provideSubscriberLocation (83),
sendGroupCallInfo (84),
sendRoutingInfoForLCS (85),
subscriberLocationReport (86),
ist-Alert (87),
ist-Command (88),
noteMM-Event (89),
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{
systemFailure (34),
dataMissing (35),
unexpectedDataValue (36),
facilityNotSupported (21),
incompatibleTerminal (28),
resourceLimitation (51),
unknownSubscriber (1),
numberChanged (44),
unknownMSC (3),
unidentifiedSubscriber (5),
unknownEquipment (7),
roamingNotAllowed (8),
illegalSubscriber (9),
illegalEquipment (12),
bearerServiceNotProvisioned (10),
teleserviceNotProvisioned (11),
noHandoverNumberAvailable (25),
subsequentHandoverFailure (26),
targetCellOutsideGroupCallArea (42),
tracingBufferFull (40),
noRoamingNumberAvailable (39),
absentSubscriber (27),
busySubscriber (45),
noSubscriberReply (46),
callBarred (13),
forwardingViolation (14),
forwardingFailed (47),
cug-Reject (15),
or-NotAllowed (48),
ati-NotAllowed (49),
atsi-NotAllowed (60),
atm-NotAllowed (61),
informationNotAvailabl (62),
illegalSS-Operation (16),
ss-ErrorStatus (17),
ss-NotAvailable (18),
ss-SubscriptionViolatio (19),
ss-Incompatibility (20),
unknownAlphabe (71),
ussd-Busy (72),
pw-RegistrationFailur (37),
negativePW-Check (38),
numberOfPW-AttemptsViolation (43),
shortTermDenial (29),
longTermDenial (30),
subscriberBusyForMT-SMS (31),
sm-DeliveryFailure (32),
messageWaitingListFull (33),
absentSubscriberSM (6),
noGroupCallNumberAvailable (50),
unauthorizedRequestingNetwork (52),
unauthorizedLCSClient (53),
positionMethodFailure (54),
unknownOrUnreachableLCSClient (58),
mm-EventNotSupported (59),
secureTransportError (4)
}
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 MapRAND,
sres MapSRES,
kc MapKc,
... }
MapRAND ::= OCTET STRING (SIZE (16))
MapSRES ::= OCTET STRING (SIZE (4))
MapKc ::= OCTET STRING (SIZE (8))
SendIdentificationResV2 ::= SEQUENCE {
imsi IMSI OPTIONAL,
tripletList TripletListold OPTIONAL,
...}
TripletListold ::= SEQUENCE SIZE (1..5) OF
AuthenticationTriplet-v2
AuthenticationTriplet-v2 ::= SEQUENCE {
rand MapRAND,
sres MapSRES,
kc MapKc,
...}
--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,
... }
END