commit 6c79da0965e7dcb5ca4097a7b8d141acba947b4a Author: Harald Welte Date: Sat May 26 13:48:25 2018 +0200 Initial import from MAP_v10.6.0.zip diff --git a/src/MAP_ApplicationContexts.asn b/src/MAP_ApplicationContexts.asn new file mode 100644 index 0000000..230d0a5 --- /dev/null +++ b/src/MAP_ApplicationContexts.asn @@ -0,0 +1,194 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-ApplicationContexts { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ApplicationContexts (2) version13 (13)} + +DEFINITIONS + +::= + +BEGIN + + +-- EXPORTS everything + + +IMPORTS + gsm-NetworkId, + ac-Id +FROM MobileDomainDefinitions { + itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) + mobileDomainDefinitions (0) version1 (1)} +; + +-- application-context-names + +map-ac OBJECT IDENTIFIER ::= {gsm-NetworkId ac-Id} + +networkLocUpContext-v3 OBJECT IDENTIFIER ::= + {map-ac networkLocUp(1) version3(3)} + +locationCancellationContext-v3 OBJECT IDENTIFIER ::= + {map-ac locationCancel(2) version3(3)} + +roamingNumberEnquiryContext-v3 OBJECT IDENTIFIER ::= + {map-ac roamingNbEnquiry(3) version3(3)} + +authenticationFailureReportContext-v3 OBJECT IDENTIFIER ::= + {map-ac authenticationFailureReport(39) version3(3)} + +locationInfoRetrievalContext-v3 OBJECT IDENTIFIER ::= + {map-ac locInfoRetrieval(5) version3(3)} + +resetContext-v2 OBJECT IDENTIFIER ::= + {map-ac reset(10) version2(2)} + +handoverControlContext-v3 OBJECT IDENTIFIER ::= + {map-ac handoverControl(11) version3(3)} + +equipmentMngtContext-v3 OBJECT IDENTIFIER ::= + {map-ac equipmentMngt(13) version3(3)} + +infoRetrievalContext-v3 OBJECT IDENTIFIER ::= + {map-ac infoRetrieval(14) version3(3)} + +interVlrInfoRetrievalContext-v3 OBJECT IDENTIFIER ::= + {map-ac interVlrInfoRetrieval(15) version3(3)} + +subscriberDataMngtContext-v3 OBJECT IDENTIFIER ::= + {map-ac subscriberDataMngt(16) version3(3)} + +tracingContext-v3 OBJECT IDENTIFIER ::= + {map-ac tracing(17) version3(3)} + +networkFunctionalSsContext-v2 OBJECT IDENTIFIER ::= + {map-ac networkFunctionalSs(18) version2(2)} + +networkUnstructuredSsContext-v2 OBJECT IDENTIFIER ::= + {map-ac networkUnstructuredSs(19) version2(2)} + +shortMsgGatewayContext-v3 OBJECT IDENTIFIER ::= + {map-ac shortMsgGateway(20) version3(3)} + +shortMsgMO-RelayContext-v3 OBJECT IDENTIFIER ::= + {map-ac shortMsgMO-Relay(21) version3(3)} + +shortMsgAlertContext-v2 OBJECT IDENTIFIER ::= + {map-ac shortMsgAlert(23) version2(2)} + +mwdMngtContext-v3 OBJECT IDENTIFIER ::= + {map-ac mwdMngt(24) version3(3)} + +shortMsgMT-RelayContext-v3 OBJECT IDENTIFIER ::= + {map-ac shortMsgMT-Relay(25) version3(3)} + +shortMsgMT-Relay-VGCS-Context-v3 OBJECT IDENTIFIER ::= + {map-ac shortMsgMT-Relay-VGCS(41) version3(3)} + +imsiRetrievalContext-v2 OBJECT IDENTIFIER ::= + {map-ac imsiRetrieval(26) version2(2)} + +msPurgingContext-v3 OBJECT IDENTIFIER ::= + {map-ac msPurging(27) version3(3)} + +subscriberInfoEnquiryContext-v3 OBJECT IDENTIFIER ::= + {map-ac subscriberInfoEnquiry(28) version3(3)} + +anyTimeInfoEnquiryContext-v3 OBJECT IDENTIFIER ::= + {map-ac anyTimeInfoEnquiry(29) version3(3)} + +callControlTransferContext-v4 OBJECT IDENTIFIER ::= + {map-ac callControlTransfer(6) version4(4)} + +ss-InvocationNotificationContext-v3 OBJECT IDENTIFIER ::= + {map-ac ss-InvocationNotification(36) version3(3)} + +groupCallControlContext-v3 OBJECT IDENTIFIER ::= + {map-ac groupCallControl(31) version3(3)} + +groupCallInfoRetrievalContext-v3 OBJECT IDENTIFIER ::= + {map-ac groupCallInfoRetrieval(45) version3(3)} + +gprsLocationUpdateContext-v3 OBJECT IDENTIFIER ::= + {map-ac gprsLocationUpdate(32) version3(3)} + +gprsLocationInfoRetrievalContext-v4 OBJECT IDENTIFIER ::= + {map-ac gprsLocationInfoRetrieval(33) version4(4)} + +failureReportContext-v3 OBJECT IDENTIFIER ::= + {map-ac failureReport(34) version3(3)} + +gprsNotifyContext-v3 OBJECT IDENTIFIER ::= + {map-ac gprsNotify(35) version3(3)} + +reportingContext-v3 OBJECT IDENTIFIER ::= + {map-ac reporting(7) version3(3)} + +callCompletionContext-v3 OBJECT IDENTIFIER ::= + {map-ac callCompletion(8) version3(3)} + +istAlertingContext-v3 OBJECT IDENTIFIER ::= + {map-ac istAlerting(4) version3(3)} + +serviceTerminationContext-v3 OBJECT IDENTIFIER ::= + {map-ac immediateTermination(9) version3(3)} + +locationSvcGatewayContext-v3 OBJECT IDENTIFIER ::= + {map-ac locationSvcGateway(37) version3(3)} + +locationSvcEnquiryContext-v3 OBJECT IDENTIFIER ::= + {map-ac locationSvcEnquiry(38) version3(3)} + +mm-EventReportingContext-v3 OBJECT IDENTIFIER ::= + {map-ac mm-EventReporting(42) version3(3)} + +anyTimeInfoHandlingContext-v3 OBJECT IDENTIFIER ::= + {map-ac anyTimeInfoHandling(43) version3(3)} + +subscriberDataModificationNotificationContext-v3 OBJECT IDENTIFIER ::= + {map-ac subscriberDataModificationNotification(22) version3(3)} + +resourceManagementContext-v3 OBJECT IDENTIFIER ::= + {map-ac resourceManagement(44) version3(3)} + +-- The following Object Identifiers are reserved for application-contexts +-- existing in previous versions of the protocol + +-- AC Name & Version Object Identifier +-- +-- networkLocUpContext-v1 map-ac networkLocUp (1) version1 (1) +-- networkLocUpContext-v2 map-ac networkLocUp (1) version2 (2) +-- locationCancellationContext-v1 map-ac locationCancellation (2) version1 (1) +-- locationCancellationContext-v2 map-ac locationCancellation (2) version2 (2) +-- roamingNumberEnquiryContext-v1 map-ac roamingNumberEnquiry (3) version1 (1) +-- roamingNumberEnquiryContext-v2 map-ac roamingNumberEnquiry (3) version2 (2) +-- locationInfoRetrievalContext-v1 map-ac locationInfoRetrieval (5) version1 (1) +-- locationInfoRetrievalContext-v2 map-ac locationInfoRetrieval (5) version2 (2) +-- resetContext-v1 map-ac reset (10) version1 (1) +-- handoverControlContext-v1 map-ac handoverControl (11) version1 (1) +-- handoverControlContext-v2 map-ac handoverControl (11) version2 (2) +-- sIWFSAllocationContext-v3 map-ac sIWFSAllocation (12) version3 (3) +-- equipmentMngtContext-v1 map-ac equipmentMngt (13) version1 (1) +-- equipmentMngtContext-v2 map-ac equipmentMngt (13) version2 (2) +-- infoRetrievalContext-v1 map-ac infoRetrieval (14) version1 (1) +-- infoRetrievalContext-v2 map-ac infoRetrieval (14) version2 (2) +-- interVlrInfoRetrievalContext-v2 map-ac interVlrInfoRetrieval (15) version2 (2) +-- subscriberDataMngtContext-v1 map-ac subscriberDataMngt (16) version1 (1) +-- subscriberDataMngtContext-v2 map-ac subscriberDataMngt (16) version2 (2) +-- tracingContext-v1 map-ac tracing (17) version1 (1) +-- tracingContext-v2 map-ac tracing (17) version2 (2) +-- networkFunctionalSsContext-v1 map-ac networkFunctionalSs (18) version1 (1) +-- shortMsgGatewayContext-v1 map-ac shortMsgGateway (20) version1 (1) +-- shortMsgGatewayContext-v2 map-ac shortMsgGateway (20) version2 (2) +-- shortMsgRelayContext-v1 map-ac shortMsgRelay (21) version1 (1) +-- shortMsgAlertContext-v1 map-ac shortMsgAlert (23) version1 (1) +-- mwdMngtContext-v1 map-ac mwdMngt (24) version1 (1) +-- mwdMngtContext-v2 map-ac mwdMngt (24) version2 (2) +-- shortMsgMT-RelayContext-v2 map-ac shortMsgMT-Relay (25) version2 (2) +-- msPurgingContext-v2 map-ac msPurging (27) version2 (2) +-- callControlTransferContext-v3 map-ac callControlTransferContext (6) version3 (3) +-- gprsLocationInfoRetrievalContext-v3 map-ac gprsLocationInfoRetrievalContext (33) version3 (3) + + +END diff --git a/src/MAP_CH_DataTypes.asn b/src/MAP_CH_DataTypes.asn new file mode 100644 index 0000000..731c28f --- /dev/null +++ b/src/MAP_CH_DataTypes.asn @@ -0,0 +1,473 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-CH-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CH-DataTypes (13) version13 (13)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + SendRoutingInfoArg, + SendRoutingInfoRes, + ProvideRoamingNumberArg, + ProvideRoamingNumberRes, + ResumeCallHandlingArg, + ResumeCallHandlingRes, + NumberOfForwarding, + SuppressionOfAnnouncement, + CallReferenceNumber, + SetReportingStateArg, + SetReportingStateRes, + StatusReportArg, + StatusReportRes, + RemoteUserFreeArg, + RemoteUserFreeRes, + IST-AlertArg, + IST-AlertRes, + IST-CommandArg, +IST-CommandRes, +UU-Data, +ReleaseResourcesArg, +ReleaseResourcesRes +; + +IMPORTS + SubscriberInfo, + SupportedCamelPhases, + OfferedCamel4CSIs, + CUG-Interlock, + O-CSI, + D-CSI, + O-BcsmCamelTDPCriteriaList, + T-BCSM-CAMEL-TDP-CriteriaList, + IST-SupportIndicator, + IST-AlertTimerValue, + T-CSI, + NumberPortabilityStatus, + PagingArea +FROM MAP-MS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-MS-DataTypes (11) version13 (13)} + + ForwardingOptions, + SS-List, + CCBS-Feature +FROM MAP-SS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-DataTypes (14) version13 (13)} + + ISDN-AddressString, + ISDN-SubaddressString, + FTN-AddressString, + ExternalSignalInfo, + Ext-ExternalSignalInfo, + IMSI, + LMSI, + Ext-BasicServiceCode, + AlertingPattern, + NAEA-PreferredCI, + EMLPP-Priority +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version13 (13)} +; + + +CUG-CheckInfo ::= SEQUENCE { + cug-Interlock CUG-Interlock, + cug-OutgoingAccess NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +NumberOfForwarding ::= INTEGER (1..5) + +SendRoutingInfoArg ::= SEQUENCE { + msisdn [0] ISDN-AddressString, + cug-CheckInfo [1] CUG-CheckInfo OPTIONAL, + numberOfForwarding [2] NumberOfForwarding OPTIONAL, + interrogationType [3] InterrogationType, + or-Interrogation [4] NULL OPTIONAL, + or-Capability [5] OR-Phase OPTIONAL, + gmsc-OrGsmSCF-Address [6] ISDN-AddressString, + callReferenceNumber [7] CallReferenceNumber OPTIONAL, + forwardingReason [8] ForwardingReason OPTIONAL, + basicServiceGroup [9] Ext-BasicServiceCode OPTIONAL, + networkSignalInfo [10] ExternalSignalInfo OPTIONAL, + camelInfo [11] CamelInfo OPTIONAL, + suppressionOfAnnouncement [12] SuppressionOfAnnouncement OPTIONAL, + extensionContainer [13] ExtensionContainer OPTIONAL, + ..., + alertingPattern [14] AlertingPattern OPTIONAL, + ccbs-Call [15] NULL OPTIONAL, + supportedCCBS-Phase [16] SupportedCCBS-Phase OPTIONAL, + additionalSignalInfo [17] Ext-ExternalSignalInfo OPTIONAL, + istSupportIndicator [18] IST-SupportIndicator OPTIONAL, + pre-pagingSupported [19] NULL OPTIONAL, + callDiversionTreatmentIndicator [20] CallDiversionTreatmentIndicator OPTIONAL, + longFTN-Supported [21] NULL OPTIONAL, + suppress-VT-CSI [22] NULL OPTIONAL, + suppressIncomingCallBarring [23] NULL OPTIONAL, + gsmSCF-InitiatedCall [24] NULL OPTIONAL, + basicServiceGroup2 [25] Ext-BasicServiceCode OPTIONAL, + networkSignalInfo2 [26] ExternalSignalInfo OPTIONAL, + suppressMTSS [27] SuppressMTSS OPTIONAL, + mtRoamingRetrySupported [28] NULL OPTIONAL, + callPriority [29] EMLPP-Priority OPTIONAL + } + +SuppressionOfAnnouncement ::= NULL + +SuppressMTSS ::= BIT STRING { + suppressCUG (0), + suppressCCBS (1) } (SIZE (2..16)) + -- Other bits than listed above shall be discarded + +InterrogationType ::= ENUMERATED { + basicCall (0), + forwarding (1)} + +OR-Phase ::= INTEGER (1..127) + +CallReferenceNumber ::= OCTET STRING (SIZE (1..8)) + +ForwardingReason ::= ENUMERATED { + notReachable (0), + busy (1), + noReply (2)} + +SupportedCCBS-Phase ::= INTEGER (1..127) +-- exception handling: +-- Only value 1 is used. +-- Values in the ranges 2-127 are reserved for future use. +-- If received values 2-127 shall be mapped on to value 1. + +CallDiversionTreatmentIndicator ::= OCTET STRING (SIZE(1)) +-- callDiversionAllowed (xxxx xx01) +-- callDiversionNotAllowed (xxxx xx10) +-- network default is call diversion allowed + +SendRoutingInfoRes ::= [3] SEQUENCE { + imsi [9] IMSI OPTIONAL, + -- IMSI must be present if SendRoutingInfoRes is not segmented. + -- If the TC-Result-NL segmentation option is taken the IMSI must be + -- present in one segmented transmission of SendRoutingInfoRes. + extendedRoutingInfo ExtendedRoutingInfo OPTIONAL, + cug-CheckInfo [3] CUG-CheckInfo OPTIONAL, + cugSubscriptionFlag [6] NULL OPTIONAL, + subscriberInfo [7] SubscriberInfo OPTIONAL, + ss-List [1] SS-List OPTIONAL, + basicService [5] Ext-BasicServiceCode OPTIONAL, + forwardingInterrogationRequired [4] NULL OPTIONAL, + vmsc-Address [2] ISDN-AddressString OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ... , + naea-PreferredCI [10] NAEA-PreferredCI OPTIONAL, + -- naea-PreferredCI is included at the discretion of the HLR operator. + ccbs-Indicators [11] CCBS-Indicators OPTIONAL, + msisdn [12] ISDN-AddressString OPTIONAL, + numberPortabilityStatus [13] NumberPortabilityStatus OPTIONAL, + istAlertTimer [14] IST-AlertTimerValue OPTIONAL, + supportedCamelPhasesInVMSC [15] SupportedCamelPhases OPTIONAL, + offeredCamel4CSIsInVMSC [16] OfferedCamel4CSIs OPTIONAL, + routingInfo2 [17] RoutingInfo OPTIONAL, + ss-List2 [18] SS-List OPTIONAL, + basicService2 [19] Ext-BasicServiceCode OPTIONAL, + allowedServices [20] AllowedServices OPTIONAL, + unavailabilityCause [21] UnavailabilityCause OPTIONAL, + releaseResourcesSupported [22] NULL OPTIONAL, + gsm-BearerCapability [23] ExternalSignalInfo OPTIONAL + } + +AllowedServices ::= BIT STRING { + firstServiceAllowed (0), + secondServiceAllowed (1) } (SIZE (2..8)) + -- firstService is the service indicated in the networkSignalInfo + -- secondService is the service indicated in the networkSignalInfo2 + -- Other bits than listed above shall be discarded + +UnavailabilityCause ::= ENUMERATED { + bearerServiceNotProvisioned (1), + teleserviceNotProvisioned (2), + absentSubscriber (3), + busySubscriber (4), + callBarred (5), + cug-Reject (6), + ...} + -- exception handling: + -- Reception of other values than the ones listed shall result in the service + -- being unavailable for that call. + +CCBS-Indicators ::= SEQUENCE { + ccbs-Possible [0] NULL OPTIONAL, + keepCCBS-CallIndicator [1] NULL OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +RoutingInfo ::= CHOICE { + roamingNumber ISDN-AddressString, + forwardingData ForwardingData} + +ForwardingData ::= SEQUENCE { + forwardedToNumber [5] ISDN-AddressString OPTIONAL, + -- When this datatype is sent from an HLR which supports CAMEL Phase 2 + -- to a GMSC which supports CAMEL Phase 2 the GMSC shall not check the + -- format of the number + forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL, + forwardingOptions [6] ForwardingOptions OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ..., + longForwardedToNumber [8] FTN-AddressString OPTIONAL} + +ProvideRoamingNumberArg ::= SEQUENCE { + imsi [0] IMSI, + msc-Number [1] ISDN-AddressString, + msisdn [2] ISDN-AddressString OPTIONAL, + lmsi [4] LMSI OPTIONAL, + gsm-BearerCapability [5] ExternalSignalInfo OPTIONAL, + networkSignalInfo [6] ExternalSignalInfo OPTIONAL, + suppressionOfAnnouncement [7] SuppressionOfAnnouncement OPTIONAL, + gmsc-Address [8] ISDN-AddressString OPTIONAL, + callReferenceNumber [9] CallReferenceNumber OPTIONAL, + or-Interrogation [10] NULL OPTIONAL, + extensionContainer [11] ExtensionContainer OPTIONAL, + ... , + alertingPattern [12] AlertingPattern OPTIONAL, + ccbs-Call [13] NULL OPTIONAL, + supportedCamelPhasesInInterrogatingNode [15] SupportedCamelPhases OPTIONAL, + additionalSignalInfo [14] Ext-ExternalSignalInfo OPTIONAL, + orNotSupportedInGMSC [16] NULL OPTIONAL, + pre-pagingSupported [17] NULL OPTIONAL, + longFTN-Supported [18] NULL OPTIONAL, + suppress-VT-CSI [19] NULL OPTIONAL, + offeredCamel4CSIsInInterrogatingNode [20] OfferedCamel4CSIs OPTIONAL, + mtRoamingRetrySupported [21] NULL OPTIONAL, + pagingArea [22] PagingArea OPTIONAL, + callPriority [23] EMLPP-Priority OPTIONAL, + mtrf-Indicator [24] NULL OPTIONAL, + oldMSC-Number [25] ISDN-AddressString OPTIONAL + } + +ProvideRoamingNumberRes ::= SEQUENCE { + roamingNumber ISDN-AddressString, + extensionContainer ExtensionContainer OPTIONAL, + ..., + releaseResourcesSupported NULL OPTIONAL, + vmsc-Address ISDN-AddressString OPTIONAL } + +ResumeCallHandlingArg ::= SEQUENCE { + callReferenceNumber [0] CallReferenceNumber OPTIONAL, + basicServiceGroup [1] Ext-BasicServiceCode OPTIONAL, + forwardingData [2] ForwardingData OPTIONAL, + imsi [3] IMSI OPTIONAL, + cug-CheckInfo [4] CUG-CheckInfo OPTIONAL, + o-CSI [5] O-CSI OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ccbs-Possible [8] NULL OPTIONAL, + msisdn [9] ISDN-AddressString OPTIONAL, + uu-Data [10] UU-Data OPTIONAL, + allInformationSent [11] NULL OPTIONAL, + ..., + d-csi [12] D-CSI OPTIONAL, + o-BcsmCamelTDPCriteriaList [13] O-BcsmCamelTDPCriteriaList OPTIONAL, + basicServiceGroup2 [14] Ext-BasicServiceCode OPTIONAL, + mtRoamingRetry [15] NULL OPTIONAL + } + +UU-Data ::= SEQUENCE { + uuIndicator [0] UUIndicator OPTIONAL, + uui [1] UUI OPTIONAL, + uusCFInteraction [2] NULL OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +UUIndicator ::= OCTET STRING (SIZE (1)) + -- Octets are coded according to ETS 300 356 + +UUI ::= OCTET STRING (SIZE (1..131)) + -- Octets are coded according to ETS 300 356 + +ResumeCallHandlingRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CamelInfo ::= SEQUENCE { + supportedCamelPhases SupportedCamelPhases, + suppress-T-CSI NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + offeredCamel4CSIs [0] OfferedCamel4CSIs OPTIONAL } + +ExtendedRoutingInfo ::= CHOICE { + routingInfo RoutingInfo, + camelRoutingInfo [8] CamelRoutingInfo} + +CamelRoutingInfo ::= SEQUENCE { + forwardingData ForwardingData OPTIONAL, + gmscCamelSubscriptionInfo [0] GmscCamelSubscriptionInfo, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +GmscCamelSubscriptionInfo ::= SEQUENCE { + t-CSI [0] T-CSI OPTIONAL, + o-CSI [1] O-CSI OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + o-BcsmCamelTDP-CriteriaList [3] O-BcsmCamelTDPCriteriaList OPTIONAL, + t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL, + d-csi [5] D-CSI OPTIONAL} + +SetReportingStateArg ::= SEQUENCE { + imsi [0] IMSI OPTIONAL, + lmsi [1] LMSI OPTIONAL, + ccbs-Monitoring [2] ReportingState OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +ReportingState ::= ENUMERATED { + stopMonitoring (0), + startMonitoring (1), + ...} + -- exception handling: + -- reception of values 2-10 shall be mapped to 'stopMonitoring' + -- reception of values > 10 shall be mapped to 'startMonitoring' + +SetReportingStateRes ::= SEQUENCE{ + ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +CCBS-SubscriberStatus ::= ENUMERATED { + ccbsNotIdle (0), + ccbsIdle (1), + ccbsNotReachable (2), + ...} + -- exception handling: + -- reception of values 3-10 shall be mapped to 'ccbsNotIdle' + -- reception of values 11-20 shall be mapped to 'ccbsIdle' + -- reception of values > 20 shall be mapped to 'ccbsNotReachable' + +StatusReportArg ::= SEQUENCE{ + imsi [0] IMSI, + eventReportData [1] EventReportData OPTIONAL, + callReportdata [2] CallReportData OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +EventReportData ::= SEQUENCE{ + ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +CallReportData ::= SEQUENCE{ + monitoringMode [0] MonitoringMode OPTIONAL, + callOutcome [1] CallOutcome OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +MonitoringMode ::= ENUMERATED { + a-side (0), + b-side (1), + ...} + -- exception handling: + -- reception of values 2-10 shall be mapped 'a-side' + -- reception of values > 10 shall be mapped to 'b-side' + +CallOutcome ::= ENUMERATED { + success (0), + failure (1), + busy (2), + ...} + -- exception handling: + -- reception of values 3-10 shall be mapped to 'success' + -- reception of values 11-20 shall be mapped to 'failure' + -- reception of values > 20 shall be mapped to 'busy' + +StatusReportRes ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +RemoteUserFreeArg ::= SEQUENCE{ + imsi [0] IMSI, + callInfo [1] ExternalSignalInfo, + ccbs-Feature [2] CCBS-Feature, + translatedB-Number [3] ISDN-AddressString, + replaceB-Number [4] NULL OPTIONAL, + alertingPattern [5] AlertingPattern OPTIONAL, + extensionContainer [6] ExtensionContainer OPTIONAL, + ...} + +RemoteUserFreeRes ::= SEQUENCE{ + ruf-Outcome [0] RUF-Outcome, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +RUF-Outcome ::= ENUMERATED{ + accepted (0), + rejected (1), + noResponseFromFreeMS (2), -- T4 Expiry + noResponseFromBusyMS (3), -- T10 Expiry + udubFromFreeMS (4), + udubFromBusyMS (5), + ...} + -- exception handling: + -- reception of values 6-20 shall be mapped to 'accepted' + -- reception of values 21-30 shall be mapped to 'rejected' + -- reception of values 31-40 shall be mapped to 'noResponseFromFreeMS' + -- reception of values 41-50 shall be mapped to 'noResponseFromBusyMS' + -- reception of values 51-60 shall be mapped to 'udubFromFreeMS' + -- reception of values > 60 shall be mapped to 'udubFromBusyMS' + +IST-AlertArg ::= SEQUENCE{ + imsi [0] IMSI, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +IST-AlertRes ::= SEQUENCE{ + istAlertTimer [0] IST-AlertTimerValue OPTIONAL, + istInformationWithdraw [1] NULL OPTIONAL, + callTerminationIndicator [2] CallTerminationIndicator OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +IST-CommandArg ::= SEQUENCE{ + imsi [0] IMSI, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +IST-CommandRes ::= SEQUENCE{ + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CallTerminationIndicator ::= ENUMERATED { + terminateCallActivityReferred (0), + terminateAllCallActivities (1), + ...} + -- exception handling: + -- reception of values 2-10 shall be mapped to ' terminateCallActivityReferred ' + -- reception of values > 10 shall be mapped to ' terminateAllCallActivities ' + + -- In MSCs not supporting linkage of all call activities, any value received shall + -- be interpreted as ' terminateCallActivityReferred ' + +ReleaseResourcesArg ::= SEQUENCE{ + msrn ISDN-AddressString, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ReleaseResourcesRes ::= SEQUENCE{ + extensionContainer ExtensionContainer OPTIONAL, + ...} + + +END diff --git a/src/MAP_CallHandlingOperations.asn b/src/MAP_CallHandlingOperations.asn new file mode 100644 index 0000000..f3e7e6a --- /dev/null +++ b/src/MAP_CallHandlingOperations.asn @@ -0,0 +1,214 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-CallHandlingOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CallHandlingOperations (7) + version13 (13)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + sendRoutingInfo, + provideRoamingNumber, + resumeCallHandling, + setReportingState, + statusReport, + remoteUserFree, + ist-Alert, + ist-Command, + releaseResources +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + + systemFailure, + dataMissing, + unexpectedDataValue, + facilityNotSupported, + or-NotAllowed, + unknownSubscriber, + numberChanged, + bearerServiceNotProvisioned, + teleserviceNotProvisioned, + noRoamingNumberAvailable, + absentSubscriber, + busySubscriber, + noSubscriberReply, + callBarred, + forwardingViolation, + forwardingFailed, + cug-Reject, + resourceLimitation, + incompatibleTerminal, + unidentifiedSubscriber + +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version13 (13)} + SendRoutingInfoArg, + SendRoutingInfoRes, + ProvideRoamingNumberArg, + ProvideRoamingNumberRes, + ResumeCallHandlingArg, + ResumeCallHandlingRes, + SetReportingStateArg, + SetReportingStateRes, + StatusReportArg, + StatusReportRes, + RemoteUserFreeArg, + RemoteUserFreeRes, + IST-AlertArg, + IST-AlertRes, + IST-CommandArg, + IST-CommandRes, + ReleaseResourcesArg, + ReleaseResourcesRes +FROM MAP-CH-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CH-DataTypes (13) version13 (13)} + +; + +sendRoutingInfo OPERATION ::= { --Timer m +-- The timer is set to the upper limit of the range if the GMSC supports pre-paging. + ARGUMENT + SendRoutingInfoArg + RESULT + SendRoutingInfoRes + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + or-NotAllowed | + unknownSubscriber | + numberChanged | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + absentSubscriber | + busySubscriber | + noSubscriberReply | + callBarred | + cug-Reject | + forwardingViolation} + CODE local:22 } + +provideRoamingNumber OPERATION ::= { --Timer m +-- The timer is set to the upper limit of the range if the HLR supports pre-paging. + ARGUMENT + ProvideRoamingNumberArg + RESULT + ProvideRoamingNumberRes + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + or-NotAllowed | + absentSubscriber | + noRoamingNumberAvailable} + CODE local:4 } + +resumeCallHandling OPERATION ::= { --Timer m + ARGUMENT + ResumeCallHandlingArg + RESULT + ResumeCallHandlingRes + -- optional + ERRORS { + forwardingFailed | + or-NotAllowed | + unexpectedDataValue | + dataMissing } + CODE local:6 } + +setReportingState OPERATION ::= { --Timer m + ARGUMENT + SetReportingStateArg + RESULT + SetReportingStateRes + -- optional + ERRORS { + systemFailure | + unidentifiedSubscriber | + unexpectedDataValue | + dataMissing | + resourceLimitation | + facilityNotSupported} + CODE local:73 } + +statusReport OPERATION ::= { --Timer m + ARGUMENT + StatusReportArg + RESULT + StatusReportRes + -- optional + ERRORS { + unknownSubscriber | + systemFailure | + unexpectedDataValue | + dataMissing} + CODE local:74 } + +remoteUserFree OPERATION ::= { --Timer ml + ARGUMENT + RemoteUserFreeArg + RESULT + RemoteUserFreeRes + ERRORS { + unexpectedDataValue | + dataMissing | + incompatibleTerminal | + absentSubscriber | + systemFailure | + busySubscriber} + CODE local:75 } + +ist-Alert OPERATION ::= { --Timer m + ARGUMENT + IST-AlertArg + RESULT + IST-AlertRes + -- optional + ERRORS { + unexpectedDataValue | + resourceLimitation | + unknownSubscriber | + systemFailure | + facilityNotSupported} + CODE local:87 } + +ist-Command OPERATION::= { --Timer m + ARGUMENT + IST-CommandArg + RESULT + IST-CommandRes + -- optional + ERRORS { + unexpectedDataValue | + resourceLimitation | + unknownSubscriber | + systemFailure | + facilityNotSupported} + CODE local:88 } + +releaseResources OPERATION::= { --Timer m + ARGUMENT + ReleaseResourcesArg + RESULT + ReleaseResourcesRes + -- optional + ERRORS { + unexpectedDataValue | + systemFailure } + CODE local:20 } + +END diff --git a/src/MAP_CommonDataTypes.asn b/src/MAP_CommonDataTypes.asn new file mode 100644 index 0000000..e4754fe --- /dev/null +++ b/src/MAP_CommonDataTypes.asn @@ -0,0 +1,663 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13)} + +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, + + -- data types for numbering and identification + IMSI, + IMSI-MAP, -- for compatibility with CAP v7.3.0 + TMSI, + Identity, + SubscriberId, + IMEI, + IMEI-MAP, -- for compatibility with CAP v7.3.0 + HLR-List, + LMSI, + GlobalCellId, + NetworkResource, + AdditionalNetworkResource, + NAEA-PreferredCI, + NAEA-CIC, + ASCI-CallReference, + SubscriberIdentity, + PLMN-Id, + E-UTRAN-CGI, + TA-Id, + RAIdentity, + + -- 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) version13 (13)} + + 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) version13 (13)} + + SS-Code +FROM MAP-SS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-Code (15) version13 (13)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version13 (13)} +; + + +-- 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..55)) +-- 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. + +IMSI-MAP ::= IMSI -- for compatibility with CAP v7.3.0 + +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. + +IMEI-MAP ::= IMEI -- for compatibility with CAP v7.3.0 + +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. + +TA-Id ::= OCTET STRING (SIZE (5)) + -- Octets are coded as described in 3GPP TS 29.118. + +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. + +-- 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 diff --git a/src/MAP_DialogueInformation.asn b/src/MAP_DialogueInformation.asn new file mode 100644 index 0000000..2d46ec3 --- /dev/null +++ b/src/MAP_DialogueInformation.asn @@ -0,0 +1,157 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-DialogueInformation { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-DialogueInformation (3) version13 (13)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + map-DialogueAS, + MAP-DialoguePDU + +; + +IMPORTS + gsm-NetworkId, + as-Id +FROM MobileDomainDefinitions { + itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) + mobileDomainDefinitions (0) version1 (1)} + + AddressString +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network(1) modules (3) map-CommonDataTypes (18) version13 (13)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version13 (13)} + + +; + +-- Following types needed for coding of user information of TCAP ASPs for MAP + +TCAP-MAP-user-information ::= + SEQUENCE OF TCAP-MAP-user-information-element + + +TCAP-MAP-user-information-element ::= SEQUENCE { + syntax OBJECT IDENTIFIER, + mAP-DialoguePDU MAP-DialoguePDU +} + +/* + This is used in TCAP ASP as EXTERNAL when + MAP-DialoguePDU is embedded in EXTERNAL (because the + 'single-ASN1-type' alternative of 'encoding' must be used) +*/ + + +MAP-DialoguePDU-inEXTERNAL ::= [UNIVERSAL 8] IMPLICIT SEQUENCE { + direct-reference OBJECT IDENTIFIER, + encoding CHOICE { + single-ASN1-type [0] EXPLICIT MAP-DialoguePDU + } +} + +/* + This is a helper type used during coding/decoding... +*/ + +Seq-of-ANY-MAP ::= SEQUENCE OF ANY + + +-- abstract syntax name for MAP-DialoguePDU + +map-DialogueAS OBJECT IDENTIFIER ::= + {gsm-NetworkId as-Id map-DialoguePDU (1) version1 (1)} + +MAP-DialoguePDU ::= CHOICE { + map-open [0] MAP-OpenInfo, + map-accept [1] MAP-AcceptInfo, + map-close [2] MAP-CloseInfo, + map-refuse [3] MAP-RefuseInfo, + map-userAbort [4] MAP-UserAbortInfo, + map-providerAbort [5] MAP-ProviderAbortInfo} + +MAP-OpenInfo ::= SEQUENCE { + destinationReference [0] AddressString OPTIONAL, + originationReference [1] AddressString OPTIONAL, + ..., + extensionContainer ExtensionContainer OPTIONAL + -- extensionContainer must not be used in version 2 + } + +MAP-AcceptInfo ::= SEQUENCE { + ..., + extensionContainer ExtensionContainer OPTIONAL + -- extensionContainer must not be used in version 2 + } + +MAP-CloseInfo ::= SEQUENCE { + ..., + extensionContainer ExtensionContainer OPTIONAL + -- extensionContainer must not be used in version 2 + } + +MAP-RefuseInfo ::= SEQUENCE { + reason Reason, + ..., + extensionContainer ExtensionContainer OPTIONAL, + -- extensionContainer must not be used in version 2 + alternativeApplicationContext OBJECT IDENTIFIER OPTIONAL + -- alternativeApplicationContext must not be used in version 2 + } + +Reason ::= ENUMERATED { + noReasonGiven (0), + invalidDestinationReference (1), + invalidOriginatingReference (2)} + +MAP-UserAbortInfo ::= SEQUENCE { + map-UserAbortChoice MAP-UserAbortChoice, + ..., + extensionContainer ExtensionContainer OPTIONAL + -- extensionContainer must not be used in version 2 + } + +MAP-UserAbortChoice ::= CHOICE { + userSpecificReason [0] NULL, + userResourceLimitation [1] NULL, + resourceUnavailable [2] ResourceUnavailableReason, + applicationProcedureCancellation [3] ProcedureCancellationReason} + +ResourceUnavailableReason ::= ENUMERATED { + shortTermResourceLimitation (0), + longTermResourceLimitation (1)} + +ProcedureCancellationReason ::= ENUMERATED { + handoverCancellation (0), + radioChannelRelease (1), + networkPathRelease (2), + callRelease (3), + associatedProcedureFailure (4), + tandemDialogueRelease (5), + remoteOperationsFailure (6)} + +MAP-ProviderAbortInfo ::= SEQUENCE { + map-ProviderAbortReason MAP-ProviderAbortReason, + ..., + extensionContainer ExtensionContainer OPTIONAL + -- extensionContainer must not be used in version 2 + } + +MAP-ProviderAbortReason ::= ENUMERATED { + abnormalDialogue (0), + invalidPDU (1)} + +END diff --git a/src/MAP_ER_DataTypes.asn b/src/MAP_ER_DataTypes.asn new file mode 100644 index 0000000..6f9b5c6 --- /dev/null +++ b/src/MAP_ER_DataTypes.asn @@ -0,0 +1,423 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-ER-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ER-DataTypes (17) version13 (13)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + RoamingNotAllowedParam, + CallBarredParam, + CUG-RejectParam, + SS-IncompatibilityCause, + PW-RegistrationFailureCause, + SM-DeliveryFailureCause, + SystemFailureParam, + DataMissingParam, + UnexpectedDataParam, + FacilityNotSupParam, + OR-NotAllowedParam, + UnknownSubscriberParam, + NumberChangedParam, + UnidentifiedSubParam, + IllegalSubscriberParam, + IllegalEquipmentParam, + BearerServNotProvParam, + TeleservNotProvParam, + TracingBufferFullParam, + NoRoamingNbParam, + AbsentSubscriberParam, + BusySubscriberParam, + NoSubscriberReplyParam, + ForwardingViolationParam, + ForwardingFailedParam, + ATI-NotAllowedParam, + SubBusyForMT-SMS-Param, + MessageWaitListFullParam, + AbsentSubscriberSM-Param, + AbsentSubscriberDiagnosticSM, + ResourceLimitationParam, + NoGroupCallNbParam, + IncompatibleTerminalParam, + ShortTermDenialParam, + LongTermDenialParam, + UnauthorizedRequestingNetwork-Param, + UnauthorizedLCSClient-Param, + PositionMethodFailure-Param, +UnknownOrUnreachableLCSClient-Param, + MM-EventNotSupported-Param, +ATSI-NotAllowedParam, +ATM-NotAllowedParam, +IllegalSS-OperationParam, +SS-NotAvailableParam, +SS-SubscriptionViolationParam, +InformationNotAvailableParam, +TargetCellOutsideGCA-Param, +OngoingGroupCallParam, +PositionMethodFailure-Diagnostic, +UnauthorizedLCSClient-Diagnostic + +; + +IMPORTS + SS-Status +FROM MAP-SS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-DataTypes (14) version13 (13)} + + SignalInfo, + BasicServiceCode, + NetworkResource, + AdditionalNetworkResource +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13)} + + + SS-Code +FROM MAP-SS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-Code (15) version13 (13)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version13 (13)} +; + +RoamingNotAllowedParam ::= SEQUENCE { + roamingNotAllowedCause RoamingNotAllowedCause, + extensionContainer ExtensionContainer OPTIONAL, + ..., + additionalRoamingNotAllowedCause [0] AdditionalRoamingNotAllowedCause OPTIONAL } + +-- if the additionalRoamingNotallowedCause is received by the MSC/VLR or SGSN then the +-- roamingNotAllowedCause shall be discarded. + +AdditionalRoamingNotAllowedCause ::= ENUMERATED { + supportedRAT-TypesNotAllowed (0), + ...} + +RoamingNotAllowedCause ::= ENUMERATED { + plmnRoamingNotAllowed (0), + operatorDeterminedBarring (3)} + +CallBarredParam ::= CHOICE { + callBarringCause CallBarringCause, + -- call BarringCause must not be used in version 3 and higher + extensibleCallBarredParam ExtensibleCallBarredParam + -- extensibleCallBarredParam must not be used in version <3 + } + +CallBarringCause ::= ENUMERATED { + barringServiceActive (0), + operatorBarring (1)} + +ExtensibleCallBarredParam ::= SEQUENCE { + callBarringCause CallBarringCause OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + unauthorisedMessageOriginator [1] NULL OPTIONAL } + +CUG-RejectParam ::= SEQUENCE { + cug-RejectCause CUG-RejectCause OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CUG-RejectCause ::= ENUMERATED { + incomingCallsBarredWithinCUG (0), + subscriberNotMemberOfCUG (1), + requestedBasicServiceViolatesCUG-Constraints (5), + calledPartySS-InteractionViolation (7)} + +SS-IncompatibilityCause ::= SEQUENCE { + ss-Code [1] SS-Code OPTIONAL, + basicService BasicServiceCode OPTIONAL, + ss-Status [4] SS-Status OPTIONAL, + ...} + +PW-RegistrationFailureCause ::= ENUMERATED { + undetermined (0), + invalidFormat (1), + newPasswordsMismatch (2)} + +SM-EnumeratedDeliveryFailureCause ::= ENUMERATED { + memoryCapacityExceeded (0), + equipmentProtocolError (1), + equipmentNotSM-Equipped (2), + unknownServiceCentre (3), + sc-Congestion (4), + invalidSME-Address (5), + subscriberNotSC-Subscriber (6)} + +SM-DeliveryFailureCause ::= SEQUENCE { + sm-EnumeratedDeliveryFailureCause SM-EnumeratedDeliveryFailureCause, + diagnosticInfo SignalInfo OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +AbsentSubscriberSM-Param ::= SEQUENCE { + absentSubscriberDiagnosticSM AbsentSubscriberDiagnosticSM OPTIONAL, + -- AbsentSubscriberDiagnosticSM can be either for non-GPRS + -- or for GPRS + extensionContainer ExtensionContainer OPTIONAL, + ..., + additionalAbsentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM OPTIONAL } + -- if received, additionalAbsentSubscriberDiagnosticSM + -- is for GPRS and absentSubscriberDiagnosticSM is + -- for non-GPRS + +AbsentSubscriberDiagnosticSM ::= INTEGER (0..255) + -- AbsentSubscriberDiagnosticSM values are defined in 3GPP TS 23.040 + +SystemFailureParam ::= CHOICE { + networkResource NetworkResource, + -- networkResource must not be used in version 3 + extensibleSystemFailureParam ExtensibleSystemFailureParam + -- extensibleSystemFailureParam must not be used in version <3 + } + +ExtensibleSystemFailureParam ::= SEQUENCE { + networkResource NetworkResource OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + additionalNetworkResource [0] AdditionalNetworkResource OPTIONAL, + failureCauseParam [1] FailureCauseParam OPTIONAL } + +FailureCauseParam ::= ENUMERATED { + limitReachedOnNumberOfConcurrentLocationRequests (0), + ... } + -- if unknown value is received in FailureCauseParam it shall be ignored + + +DataMissingParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +UnexpectedDataParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + unexpectedSubscriber [0] NULL OPTIONAL} +-- the unexpectedSubscriber indication in the unexpectedDataValue error shall not be used +-- for operations that allow the unidentifiedSubscriber error. + +FacilityNotSupParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + shapeOfLocationEstimateNotSupported [0] NULL OPTIONAL, + neededLcsCapabilityNotSupportedInServingNode [1] NULL OPTIONAL } + +OR-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +UnknownSubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + unknownSubscriberDiagnostic UnknownSubscriberDiagnostic OPTIONAL} + +UnknownSubscriberDiagnostic ::= ENUMERATED { + imsiUnknown (0), + gprs-eps-SubscriptionUnknown (1), + ..., + npdbMismatch (2)} + -- if unknown values are received in + -- UnknownSubscriberDiagnostic they shall be discarded + +NumberChangedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +UnidentifiedSubParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +IllegalSubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +IllegalEquipmentParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +BearerServNotProvParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +TeleservNotProvParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +TracingBufferFullParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +NoRoamingNbParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +AbsentSubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + absentSubscriberReason [0] AbsentSubscriberReason OPTIONAL} + +AbsentSubscriberReason ::= ENUMERATED { + imsiDetach (0), + restrictedArea (1), + noPageResponse (2), + ... , + purgedMS (3), + mtRoamingRetry (4), + busySubscriber (5)} +-- exception handling: at reception of other values than the ones listed the +-- AbsentSubscriberReason shall be ignored. +-- The AbsentSubscriberReason: purgedMS is defined for the Super-Charger feature +-- (see TS 23.116). If this value is received in a Provide Roaming Number response +-- it shall be mapped to the AbsentSubscriberReason: imsiDetach in the Send Routeing +-- Information response +-- The AbsentSubscriberReason: mtRoamingRetry is used during MT Roaming Retry, +-- see 3GPP TS 23.018[97]. +-- The AbsentSubscriberReason: busySubscriber is used during MT Roaming Forwarding, +-- see 3GPP TS 23.018[97]. + +BusySubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + ccbs-Possible [0] NULL OPTIONAL, + ccbs-Busy [1] NULL OPTIONAL} + +NoSubscriberReplyParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ForwardingViolationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ForwardingFailedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ATI-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ATSI-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ATM-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +IllegalSS-OperationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SS-NotAvailableParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SS-SubscriptionViolationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +InformationNotAvailableParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SubBusyForMT-SMS-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... , + gprsConnectionSuspended NULL OPTIONAL } + -- If GprsConnectionSuspended is not understood it shall + -- be discarded + +MessageWaitListFullParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ResourceLimitationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +NoGroupCallNbParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +IncompatibleTerminalParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ShortTermDenialParam ::= SEQUENCE { + ...} + +LongTermDenialParam ::= SEQUENCE { + ...} + +UnauthorizedRequestingNetwork-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +UnauthorizedLCSClient-Param ::= SEQUENCE { + unauthorizedLCSClient-Diagnostic [0] UnauthorizedLCSClient-Diagnostic OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ... } + +UnauthorizedLCSClient-Diagnostic ::= ENUMERATED { + noAdditionalInformation (0), + clientNotInMSPrivacyExceptionList (1), + callToClientNotSetup (2), + privacyOverrideNotApplicable (3), + disallowedByLocalRegulatoryRequirements (4), + ..., + unauthorizedPrivacyClass (5), + unauthorizedCallSessionUnrelatedExternalClient (6), + unauthorizedCallSessionRelatedExternalClient (7) } +-- exception handling: +-- any unrecognized value shall be ignored + +PositionMethodFailure-Param ::= SEQUENCE { + positionMethodFailure-Diagnostic [0] PositionMethodFailure-Diagnostic OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ... } + +PositionMethodFailure-Diagnostic ::= ENUMERATED { + congestion (0), + insufficientResources (1), + insufficientMeasurementData (2), + inconsistentMeasurementData (3), + locationProcedureNotCompleted (4), + locationProcedureNotSupportedByTargetMS (5), + qoSNotAttainable (6), + positionMethodNotAvailableInNetwork (7), + positionMethodNotAvailableInLocationArea (8), + ... } +-- exception handling: +-- any unrecognized value shall be ignored + +UnknownOrUnreachableLCSClient-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +MM-EventNotSupported-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +TargetCellOutsideGCA-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +OngoingGroupCallParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + + +END diff --git a/src/MAP_EncDec.cc b/src/MAP_EncDec.cc new file mode 100644 index 0000000..a275684 --- /dev/null +++ b/src/MAP_EncDec.cc @@ -0,0 +1,191 @@ +// Reference: 3GPP TS 29.002 10.6.0 + +#include "MAP_PDU_Defs.hh" +#include "MAP_DialogueInformation.hh" + +namespace MAP__Types { + +using namespace MAP__DialogueInformation; + +TTCN_Module MAP__EncDec("MAP_EncDec", __DATE__, __TIME__); + +////////////////////////////////// +// Encoding function for TCAP_MAP_user_information +////////////////////////////////// + +OCTETSTRING enc__TCAP__MAP__user__information +(const TCAP__MAP__user__information& pdu) +{ + Seq__of__ANY__MAP tmp_seqofany=NULL_VALUE; + TTCN_Buffer buf; + for(int i=0; i 1 shall be mapped to ' istCommandSupported ' + +SupportedLCS-CapabilitySets ::= BIT STRING { + lcsCapabilitySet1 (0), + lcsCapabilitySet2 (1), + lcsCapabilitySet3 (2), + lcsCapabilitySet4 (3) , + lcsCapabilitySet5 (4) } (SIZE (2..16)) +-- Core network signalling capability set1 indicates LCS Release98 or Release99 version. +-- Core network signalling capability set2 indicates LCS Release4. +-- Core network signalling capability set3 indicates LCS Release5. +-- Core network signalling capability set4 indicates LCS Release6. +-- Core network signalling capability set5 indicates LCS Release7 or later version. +-- A node shall mark in the BIT STRING all LCS capability sets it supports. +-- If no bit is set then the sending node does not support LCS. +-- If the parameter is not sent by an VLR then the VLR may support at most capability set1. +-- If the parameter is not sent by an SGSN then no support for LCS is assumed. +-- An SGSN is not allowed to indicate support of capability set1. +-- Other bits than listed above shall be discarded. + +UpdateLocationRes ::= SEQUENCE { + hlr-Number ISDN-AddressString, + extensionContainer ExtensionContainer OPTIONAL, + ..., + add-Capability NULL OPTIONAL, + pagingArea-Capability [0]NULL OPTIONAL } + +ADD-Info ::= SEQUENCE { + imeisv [0] IMEI, + skipSubscriberDataUpdate [1] NULL OPTIONAL, + -- The skipSubscriberDataUpdate parameter in the UpdateLocationArg and the ADD-Info + -- structures carry the same semantic. + ...} + + +PagingArea ::= SEQUENCE SIZE (1..5) OF LocationArea + + +LocationArea ::= CHOICE { + laiFixedLength [0] LAIFixedLength, + lac [1] LAC} + + +LAC ::= OCTET STRING (SIZE (2)) + -- Refers to Location Area Code of the Location Area Identification defined in + -- 3GPP TS 23.003 [17]. + -- Location Area Code according to 3GPP TS 24.008 [35] + +CancelLocationArg ::= [3] SEQUENCE { + identity Identity, + cancellationType CancellationType OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + typeOfUpdate [0] TypeOfUpdate OPTIONAL, + mtrf-SupportedAndAuthorized [1] NULL OPTIONAL, + mtrf-SupportedAndNotAuthorized [2] NULL OPTIONAL, + newMSC-Number [3] ISDN-AddressString OPTIONAL, + newVLR-Number [4] ISDN-AddressString OPTIONAL, + new-lmsi [5] LMSI OPTIONAL + } + --mtrf-SupportedAndAuthorized and mtrf-SupportedAndNotAuthorized shall not + -- both be present + +TypeOfUpdate ::= ENUMERATED { + sgsn-change (0), + mme-change (1), + ...} + -- TypeOfUpdate shall be absent if CancellationType is different from updateProcedure + -- and initialAttachProcedure + +CancellationType ::= ENUMERATED { + updateProcedure (0), + subscriptionWithdraw (1), + ..., + initialAttachProcedure (2)} + -- The HLR shall not send values other than listed above + +CancelLocationRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +PurgeMS-Arg ::= [3] SEQUENCE { + imsi IMSI, + vlr-Number [0] ISDN-AddressString OPTIONAL, + sgsn-Number [1] ISDN-AddressString OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +PurgeMS-Res ::= SEQUENCE { + freezeTMSI [0] NULL OPTIONAL, + freezeP-TMSI [1] NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + freezeM-TMSI [2] NULL OPTIONAL } + +SendIdentificationArg ::= SEQUENCE { + tmsi TMSI, + numberOfRequestedVectors NumberOfRequestedVectors OPTIONAL, + -- within a dialogue numberOfRequestedVectors shall be present in + -- the first service request and shall not be present in subsequent service requests. + -- If received in a subsequent service request it shall be discarded. + segmentationProhibited NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + msc-Number ISDN-AddressString OPTIONAL, + previous-LAI [0] LAIFixedLength OPTIONAL, + hopCounter [1] HopCounter OPTIONAL, + mtRoamingForwardingSupported [2] NULL OPTIONAL, + newVLR-Number [3] ISDN-AddressString OPTIONAL, + new-lmsi [4] LMSI OPTIONAL } + +HopCounter ::= INTEGER (0..3) + +SendIdentificationRes ::= [3] SEQUENCE { + imsi IMSI OPTIONAL, + -- IMSI shall be present in the first (or only) service response of a dialogue. + -- If multiple service requests are present in a dialogue then IMSI + -- shall not be present in any service response other than the first one. + authenticationSetList AuthenticationSetList OPTIONAL, + currentSecurityContext [2]CurrentSecurityContext OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +-- authentication management types + +AuthenticationSetList ::= CHOICE { + tripletList [0] TripletList, + quintupletList [1] QuintupletList } + +TripletList ::= SEQUENCE SIZE (1..5) OF + AuthenticationTriplet + +QuintupletList ::= SEQUENCE SIZE (1..5) OF + AuthenticationQuintuplet + +AuthenticationTriplet ::= SEQUENCE { + rand RAND, + sres SRES, + kc Kc, + ...} + +AuthenticationQuintuplet ::= SEQUENCE { + rand RAND, + xres XRES, + ck CK, + ik IK, + autn AUTN, + ...} + +CurrentSecurityContext ::= CHOICE { + gsm-SecurityContextData [0] GSM-SecurityContextData, + umts-SecurityContextData [1] UMTS-SecurityContextData } + +GSM-SecurityContextData ::= SEQUENCE { + kc Kc, + cksn Cksn, + ... } + +UMTS-SecurityContextData ::= SEQUENCE { + ck CK, + ik IK, + ksi KSI, + ... } + +RAND ::= OCTET STRING (SIZE (16)) + +SRES ::= OCTET STRING (SIZE (4)) + +Kc ::= OCTET STRING (SIZE (8)) + +XRES ::= OCTET STRING (SIZE (4..16)) + +CK ::= OCTET STRING (SIZE (16)) + +IK ::= OCTET STRING (SIZE (16)) + +AUTN ::= OCTET STRING (SIZE (16)) + +AUTS ::= OCTET STRING (SIZE (14)) + +Cksn ::= OCTET STRING (SIZE (1)) + -- The internal structure is defined in 3GPP TS 24.008 + +KSI ::= OCTET STRING (SIZE (1)) + -- The internal structure is defined in 3GPP TS 24.008 + +AuthenticationFailureReportArg ::= SEQUENCE { + imsi IMSI, + failureCause FailureCause, + extensionContainer ExtensionContainer OPTIONAL, + ... , + re-attempt BOOLEAN OPTIONAL, + accessType AccessType OPTIONAL, + rand RAND OPTIONAL, + vlr-Number [0] ISDN-AddressString OPTIONAL, + sgsn-Number [1] ISDN-AddressString OPTIONAL } + +AccessType ::= ENUMERATED { + call (0), + emergencyCall (1), + locationUpdating (2), + supplementaryService (3), + shortMessage (4), + gprsAttach (5), + routingAreaUpdating (6), + serviceRequest (7), + pdpContextActivation (8), + pdpContextDeactivation (9), + ..., + gprsDetach (10)} + -- exception handling: + -- received values greater than 10 shall be ignored. + +AuthenticationFailureReportRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +FailureCause ::= ENUMERATED { + wrongUserResponse (0), + wrongNetworkSignature (1)} + +-- gprs location registration types + +UpdateGprsLocationArg ::= SEQUENCE { + imsi IMSI, + sgsn-Number ISDN-AddressString, + sgsn-Address GSN-Address, + extensionContainer ExtensionContainer OPTIONAL, + ... , + sgsn-Capability [0] SGSN-Capability OPTIONAL, + informPreviousNetworkEntity [1] NULL OPTIONAL, + ps-LCS-NotSupportedByUE [2] NULL OPTIONAL, + v-gmlc-Address [3] GSN-Address OPTIONAL, + add-info [4] ADD-Info OPTIONAL, + eps-info [5] EPS-Info OPTIONAL, + servingNodeTypeIndicator [6] NULL OPTIONAL, + skipSubscriberDataUpdate [7] NULL OPTIONAL, + usedRAT-Type [8] Used-RAT-Type OPTIONAL, + gprsSubscriptionDataNotNeeded [9] NULL OPTIONAL, + nodeTypeIndicator [10] NULL OPTIONAL, + areaRestricted [11] NULL OPTIONAL, + ue-reachableIndicator [12] NULL OPTIONAL, + epsSubscriptionDataNotNeeded [13] NULL OPTIONAL, + ue-srvcc-Capability [14] UE-SRVCC-Capability OPTIONAL } + +Used-RAT-Type::= ENUMERATED { + utran (0), + geran (1), + gan (2), + i-hspa-evolution (3), + e-utran (4), + ...} + +EPS-Info ::= CHOICE{ + pdn-gw-update [0] PDN-GW-Update, + isr-Information [1] ISR-Information } + +PDN-GW-Update ::= SEQUENCE{ + apn [0] APN OPTIONAL, + pdn-gw-Identity [1] PDN-GW-Identity OPTIONAL, + contextId [2] ContextId OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ... } +-- The pdn-gw-update IE shall include the pdn-gw-Identity, and the apn or/and the contextID. +-- The HSS shall ignore the eps-info IE if it includes a pdn-gw-update IE which does not +-- include pdn-gw-Identity. +-- The pdn-gw-Identity is defined as OPTIONAL for backward compatility reason with +-- outdated earlier versions of this specification. + + +ISR-Information::= BIT STRING { + updateMME (0), + cancelSGSN (1), + initialAttachIndicator (2)} (SIZE (3..8)) + -- exception handling: reception of unknown bit assignments in the + -- ISR-Information data type shall be discarded by the receiver + +SGSN-Capability ::= SEQUENCE{ + solsaSupportIndicator NULL OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ... , + superChargerSupportedInServingNetworkEntity [2] SuperChargerInfo OPTIONAL , + gprsEnhancementsSupportIndicator [3] NULL OPTIONAL, + supportedCamelPhases [4] SupportedCamelPhases OPTIONAL, + supportedLCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL, + offeredCamel4CSIs [6] OfferedCamel4CSIs OPTIONAL, + smsCallBarringSupportIndicator [7] NULL OPTIONAL, supportedRAT-TypesIndicator [8] SupportedRAT-Types OPTIONAL, + supportedFeatures [9] SupportedFeatures OPTIONAL, + t-adsDataRetrieval [10] NULL OPTIONAL, + homogeneousSupportOfIMSVoiceOverPSSessions [11] BOOLEAN OPTIONAL + -- "true" indicates homogeneous support, "false" indicates homogeneous non-support + -- in the complete SGSN area + } + +SupportedFeatures::= BIT STRING { + odb-all-apn (0), + odb-HPLMN-APN (1), + odb-VPLMN-APN (2), + odb-all-og (3), + odb-all-international-og (4), + odb-all-int-og-not-to-HPLMN-country (5), + odb-all-interzonal-og (6), + odb-all-interzonal-og-not-to-HPLMN-country (7), + odb-all-interzonal-og-and-internat-og-not-to-HPLMN-country (8), + regSub (9), + trace (10), + lcs-all-PrivExcep (11), + lcs-universal (12), + lcs-CallSessionRelated (13), + lcs-CallSessionUnrelated (14), + lcs-PLMN-operator (15), + lcs-ServiceType (16), + lcs-all-MOLR-SS (17), + lcs-basicSelfLocation (18), + lcs-autonomousSelfLocation (19), + lcs-transferToThirdParty (20), + sm-mo-pp (21), + barring-OutgoingCalls (22), + baoc (23), + boic (24), + boicExHC (25)} (SIZE (26..40)) + +UE-SRVCC-Capability::= ENUMERATED { + ue-srvcc-not-supported (0), + ue-srvcc-supported (1), + ...} + +UpdateGprsLocationRes ::= SEQUENCE { + hlr-Number ISDN-AddressString, + extensionContainer ExtensionContainer OPTIONAL, + ..., + add-Capability NULL OPTIONAL, + sgsn-mmeSeparationSupported [0] NULL OPTIONAL } + +-- handover types + +ForwardAccessSignalling-Arg ::= [3] SEQUENCE { + an-APDU AccessNetworkSignalInfo, + integrityProtectionInfo [0] IntegrityProtectionInformation OPTIONAL, + encryptionInfo [1] EncryptionInformation OPTIONAL, + keyStatus [2] KeyStatus OPTIONAL, + allowedGSM-Algorithms [4] AllowedGSM-Algorithms OPTIONAL, + allowedUMTS-Algorithms [5] AllowedUMTS-Algorithms OPTIONAL, + radioResourceInformation [6] RadioResourceInformation OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ..., + radioResourceList [7] RadioResourceList OPTIONAL, + bssmap-ServiceHandover [9] BSSMAP-ServiceHandover OPTIONAL, + ranap-ServiceHandover [8] RANAP-ServiceHandover OPTIONAL, + bssmap-ServiceHandoverList [10] BSSMAP-ServiceHandoverList OPTIONAL, + currentlyUsedCodec [11] Codec OPTIONAL, + iuSupportedCodecsList [12] SupportedCodecsList OPTIONAL, + rab-ConfigurationIndicator [13] NULL OPTIONAL, + iuSelectedCodec [14] Codec OPTIONAL, + alternativeChannelType [15] RadioResourceInformation OPTIONAL, + tracePropagationList [17] TracePropagationList OPTIONAL, + aoipSupportedCodecsListAnchor [18] AoIPCodecsList OPTIONAL, + aoipSelectedCodecTarget [19] AoIPCodec OPTIONAL } + +AllowedGSM-Algorithms ::= OCTET STRING (SIZE (1)) + -- internal structure is coded as Algorithm identifier octet from + -- Permitted Algorithms defined in 3GPP TS 48.008 + -- A node shall mark all GSM algorithms that are allowed in MSC-B + +AllowedUMTS-Algorithms ::= SEQUENCE { + integrityProtectionAlgorithms [0] PermittedIntegrityProtectionAlgorithms OPTIONAL, + encryptionAlgorithms [1] PermittedEncryptionAlgorithms OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +PermittedIntegrityProtectionAlgorithms ::= + OCTET STRING (SIZE (1..maxPermittedIntegrityProtectionAlgorithmsLength)) + -- Octets contain a complete PermittedIntegrityProtectionAlgorithms data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413. + -- Padding bits are included, if needed, in the least significant bits of the + -- last octet of the octet string. + + +maxPermittedIntegrityProtectionAlgorithmsLength INTEGER ::= 9 + +PermittedEncryptionAlgorithms ::= + OCTET STRING (SIZE (1..maxPermittedEncryptionAlgorithmsLength)) + -- Octets contain a complete PermittedEncryptionAlgorithms data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413 + -- Padding bits are included, if needed, in the least significant bits of the + -- last octet of the octet string. + + +maxPermittedEncryptionAlgorithmsLength INTEGER ::= 9 + +KeyStatus ::= ENUMERATED { + old (0), + new (1), + ...} + -- exception handling: + -- received values in range 2-31 shall be treated as "old" + -- received values greater than 31 shall be treated as "new" + +PrepareHO-Arg ::= [3] SEQUENCE { + targetCellId [0] GlobalCellId OPTIONAL, + ho-NumberNotRequired NULL OPTIONAL, + targetRNCId [1] RNCId OPTIONAL, + an-APDU [2] AccessNetworkSignalInfo OPTIONAL, + multipleBearerRequested [3] NULL OPTIONAL, + imsi [4] IMSI OPTIONAL, + integrityProtectionInfo [5] IntegrityProtectionInformation OPTIONAL, + encryptionInfo [6] EncryptionInformation OPTIONAL, + radioResourceInformation [7] RadioResourceInformation OPTIONAL, + allowedGSM-Algorithms [9] AllowedGSM-Algorithms OPTIONAL, + allowedUMTS-Algorithms [10] AllowedUMTS-Algorithms OPTIONAL, + radioResourceList [11] RadioResourceList OPTIONAL, + extensionContainer [8] ExtensionContainer OPTIONAL, + ... , + rab-Id [12] RAB-Id OPTIONAL, + bssmap-ServiceHandover [13] BSSMAP-ServiceHandover OPTIONAL, + ranap-ServiceHandover [14] RANAP-ServiceHandover OPTIONAL, + bssmap-ServiceHandoverList [15] BSSMAP-ServiceHandoverList OPTIONAL, + asciCallReference [20] ASCI-CallReference OPTIONAL, + geran-classmark [16] GERAN-Classmark OPTIONAL, + iuCurrentlyUsedCodec [17] Codec OPTIONAL, + iuSupportedCodecsList [18] SupportedCodecsList OPTIONAL, + rab-ConfigurationIndicator [19] NULL OPTIONAL, + uesbi-Iu [21] UESBI-Iu OPTIONAL, + imeisv [22] IMEI OPTIONAL, + alternativeChannelType [23] RadioResourceInformation OPTIONAL, + tracePropagationList [25] TracePropagationList OPTIONAL, + aoipSupportedCodecsListAnchor [26] AoIPCodecsList OPTIONAL, + regionalSubscriptionData [27] ZoneCodeList OPTIONAL, + lclsGlobalCallReference [28] LCLS-GlobalCallReference OPTIONAL, + lcls-Negotiation [29] LCLS-Negotiation OPTIONAL, + lcls-Configuration-Preference [30] LCLS-ConfigurationPreference OPTIONAL } + +LCLS-GlobalCallReference ::= OCTET STRING (SIZE (13..15)) + -- Octets are coded as specified in 3GPP TS 29.205 [146] + + +LCLS-Negotiation::= BIT STRING { + permission-indicator-not-allowed-bit (0), + permission-indicator-spare-bit (1)} (SIZE (2..8)) + --for definition and allowed combination of bits 0 and 1 see 3GPP TS 29.205 + + -- exception handling: bits 2 to 7 shall be ignored if received and not understood + + +LCLS-ConfigurationPreference::= BIT STRING { + forward-data-sending-indicator (0), + backward-data-sending-indicator (1), + forward-data-reception-indicator (2), + backward-data-reception-indicator (3)} (SIZE (4..8)) + -- exception handling: bits 4 to 7 shall be ignored if received and not understood + + +BSSMAP-ServiceHandoverList ::= SEQUENCE SIZE (1.. maxNumOfServiceHandovers) OF + BSSMAP-ServiceHandoverInfo + +BSSMAP-ServiceHandoverInfo ::= SEQUENCE { + bssmap-ServiceHandover BSSMAP-ServiceHandover, + rab-Id RAB-Id, + -- RAB Identity is needed to relate the service handovers with the radio access bearers. + ...} + +maxNumOfServiceHandovers INTEGER ::= 7 + +BSSMAP-ServiceHandover ::= OCTET STRING (SIZE (1)) + -- Octets are coded according the Service Handover information element in + -- 3GPP TS 48.008. + +RANAP-ServiceHandover ::= OCTET STRING (SIZE (1)) + -- Octet contains a complete Service-Handover data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413 + -- Padding bits are included in the least significant bits. + + +RadioResourceList ::= SEQUENCE SIZE (1.. maxNumOfRadioResources) OF + RadioResource + +RadioResource ::= SEQUENCE { + radioResourceInformation RadioResourceInformation, + rab-Id RAB-Id, + -- RAB Identity is needed to relate the radio resources with the radio access bearers. + ...} + +maxNumOfRadioResources INTEGER ::= 7 + +PrepareHO-Res ::= [3] SEQUENCE { + handoverNumber [0] ISDN-AddressString OPTIONAL, + relocationNumberList [1] RelocationNumberList OPTIONAL, + an-APDU [2] AccessNetworkSignalInfo OPTIONAL, + multicallBearerInfo [3] MulticallBearerInfo OPTIONAL, + multipleBearerNotSupported NULL OPTIONAL, + selectedUMTS-Algorithms [5] SelectedUMTS-Algorithms OPTIONAL, + chosenRadioResourceInformation [6] ChosenRadioResourceInformation OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ..., + iuSelectedCodec [7] Codec OPTIONAL, + iuAvailableCodecsList [8] CodecList OPTIONAL, + aoipSelectedCodecTarget [9] AoIPCodec OPTIONAL, + aoipAvailableCodecsListMap [10] AoIPCodecsList OPTIONAL } + +SelectedUMTS-Algorithms ::= SEQUENCE { + integrityProtectionAlgorithm [0] ChosenIntegrityProtectionAlgorithm OPTIONAL, + encryptionAlgorithm [1] ChosenEncryptionAlgorithm OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +ChosenIntegrityProtectionAlgorithm ::= OCTET STRING (SIZE (1)) + -- Octet contains a complete IntegrityProtectionAlgorithm data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413 + -- Padding bits are included in the least significant bits. + +ChosenEncryptionAlgorithm ::= OCTET STRING (SIZE (1)) + -- Octet contains a complete EncryptionAlgorithm data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413 + -- Padding bits are included in the least significant bits. + +ChosenRadioResourceInformation ::= SEQUENCE { + chosenChannelInfo [0] ChosenChannelInfo OPTIONAL, + chosenSpeechVersion [1] ChosenSpeechVersion OPTIONAL, + ...} + +ChosenChannelInfo ::= OCTET STRING (SIZE (1)) + -- Octets are coded according the Chosen Channel information element in 3GPP TS 48.008 + +ChosenSpeechVersion ::= OCTET STRING (SIZE (1)) + -- Octets are coded according the Speech Version (chosen) information element in 3GPP TS + -- 48.008 + +PrepareSubsequentHO-Arg ::= [3] SEQUENCE { + targetCellId [0] GlobalCellId OPTIONAL, + targetMSC-Number [1] ISDN-AddressString, + targetRNCId [2] RNCId OPTIONAL, + an-APDU [3] AccessNetworkSignalInfo OPTIONAL, + selectedRab-Id [4] RAB-Id OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ..., + geran-classmark [6] GERAN-Classmark OPTIONAL, + rab-ConfigurationIndicator [7] NULL OPTIONAL } + +PrepareSubsequentHO-Res ::= [3] SEQUENCE { + an-APDU AccessNetworkSignalInfo, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +ProcessAccessSignalling-Arg ::= [3] SEQUENCE { + an-APDU AccessNetworkSignalInfo, + selectedUMTS-Algorithms [1] SelectedUMTS-Algorithms OPTIONAL, + selectedGSM-Algorithm [2] SelectedGSM-Algorithm OPTIONAL, + chosenRadioResourceInformation [3] ChosenRadioResourceInformation OPTIONAL, + selectedRab-Id [4] RAB-Id OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ..., + iUSelectedCodec [5] Codec OPTIONAL, + iuAvailableCodecsList [6] CodecList OPTIONAL, + aoipSelectedCodecTarget [7] AoIPCodec OPTIONAL, + aoipAvailableCodecsListMap [8] AoIPCodecsList OPTIONAL } + +AoIPCodecsList ::= SEQUENCE { + codec1 [1] AoIPCodec, + codec2 [2] AoIPCodec OPTIONAL, + codec3 [3] AoIPCodec OPTIONAL, + codec4 [4] AoIPCodec OPTIONAL, + codec5 [5] AoIPCodec OPTIONAL, + codec6 [6] AoIPCodec OPTIONAL, + codec7 [7] AoIPCodec OPTIONAL, + codec8 [8] AoIPCodec OPTIONAL, + extensionContainer [9] ExtensionContainer OPTIONAL, + ...} + -- Codecs are sent in priority order where codec1 has highest priority + +AoIPCodec ::= OCTET STRING (SIZE (1..3)) + + -- The internal structure is defined as follows: + -- octet 1 Coded as Speech Codec Elements in 3GPP TS 48.008 + -- with the exception that FI, PI, PT and TF bits shall + -- be set to 0 + -- octets 2,3 Optional; in case of AMR codec types it defines + -- the supported codec configurations as defined in + -- 3GPP TS 48.008 + +SupportedCodecsList ::= SEQUENCE { + utranCodecList [0] CodecList OPTIONAL, + geranCodecList [1] CodecList OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +CodecList ::= SEQUENCE { + codec1 [1] Codec, + codec2 [2] Codec OPTIONAL, + codec3 [3] Codec OPTIONAL, + codec4 [4] Codec OPTIONAL, + codec5 [5] Codec OPTIONAL, + codec6 [6] Codec OPTIONAL, + codec7 [7] Codec OPTIONAL, + codec8 [8] Codec OPTIONAL, + extensionContainer [9] ExtensionContainer OPTIONAL, + ...} + -- Codecs are sent in priority order where codec1 has highest priority + +Codec ::= OCTET STRING (SIZE (1..4)) + + -- The internal structure is defined as follows: + -- octet 1 Coded as Codec Identification code in 3GPP TS 26.103 + -- octets 2,3,4 Parameters for the Codec as defined in 3GPP TS + -- 26.103, if available, length depending on the codec + +GERAN-Classmark ::= OCTET STRING (SIZE (2..87)) + -- Octets are coded according the GERAN Classmark information element in 3GPP TS 48.008 + +SelectedGSM-Algorithm ::= OCTET STRING (SIZE (1)) + -- internal structure is coded as Algorithm identifier octet from Chosen Encryption + -- Algorithm defined in 3GPP TS 48.008 + -- A node shall mark only the selected GSM algorithm + +SendEndSignal-Arg ::= [3] SEQUENCE { + an-APDU AccessNetworkSignalInfo, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +SendEndSignal-Res ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +RNCId ::= OCTET STRING (SIZE (7)) + -- 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 RNC Id value according to 3GPP TS 25.413 + +RelocationNumberList ::= SEQUENCE SIZE (1..maxNumOfRelocationNumber) OF + RelocationNumber + +MulticallBearerInfo ::= INTEGER (1..maxNumOfRelocationNumber) + +RelocationNumber ::= SEQUENCE { + handoverNumber ISDN-AddressString, + rab-Id RAB-Id, + -- RAB Identity is needed to relate the calls with the radio access bearers. + ...} + +RAB-Id ::= INTEGER (1..maxNrOfRABs) + +maxNrOfRABs INTEGER ::= 255 + +maxNumOfRelocationNumber INTEGER ::= 7 + +RadioResourceInformation ::= OCTET STRING (SIZE (3..13)) + -- Octets are coded according the Channel Type information element in 3GPP TS 48.008 + +IntegrityProtectionInformation ::= OCTET STRING (SIZE (18..maxNumOfIntegrityInfo)) + -- Octets contain a complete IntegrityProtectionInformation data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413 + -- Padding bits are included, if needed, in the least significant bits of the + -- last octet of the octet string. + +maxNumOfIntegrityInfo INTEGER ::= 100 + +EncryptionInformation ::= OCTET STRING (SIZE (18..maxNumOfEncryptionInfo)) + -- Octets contain a complete EncryptionInformation data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413 + -- Padding bits are included, if needed, in the least significant bits of the + -- last octet of the octet string. + +maxNumOfEncryptionInfo INTEGER ::= 100 + +-- authentication management types + +SendAuthenticationInfoArg ::= SEQUENCE { + imsi [0] IMSI, + numberOfRequestedVectors NumberOfRequestedVectors, + segmentationProhibited NULL OPTIONAL, + immediateResponsePreferred [1] NULL OPTIONAL, + re-synchronisationInfo Re-synchronisationInfo OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + requestingNodeType [3] RequestingNodeType OPTIONAL, + requestingPLMN-Id [4] PLMN-Id OPTIONAL, + numberOfRequestedAdditional-Vectors [5] NumberOfRequestedVectors OPTIONAL, + additionalVectorsAreForEPS [6] NULL OPTIONAL } + + +NumberOfRequestedVectors ::= INTEGER (1..5) + +Re-synchronisationInfo ::= SEQUENCE { + rand RAND, + auts AUTS, + ...} + +SendAuthenticationInfoRes ::= [3] SEQUENCE { + authenticationSetList AuthenticationSetList OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + eps-AuthenticationSetList [2] EPS-AuthenticationSetList OPTIONAL } + +EPS-AuthenticationSetList ::= SEQUENCE SIZE (1..5) OF + EPC-AV + +EPC-AV ::= SEQUENCE { + rand RAND, + xres XRES, + autn AUTN, + kasme KASME, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +KASME ::= OCTET STRING (SIZE (32)) + +RequestingNodeType ::= ENUMERATED { + vlr (0), + sgsn (1), + ..., + s-cscf (2), + bsf (3), + gan-aaa-server (4), + wlan-aaa-server (5), + mme (16), + mme-sgsn (17) + } + -- the values 2, 3, 4 and 5 shall not be used on the MAP-D or Gr interfaces + -- exception handling: + -- received values in the range (6-15) shall be treated as "vlr" + -- received values greater than 17 shall be treated as "sgsn" + +-- equipment management types + +CheckIMEI-Arg ::= SEQUENCE { + imei IMEI, + requestedEquipmentInfo RequestedEquipmentInfo, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CheckIMEI-Res ::= SEQUENCE { + equipmentStatus EquipmentStatus OPTIONAL, + bmuef UESBI-Iu OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +RequestedEquipmentInfo::= BIT STRING { + equipmentStatus (0), + bmuef (1)} (SIZE (2..8)) + -- exception handling: reception of unknown bit assignments in the + -- RequestedEquipmentInfo data type shall be discarded by the receiver + +UESBI-Iu ::= SEQUENCE { + uesbi-IuA [0] UESBI-IuA OPTIONAL, + uesbi-IuB [1] UESBI-IuB OPTIONAL, + ...} + +UESBI-IuA ::= BIT STRING (SIZE(1..128)) +-- See 3GPP TS 25.413 + +UESBI-IuB ::= BIT STRING (SIZE(1..128)) +-- See 3GPP TS 25.413 + +EquipmentStatus ::= ENUMERATED { + whiteListed (0), + blackListed (1), + greyListed (2)} + +-- subscriber management types + +InsertSubscriberDataArg ::= SEQUENCE { + imsi [0] IMSI OPTIONAL, + COMPONENTS OF SubscriberData, + 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, + lsaInformation [25] LSAInformation OPTIONAL, + lmu-Indicator [21] NULL OPTIONAL, + lcsInformation [22] LCSInformation OPTIONAL, + istAlertTimer [26] IST-AlertTimerValue OPTIONAL, + superChargerSupportedInHLR [27] AgeIndicator OPTIONAL, + mc-SS-Info [28] MC-SS-Info OPTIONAL, + cs-AllocationRetentionPriority [29] CS-AllocationRetentionPriority OPTIONAL, + sgsn-CAMEL-SubscriptionInfo [17] SGSN-CAMEL-SubscriptionInfo OPTIONAL, + chargingCharacteristics [18] ChargingCharacteristics OPTIONAL, + accessRestrictionData [19] AccessRestrictionData OPTIONAL, + ics-Indicator [20] BOOLEAN OPTIONAL, + eps-SubscriptionData [31] EPS-SubscriptionData OPTIONAL, + csg-SubscriptionDataList [32] CSG-SubscriptionDataList OPTIONAL, + ue-ReachabilityRequestIndicator [33] NULL OPTIONAL, + sgsn-Number [34] ISDN-AddressString OPTIONAL, + mme-Name [35] DiameterIdentity OPTIONAL, + subscribedPeriodicRAUTAUtimer [36] SubscribedPeriodicRAUTAUtimer OPTIONAL, + vplmnLIPAAllowed [37] NULL OPTIONAL, + mdtUserConsent [38] BOOLEAN OPTIONAL, + subscribedPeriodicLAUtimer [39] SubscribedPeriodicLAUtimer OPTIONAL } + -- If the Network Access Mode parameter is sent, it shall be present only in + -- the first sequence if seqmentation is used + +SubscribedPeriodicRAUTAUtimer ::= INTEGER (0..4294967295) + -- This parameter carries the subscribed periodic TAU/RAU timer value in seconds. + +SubscribedPeriodicLAUtimer ::= INTEGER (0..4294967295) + -- This parameter carries the subscribed periodic LAU timer value in seconds. + +CSG-SubscriptionDataList ::= SEQUENCE SIZE (1..50) OF + CSG-SubscriptionData + +CSG-SubscriptionData ::= SEQUENCE { + csg-Id CSG-Id, + expirationDate Time OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + lipa-AllowedAPNList [0] LIPA-AllowedAPNList OPTIONAL +} + +CSG-Id ::= BIT STRING (SIZE (27)) + -- coded according to 3GPP TS 23.003 [17]. + +LIPA-AllowedAPNList ::= SEQUENCE SIZE (1..maxNumOfLIPAAllowedAPN) OF + APN + +maxNumOfLIPAAllowedAPN INTEGER ::= 50 + + +EPS-SubscriptionData ::= SEQUENCE { + apn-oi-Replacement [0] APN-OI-Replacement OPTIONAL, + -- this apn-oi-Replacement refers to the UE level apn-oi-Replacement. + rfsp-id [2] RFSP-ID OPTIONAL, + ambr [3] AMBR OPTIONAL, + apn-ConfigurationProfile [4] APN-ConfigurationProfile OPTIONAL, + stn-sr [6] ISDN-AddressString OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ..., + mps-CSPriority [7] NULL OPTIONAL, + mps-EPSPriority [8] NULL OPTIONAL } + -- mps-CSPriority by its presence indicates that the UE is subscribed to the eMLPP in + -- the CS domain, referring to the 3GPP TS 29.272 [144] for details. + -- mps-EPSPriority by its presence indicates that the UE is subscribed to the MPS in + -- the EPS domain, referring to the 3GPP TS 29.272 [144] for details. + +APN-OI-Replacement ::= OCTET STRING (SIZE (9..100)) + -- Octets are coded as APN Operator Identifier according to TS 3GPP TS 23.003 [17] + +RFSP-ID ::= INTEGER (1..256) + +APN-ConfigurationProfile ::= SEQUENCE { + defaultContext ContextId, + completeDataListIncluded NULL OPTIONAL, + -- If segmentation is used, completeDataListIncluded may only be present in the + -- first segment of APN-ConfigurationProfile. + epsDataList [1] EPS-DataList, + extensionContainer [2] ExtensionContainer OPTIONAL, + ... } + +EPS-DataList ::= SEQUENCE SIZE (1..maxNumOfAPN-Configurations) OF + APN-Configuration + + +maxNumOfAPN-Configurations INTEGER ::= 50 + + +APN-Configuration ::= SEQUENCE { + contextId [0] ContextId, + pdn-Type [1] PDN-Type, + servedPartyIP-IPv4-Address [2] PDP-Address OPTIONAL, + apn [3] APN, + eps-qos-Subscribed [4] EPS-QoS-Subscribed, + pdn-gw-Identity [5] PDN-GW-Identity OPTIONAL, + pdn-gw-AllocationType [6] PDN-GW-AllocationType OPTIONAL, + vplmnAddressAllowed [7] NULL OPTIONAL, + chargingCharacteristics [8] ChargingCharacteristics OPTIONAL, + ambr [9] AMBR OPTIONAL, + specificAPNInfoList [10] SpecificAPNInfoList OPTIONAL, extensionContainer [11] ExtensionContainer OPTIONAL, + servedPartyIP-IPv6-Address [12] PDP-Address OPTIONAL, + ..., + apn-oi-Replacement [13] APN-OI-Replacement OPTIONAL, + -- this apn-oi-Replacement refers to the APN level apn-oi-Replacement. + sipto-Permission [14] SIPTO-Permission OPTIONAL, + lipa-Permission [15] LIPA-Permission OPTIONAL + } + +PDN-Type ::= OCTET STRING (SIZE (1)) + -- Octet is coded as follows: + -- Bits + -- 3 2 1 + -- 0 0 1 IPv4 + -- 0 1 0 IPv6 + -- 0 1 1 IPv4v6 + -- 1 0 0 IPv4_or_IPv6 + -- Bits 8-4 shall be coded as zero. + -- for details see 3GPP TS 29.272 [140] + +EPS-QoS-Subscribed ::= SEQUENCE { + qos-Class-Identifier [0] QoS-Class-Identifier, + allocation-Retention-Priority [1] Allocation-Retention-Priority, + extensionContainer [2] ExtensionContainer OPTIONAL, + ... } + +AMBR ::= SEQUENCE { + max-RequestedBandwidth-UL [0] Bandwidth, + max-RequestedBandwidth-DL [1] Bandwidth, + extensionContainer [2] ExtensionContainer OPTIONAL, + ... } + + +SpecificAPNInfoList ::= SEQUENCE SIZE (1..maxNumOfSpecificAPNInfos) OF + SpecificAPNInfo + +maxNumOfSpecificAPNInfos INTEGER ::= 50 + +SpecificAPNInfo ::= SEQUENCE { + apn [0] APN, + pdn-gw-Identity [1] PDN-GW-Identity, + extensionContainer [2] ExtensionContainer OPTIONAL, + ... } + +Bandwidth ::= INTEGER + -- bits per second + +QoS-Class-Identifier ::= INTEGER (1..9) + -- values are defined in 3GPP TS 29.212 + + + +Allocation-Retention-Priority ::= SEQUENCE { + priority-level [0] INTEGER, + pre-emption-capability [1] BOOLEAN OPTIONAL, + pre-emption-vulnerability [2] BOOLEAN OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ... } + +PDN-GW-Identity ::= SEQUENCE { + pdn-gw-ipv4-Address [0] PDP-Address OPTIONAL, + pdn-gw-ipv6-Address [1] PDP-Address OPTIONAL, + pdn-gw-name [2] FQDN OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ... } + +FQDN ::= OCTET STRING (SIZE (9..255)) + + +PDN-GW-AllocationType ::= ENUMERATED { + static (0), + dynamic (1)} + + +AccessRestrictionData ::= BIT STRING { + utranNotAllowed (0), + geranNotAllowed (1), + ganNotAllowed (2), + i-hspa-evolutionNotAllowed (3), + e-utranNotAllowed (4), + ho-toNon3GPP-AccessNotAllowed (5) } (SIZE (2..8)) + -- exception handling: + -- access restriction data related to an access type not supported by a node + -- shall be ignored + -- bits 6 to 7 shall be ignored if received and not understood + + +CS-AllocationRetentionPriority ::= OCTET STRING (SIZE (1)) + -- This data type encodes each priority level defined in TS 23.107 as the binary value + -- of the priority level. + +IST-AlertTimerValue ::= INTEGER (15..255) + +LCSInformation ::= SEQUENCE { + gmlc-List [0] GMLC-List OPTIONAL, + lcs-PrivacyExceptionList [1] LCS-PrivacyExceptionList OPTIONAL, + molr-List [2] MOLR-List OPTIONAL, + ..., + add-lcs-PrivacyExceptionList [3] LCS-PrivacyExceptionList OPTIONAL } + -- add-lcs-PrivacyExceptionList may be sent only if lcs-PrivacyExceptionList is + -- present and contains four instances of LCS-PrivacyClass. If the mentioned condition + -- is not satisfied the receiving node shall discard add-lcs-PrivacyExceptionList. + -- If an LCS-PrivacyClass is received both in lcs-PrivacyExceptionList and in + -- add-lcs-PrivacyExceptionList with the same SS-Code, then the error unexpected + -- data value shall be returned. + +GMLC-List ::= SEQUENCE SIZE (1..maxNumOfGMLC) OF + ISDN-AddressString + -- if segmentation is used, the complete GMLC-List shall be sent in one segment + +maxNumOfGMLC INTEGER ::= 5 + +NetworkAccessMode ::= ENUMERATED { + packetAndCircuit (0), + onlyCircuit (1), + onlyPacket (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, + ... , + ext-QoS-Subscribed [0] Ext-QoS-Subscribed OPTIONAL, + pdp-ChargingCharacteristics [1] ChargingCharacteristics OPTIONAL, + ext2-QoS-Subscribed [2] Ext2-QoS-Subscribed OPTIONAL, + -- ext2-QoS-Subscribed may be present only if ext-QoS-Subscribed is present. + ext3-QoS-Subscribed [3] Ext3-QoS-Subscribed OPTIONAL, + -- ext3-QoS-Subscribed may be present only if ext2-QoS-Subscribed is present. + ext4-QoS-Subscribed [4] Ext4-QoS-Subscribed OPTIONAL, + -- ext4-QoS-Subscribed may be present only if ext3-QoS-Subscribed is present. + apn-oi-Replacement [5] APN-OI-Replacement OPTIONAL, + -- this apn-oi-Replacement refers to the APN level apn-oi-Replacement and has + -- higher priority than UE level apn-oi-Replacement. + ext-pdp-Type [6] Ext-PDP-Type OPTIONAL, + -- contains the value IPv4v6 defined in 3GPP TS 29.060 [105], if the PDP can be + -- accessed by dual-stack UEs + ext-pdp-Address [7] PDP-Address OPTIONAL, + -- contains an additional IP address in case of dual-stack static IP address assignment + -- for the UE. + -- it may contain an IPv4 or an IPv6 address/prefix, and it may be present + -- only if pdp-Address is present; if both are present, each parameter shall + -- contain a different type of address (IPv4 or IPv6). + ambr [10] AMBR OPTIONAL, + -- this ambr contains the AMBR associated to the APN included in the + -- PDP-Context (APN-AMBR). + sipto-Permission [8] SIPTO-Permission OPTIONAL, + lipa-Permission [9] LIPA-Permission OPTIONAL + } + +SIPTO-Permission ::= ENUMERATED { + siptoAllowed (0), + siptoNotAllowed (1) + } + +LIPA-Permission ::= ENUMERATED { + lipaProhibited (0), + lipaOnly (1), + lipaConditional (2) + } + +ContextId ::= INTEGER (1..maxNumOfPDP-Contexts) + +GPRSSubscriptionData ::= SEQUENCE { + completeDataListIncluded NULL OPTIONAL, + -- If segmentation is used, completeDataListIncluded may only be present in the + -- first segment of GPRSSubscriptionData. + gprsDataList [1] GPRSDataList, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + apn-oi-Replacement [3] APN-OI-Replacement OPTIONAL + -- this apn-oi-Replacement refers to the UE level apn-oi-Replacement. + } + +SGSN-CAMEL-SubscriptionInfo ::= SEQUENCE { + gprs-CSI [0] GPRS-CSI OPTIONAL, + mo-sms-CSI [1] SMS-CSI OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + mt-sms-CSI [3] SMS-CSI OPTIONAL, + mt-smsCAMELTDP-CriteriaList [4] MT-smsCAMELTDP-CriteriaList OPTIONAL, + mg-csi [5] MG-CSI OPTIONAL + } + +GPRS-CSI ::= SEQUENCE { + gprs-CamelTDPDataList [0] GPRS-CamelTDPDataList OPTIONAL, + camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + notificationToCSE [3] NULL OPTIONAL, + csi-Active [4] NULL OPTIONAL, + ...} +-- notificationToCSE and csi-Active shall not be present when GPRS-CSI is sent to SGSN. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- GPRS-CamelTDPData and camelCapabilityHandling shall be present in +-- the GPRS-CSI sequence. +-- If GPRS-CSI is segmented, gprs-CamelTDPDataList and camelCapabilityHandling shall be +-- present in the first segment + +GPRS-CamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF + GPRS-CamelTDPData +-- GPRS-CamelTDPDataList shall not contain more than one instance of +-- GPRS-CamelTDPData containing the same value for gprs-TriggerDetectionPoint. + +GPRS-CamelTDPData ::= SEQUENCE { + gprs-TriggerDetectionPoint [0] GPRS-TriggerDetectionPoint, + serviceKey [1] ServiceKey, + gsmSCF-Address [2] ISDN-AddressString, + defaultSessionHandling [3] DefaultGPRS-Handling, + extensionContainer [4] ExtensionContainer OPTIONAL, + ... + } + +DefaultGPRS-Handling ::= ENUMERATED { + continueTransaction (0) , + releaseTransaction (1) , + ...} +-- exception handling: +-- reception of values in range 2-31 shall be treated as "continueTransaction" +-- reception of values greater than 31 shall be treated as "releaseTransaction" + +GPRS-TriggerDetectionPoint ::= ENUMERATED { + attach (1), + attachChangeOfPosition (2), + pdp-ContextEstablishment (11), + pdp-ContextEstablishmentAcknowledgement (12), + pdp-ContextChangeOfPosition (14), + ... } +-- exception handling: +-- For GPRS-CamelTDPData sequences containing this parameter with any +-- other value than the ones listed the receiver shall ignore the whole +-- GPRS-CamelTDPDatasequence. + +APN ::= OCTET STRING (SIZE (2..63)) + -- Octets are coded according to TS 3GPP TS 23.003 [17] + +PDP-Type ::= OCTET STRING (SIZE (2)) + -- Octets are coded according to TS 3GPP TS 29.060 [105] + -- Only the values PPP, IPv4 and IPv6 are allowed for this parameter. + +Ext-PDP-Type ::= OCTET STRING (SIZE (2)) + -- Octets are coded, similarly to PDP-Type, according to TS 3GPP TS 29.060 [105]. + -- Only the value IPv4v6 is allowed for this parameter. + +PDP-Address ::= OCTET STRING (SIZE (1..16)) + -- Octets are coded according to TS 3GPP TS 29.060 [105] + + -- The possible size values are: + -- 1-7 octets X.25 address type + -- 4 octets IPv4 address type + -- 16 octets Ipv6 address type + +QoS-Subscribed ::= OCTET STRING (SIZE (3)) + -- Octets are coded according to TS 3GPP TS 24.008 [35] Quality of Service Octets + -- 3-5. + +Ext-QoS-Subscribed ::= OCTET STRING (SIZE (1..9)) + -- OCTET 1: + -- Allocation/Retention Priority (This octet encodes each priority level defined in + -- 23.107 as the binary value of the priority level, declaration in 29.060) + -- Octets 2-9 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets + -- 6-13. + +Ext2-QoS-Subscribed ::= OCTET STRING (SIZE (1..3)) + -- Octets 1-3 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets 14-16. + -- If Quality of Service information is structured with 14 octet length, then + -- Octet 1 is coded according to 3GPP TS 24.008 [35] Quality of Service Octet 14. + +Ext3-QoS-Subscribed ::= OCTET STRING (SIZE (1..2)) + -- Octets 1-2 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets 17-18. + +Ext4-QoS-Subscribed ::= OCTET STRING (SIZE (1)) + -- Octet 1: + -- Evolved Allocation/Retention Priority. This octet encodes the Priority Level (PL), + -- the Preemption Capability (PCI) and Preemption Vulnerability (PVI) values, as + -- described in 3GPP TS 29.060 [105]. + +ChargingCharacteristics ::= OCTET STRING (SIZE (2)) + -- Octets are coded according to 3GPP TS 32.215. + +LSAOnlyAccessIndicator ::= ENUMERATED { + accessOutsideLSAsAllowed (0), + accessOutsideLSAsRestricted (1)} + +LSADataList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF + LSAData + +maxNumOfLSAs INTEGER ::= 20 + +LSAData ::= SEQUENCE { + lsaIdentity [0] LSAIdentity, + lsaAttributes [1] LSAAttributes, + lsaActiveModeIndicator [2] NULL OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +LSAInformation ::= SEQUENCE { + completeDataListIncluded NULL OPTIONAL, + + -- If segmentation is used, completeDataListIncluded may only be present in the + -- first segment. + lsaOnlyAccessIndicator [1] LSAOnlyAccessIndicator OPTIONAL, + lsaDataList [2] LSADataList OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +LSAIdentity ::= OCTET STRING (SIZE (3)) + -- Octets are coded according to TS 3GPP TS 23.003 [17] + +LSAAttributes ::= OCTET STRING (SIZE (1)) + -- Octets are coded according to TS 3GPP TS 48.008 [49] + +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 8.8.1 + teleserviceList [6] TeleserviceList OPTIONAL, + -- The exception handling for reception of unsupported / not allocated + -- teleserviceCodes is defined in section 8.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 ITU-T 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), + allPacketOrientedServicesBarred (15), + roamerAccessToHPLMN-AP-Barred (16), + roamerAccessToVPLMN-AP-Barred (17), + roamingOutsidePLMNOG-CallsBarred (18), + allIC-CallsBarred (19), + roamingOutsidePLMNIC-CallsBarred (20), + roamingOutsidePLMNICountryIC-CallsBarred (21), + roamingOutsidePLMN-Barred (22), + roamingOutsidePLMN-CountryBarred (23), + registrationAllCF-Barred (24), + registrationCFNotToHPLMN-Barred (25), + registrationInterzonalCF-Barred (26), + registrationInterzonalCFNotToHPLMN-Barred (27), + registrationInternationalCF-Barred (28)} (SIZE (15..32)) + -- exception handling: reception of unknown bit assignments in the + -- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData + -- When the ODB-GeneralData type is removed from the HLR for a given subscriber, + -- in NoteSubscriberDataModified operation sent toward the gsmSCF + -- all bits shall be set to “O“. + +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 + -- When the ODB-HPLMN-Data type is removed from the HLR for a given subscriber, + -- in NoteSubscriberDataModified operation sent toward the gsmSCF + -- all bits shall be set to “O“. + +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, + ..., + longForwardedToNumber [10] FTN-AddressString OPTIONAL } + +Ext-ForwOptions ::= OCTET STRING (SIZE (1..5)) + + -- OCTET 1: + + -- bit 8: notification to forwarding party + -- 0 no notification + -- 1 notification + + -- bit 7: redirecting presentation + -- 0 no presentation + -- 1 presentation + + -- 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, + ...} + +LCS-PrivacyExceptionList ::= SEQUENCE SIZE (1..maxNumOfPrivacyClass) OF + LCS-PrivacyClass + +maxNumOfPrivacyClass INTEGER ::= 4 + +LCS-PrivacyClass ::= SEQUENCE { + ss-Code SS-Code, + ss-Status Ext-SS-Status, + notificationToMSUser [0] NotificationToMSUser OPTIONAL, + -- notificationToMSUser may be sent only for SS-codes callSessionRelated + -- and callSessionUnrelated. If not received for SS-codes callSessionRelated + -- and callSessionUnrelated, + -- the default values according to 3GPP TS 23.271 shall be assumed. + externalClientList [1] ExternalClientList OPTIONAL, + -- externalClientList may be sent only for SS-code callSessionUnrelated to a + -- visited node that does not support LCS Release 4 or later versions. + -- externalClientList may be sent only for SS-codes callSessionUnrelated and + -- callSessionRelated to a visited node that supports LCS Release 4 or later versions. + plmnClientList [2] PLMNClientList OPTIONAL, + -- plmnClientList may be sent only for SS-code plmnoperator. + extensionContainer [3] ExtensionContainer OPTIONAL, + ..., + ext-externalClientList [4] Ext-ExternalClientList OPTIONAL, + -- Ext-externalClientList may be sent only if the visited node supports LCS Release 4 or + -- later versions, the user did specify more than 5 clients, and White Book SCCP is used. + serviceTypeList [5] ServiceTypeList OPTIONAL + -- serviceTypeList may be sent only for SS-code serviceType and if the visited node + -- supports LCS Release 5 or later versions. + -- + -- if segmentation is used, the complete LCS-PrivacyClass shall be sent in one segment +} + +ExternalClientList ::= SEQUENCE SIZE (0..maxNumOfExternalClient) OF + ExternalClient + +maxNumOfExternalClient INTEGER ::= 5 + +PLMNClientList ::= SEQUENCE SIZE (1..maxNumOfPLMNClient) OF + LCSClientInternalID + +maxNumOfPLMNClient INTEGER ::= 5 + +Ext-ExternalClientList ::= SEQUENCE SIZE (1..maxNumOfExt-ExternalClient) OF + ExternalClient + +maxNumOfExt-ExternalClient INTEGER ::= 35 + +ExternalClient ::= SEQUENCE { + clientIdentity LCSClientExternalID, + gmlc-Restriction [0] GMLC-Restriction OPTIONAL, + notificationToMSUser [1] NotificationToMSUser OPTIONAL, + -- If notificationToMSUser is not received, the default value according to + -- 3GPP TS 23.271 shall be assumed. + extensionContainer [2] ExtensionContainer OPTIONAL, + ... } + +GMLC-Restriction ::= ENUMERATED { + gmlc-List (0), + home-Country (1) , + ... } +-- exception handling: +-- At reception of any other value than the ones listed the receiver shall ignore +-- GMLC-Restriction. + +NotificationToMSUser ::= ENUMERATED { + notifyLocationAllowed (0), + notifyAndVerify-LocationAllowedIfNoResponse (1), + notifyAndVerify-LocationNotAllowedIfNoResponse (2), + ..., + locationNotAllowed (3) } +-- exception handling: +-- At reception of any other value than the ones listed the receiver shall ignore +-- NotificationToMSUser. + +ServiceTypeList ::= SEQUENCE SIZE (1..maxNumOfServiceType) OF + ServiceType + +maxNumOfServiceType INTEGER ::= 32 + +ServiceType ::= SEQUENCE { + serviceTypeIdentity LCSServiceTypeID, + gmlc-Restriction [0] GMLC-Restriction OPTIONAL, + notificationToMSUser [1] NotificationToMSUser OPTIONAL, + -- If notificationToMSUser is not received, the default value according to + -- 3GPP TS 23.271 shall be assumed. + extensionContainer [2] ExtensionContainer OPTIONAL, + ... } + +MOLR-List ::= SEQUENCE SIZE (1..maxNumOfMOLR-Class) OF + MOLR-Class + +maxNumOfMOLR-Class INTEGER ::= 3 + +MOLR-Class ::= SEQUENCE { + ss-Code SS-Code, + ss-Status Ext-SS-Status, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +ZoneCodeList ::= SEQUENCE SIZE (1..maxNumOfZoneCodes) + OF ZoneCode + +ZoneCode ::= OCTET STRING (SIZE (2)) + -- internal structure is defined in TS 3GPP TS 23.003 [17] + +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, + ... , + offeredCamel4CSIs [8] OfferedCamel4CSIs OPTIONAL, + supportedFeatures [9] SupportedFeatures 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, + lsaInformationWithdraw [12] LSAInformationWithdraw OPTIONAL, + gmlc-ListWithdraw [13] NULL OPTIONAL, + istInformationWithdraw [14] NULL OPTIONAL, + specificCSI-Withdraw [15] SpecificCSI-Withdraw OPTIONAL, + chargingCharacteristicsWithdraw [16] NULL OPTIONAL, + stn-srWithdraw [17] NULL OPTIONAL, + epsSubscriptionDataWithdraw [18] EPS-SubscriptionDataWithdraw OPTIONAL, + apn-oi-replacementWithdraw [19] NULL OPTIONAL, + csg-SubscriptionDeleted [20] NULL OPTIONAL, + subscribedPeriodicTAU-RAU-TimerWithdraw [22] NULL OPTIONAL, + subscribedPeriodicLAU-TimerWithdraw [23] NULL OPTIONAL } + +SpecificCSI-Withdraw ::= BIT STRING { + o-csi (0), + ss-csi (1), + tif-csi (2), + d-csi (3), + vt-csi (4), + mo-sms-csi (5), + m-csi (6), + gprs-csi (7), + t-csi (8), + mt-sms-csi (9), + mg-csi (10), + o-IM-CSI (11), + d-IM-CSI (12), + vt-IM-CSI (13) } (SIZE(8..32)) +-- exception handling: +-- bits 11 to 31 shall be ignored if received by a non-IP Multimedia Core Network entity. +-- bits 0-10 and 14-31 shall be ignored if received by an IP Multimedia Core Network entity. +-- bits 11-13 are only applicable in an IP Multimedia Core Network. +-- Bit 8 and bits 11-13 are only applicable for the NoteSubscriberDataModified operation. + +GPRSSubscriptionDataWithdraw ::= CHOICE { + allGPRSData NULL, + contextIdList ContextIdList} + +EPS-SubscriptionDataWithdraw ::= CHOICE { + allEPS-Data NULL, + contextIdList ContextIdList} + +ContextIdList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF + ContextId + +LSAInformationWithdraw ::= CHOICE { + allLSAData NULL, + lsaIdentityList LSAIdentityList } + +LSAIdentityList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF + LSAIdentity + +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, + o-BcsmCamelTDP-CriteriaList [4] O-BcsmCamelTDPCriteriaList OPTIONAL, + tif-CSI [3] NULL OPTIONAL, + m-CSI [5] M-CSI OPTIONAL, + mo-sms-CSI [6] SMS-CSI OPTIONAL, + vt-CSI [7] T-CSI OPTIONAL, + t-BCSM-CAMEL-TDP-CriteriaList [8] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL, + d-CSI [9] D-CSI OPTIONAL, + mt-sms-CSI [10] SMS-CSI OPTIONAL, + mt-smsCAMELTDP-CriteriaList [11] MT-smsCAMELTDP-CriteriaList OPTIONAL + } + +MT-smsCAMELTDP-CriteriaList ::= SEQUENCE SIZE (1.. maxNumOfCamelTDPData) OF + MT-smsCAMELTDP-Criteria + +MT-smsCAMELTDP-Criteria ::= SEQUENCE { + sms-TriggerDetectionPoint SMS-TriggerDetectionPoint, + tpdu-TypeCriterion [0] TPDU-TypeCriterion OPTIONAL, + ... } + +TPDU-TypeCriterion ::= SEQUENCE SIZE (1..maxNumOfTPDUTypes) OF + MT-SMS-TPDU-Type + + +maxNumOfTPDUTypes INTEGER ::= 5 + +MT-SMS-TPDU-Type ::= ENUMERATED { + sms-DELIVER (0), + sms-SUBMIT-REPORT (1), + sms-STATUS-REPORT (2), + ... } + +-- exception handling: +-- For TPDU-TypeCriterion sequences containing this parameter with any +-- other value than the ones listed above the receiver shall ignore +-- the whole TPDU-TypeCriterion sequence. +-- In CAMEL phase 4, sms-SUBMIT-REPORT shall not be used and a received TPDU-TypeCriterion +-- sequence containing sms-SUBMIT-REPORT shall be wholly ignored. + +D-CSI ::= SEQUENCE { + dp-AnalysedInfoCriteriaList [0] DP-AnalysedInfoCriteriaList OPTIONAL, + camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + notificationToCSE [3] NULL OPTIONAL, + csi-Active [4] NULL OPTIONAL, + ...} +-- notificationToCSE and csi-Active shall not be present when D-CSI is sent to VLR/GMSC. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- DP-AnalysedInfoCriteria and camelCapabilityHandling shall be present in +-- the D-CSI sequence. +-- If D-CSI is segmented, then the first segment shall contain dp-AnalysedInfoCriteriaList +-- and camelCapabilityHandling. Subsequent segments shall not contain +-- camelCapabilityHandling, but may contain dp-AnalysedInfoCriteriaList. + +DP-AnalysedInfoCriteriaList ::= SEQUENCE SIZE (1..maxNumOfDP-AnalysedInfoCriteria) OF + DP-AnalysedInfoCriterium + +maxNumOfDP-AnalysedInfoCriteria INTEGER ::= 10 + +DP-AnalysedInfoCriterium ::= SEQUENCE { + dialledNumber ISDN-AddressString, + serviceKey ServiceKey, + gsmSCF-Address ISDN-AddressString, + defaultCallHandling DefaultCallHandling, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SS-CSI ::= SEQUENCE { + ss-CamelData SS-CamelData, + extensionContainer ExtensionContainer OPTIONAL, + ..., + notificationToCSE [0] NULL OPTIONAL, + csi-Active [1] NULL OPTIONAL +-- notificationToCSE and csi-Active shall not be present when SS-CSI is sent to VLR. +-- They may only be included in ATSI/ATM ack/NSDC message. +} + +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 3: + -- ect SS-Code ::= '00110001'B + -- multiPTY SS-Code ::= '01010001'B + -- cd SS-Code ::= '00100100'B + -- ccbs SS-Code ::= '01000100'B + -- all other SS codes shall be ignored + -- When SS-CSI is sent to the VLR, it shall not contain a marking for ccbs. + -- If the VLR receives SS-CSI containing a marking for ccbs, the VLR shall discard the + -- ccbs marking in SS-CSI. + +maxNumOfCamelSSEvents INTEGER ::= 10 + +O-CSI ::= SEQUENCE { + o-BcsmCamelTDPDataList O-BcsmCamelTDPDataList, + extensionContainer ExtensionContainer OPTIONAL, + ..., + camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL, + notificationToCSE [1] NULL OPTIONAL, + csiActive [2] NULL OPTIONAL} +-- notificationtoCSE and csiActive shall not be present when O-CSI is sent to VLR/GMSC. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- O-CSI shall not be segmented. + +O-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF + O-BcsmCamelTDPData + -- O-BcsmCamelTDPDataList shall not contain more than one instance of + -- O-BcsmCamelTDPData containing the same value for o-BcsmTriggerDetectionPoint. + -- For CAMEL Phase 2, this means that only one instance of O-BcsmCamelTDPData is allowed + -- with o-BcsmTriggerDetectionPoint being equal to DP2. + +maxNumOfCamelTDPData INTEGER ::= 10 + +O-BcsmCamelTDPData ::= SEQUENCE { + o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint, + serviceKey ServiceKey, + gsmSCF-Address [0] ISDN-AddressString, + defaultCallHandling [1] DefaultCallHandling, + extensionContainer [2] ExtensionContainer OPTIONAL, + ... + } + +ServiceKey ::= INTEGER (0..2147483647) + +O-BcsmTriggerDetectionPoint ::= ENUMERATED { + collectedInfo (2), + ..., + routeSelectFailure (4) } + -- 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. + -- For O-BcsmCamelTDP-Criteria sequences containing this parameter with any + -- other value than the ones listed the receiver shall ignore the whole + -- O-BcsmCamelTDP-Criteria sequence. + +O-BcsmCamelTDPCriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF + O-BcsmCamelTDP-Criteria + +T-BCSM-CAMEL-TDP-CriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF + T-BCSM-CAMEL-TDP-Criteria + +O-BcsmCamelTDP-Criteria ::= SEQUENCE { + o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint, + destinationNumberCriteria [0] DestinationNumberCriteria OPTIONAL, + basicServiceCriteria [1] BasicServiceCriteria OPTIONAL, + callTypeCriteria [2] CallTypeCriteria OPTIONAL, + ..., + o-CauseValueCriteria [3] O-CauseValueCriteria OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL } + +T-BCSM-CAMEL-TDP-Criteria ::= SEQUENCE { + t-BCSM-TriggerDetectionPoint T-BcsmTriggerDetectionPoint, + basicServiceCriteria [0] BasicServiceCriteria OPTIONAL, + t-CauseValueCriteria [1] T-CauseValueCriteria OPTIONAL, + ... } + +DestinationNumberCriteria ::= SEQUENCE { + matchType [0] MatchType, + destinationNumberList [1] DestinationNumberList OPTIONAL, + destinationNumberLengthList [2] DestinationNumberLengthList OPTIONAL, + -- one or both of destinationNumberList and destinationNumberLengthList + -- shall be present + ...} + +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 + INTEGER(1..maxNumOfISDN-AddressDigits) + +BasicServiceCriteria ::= SEQUENCE SIZE(1..maxNumOfCamelBasicServiceCriteria) OF + Ext-BasicServiceCode + +maxNumOfISDN-AddressDigits INTEGER ::= 15 + +maxNumOfCamelDestinationNumbers INTEGER ::= 10 + +maxNumOfCamelDestinationNumberLengths INTEGER ::= 3 + +maxNumOfCamelBasicServiceCriteria INTEGER ::= 5 + +CallTypeCriteria ::= ENUMERATED { + forwarded (0), + notForwarded (1)} + +MatchType ::= ENUMERATED { + inhibiting (0), + enabling (1)} + +O-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-O-CauseValueCriteria) OF + CauseValue + +T-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-T-CauseValueCriteria) OF + CauseValue + +maxNumOfCAMEL-O-CauseValueCriteria INTEGER ::= 5 + +maxNumOfCAMEL-T-CauseValueCriteria INTEGER ::= 5 + +CauseValue ::= OCTET STRING (SIZE(1)) +-- Type extracted from Cause parameter in ITU-T Recommendation Q.763. +-- For the use of cause value refer to ITU-T Recommendation Q.850. + +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, + -- value 3 = CAMEL Phase 3, + -- value 4 = CAMEL phase 4: + -- reception of values greater than 4 shall be treated as CAMEL phase 4. + +SupportedCamelPhases ::= BIT STRING { + phase1 (0), + phase2 (1), + phase3 (2), + phase4 (3)} (SIZE (1..16)) +-- A node shall mark in the BIT STRING all CAMEL Phases it supports. +-- Other values than listed above shall be discarded. + +OfferedCamel4CSIs ::= BIT STRING { + o-csi (0), + d-csi (1), + vt-csi (2), + t-csi (3), + mt-sms-csi (4), + mg-csi (5), + psi-enhancements (6) +} (SIZE (7..16)) +-- A node supporting Camel phase 4 shall mark in the BIT STRING all Camel4 CSIs +-- it offers. +-- Other values than listed above shall be discarded. + +OfferedCamel4Functionalities ::= BIT STRING { + initiateCallAttempt (0), + splitLeg (1), + moveLeg (2), + disconnectLeg (3), + entityReleased (4), + dfc-WithArgument (5), + playTone (6), + dtmf-MidCall (7), + chargingIndicator (8), + alertingDP (9), + locationAtAlerting (10), + changeOfPositionDP (11), + or-Interactions (12), + warningToneEnhancements (13), + cf-Enhancements (14), + subscribedEnhancedDialledServices (15), + servingNetworkEnhancedDialledServices (16), + criteriaForChangeOfPositionDP (17), + serviceChangeDP (18), + collectInformation (19) +} (SIZE (15..64)) +-- A node supporting Camel phase 4 shall mark in the BIT STRING all CAMEL4 +-- functionalities it offers. +-- Other values than listed above shall be discarded. + +SMS-CSI ::= SEQUENCE { + sms-CAMEL-TDP-DataList [0] SMS-CAMEL-TDP-DataList OPTIONAL, + camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + notificationToCSE [3] NULL OPTIONAL, + csi-Active [4] NULL OPTIONAL, + ...} +-- notificationToCSE and csi-Active shall not be present +-- when MO-SMS-CSI or MT-SMS-CSI is sent to VLR or SGSN. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- SMS-CAMEL-TDP-Data and camelCapabilityHandling shall be present in +-- the SMS-CSI sequence. +-- If SMS-CSI is segmented, sms-CAMEL-TDP-DataList and camelCapabilityHandling shall be +-- present in the first segment + +SMS-CAMEL-TDP-DataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF + SMS-CAMEL-TDP-Data +-- SMS-CAMEL-TDP-DataList shall not contain more than one instance of +-- SMS-CAMEL-TDP-Data containing the same value for sms-TriggerDetectionPoint. + +SMS-CAMEL-TDP-Data ::= SEQUENCE { + sms-TriggerDetectionPoint [0] SMS-TriggerDetectionPoint, + serviceKey [1] ServiceKey, + gsmSCF-Address [2] ISDN-AddressString, + defaultSMS-Handling [3] DefaultSMS-Handling, + extensionContainer [4] ExtensionContainer OPTIONAL, + ... + } + +SMS-TriggerDetectionPoint ::= ENUMERATED { + sms-CollectedInfo (1), + ..., + sms-DeliveryRequest (2) + } +-- exception handling: +-- For SMS-CAMEL-TDP-Data and MT-smsCAMELTDP-Criteria sequences containing this +-- parameter with any other value than the ones listed the receiver shall ignore +-- the whole sequence. +-- +-- If this parameter is received with any other value than sms-CollectedInfo +-- in an SMS-CAMEL-TDP-Data sequence contained in mo-sms-CSI, then the receiver shall +-- ignore the whole SMS-CAMEL-TDP-Data sequence. +-- +-- If this parameter is received with any other value than sms-DeliveryRequest +-- in an SMS-CAMEL-TDP-Data sequence contained in mt-sms-CSI then the receiver shall +-- ignore the whole SMS-CAMEL-TDP-Data sequence. +-- +-- If this parameter is received with any other value than sms-DeliveryRequest +-- in an MT-smsCAMELTDP-Criteria sequence then the receiver shall +-- ignore the whole MT-smsCAMELTDP-Criteria sequence. + +DefaultSMS-Handling ::= ENUMERATED { + continueTransaction (0) , + releaseTransaction (1) , + ...} +-- exception handling: +-- reception of values in range 2-31 shall be treated as "continueTransaction" +-- reception of values greater than 31 shall be treated as "releaseTransaction" + +M-CSI ::= SEQUENCE { + mobilityTriggers MobilityTriggers, + serviceKey ServiceKey, + gsmSCF-Address [0] ISDN-AddressString, + extensionContainer [1] ExtensionContainer OPTIONAL, + notificationToCSE [2] NULL OPTIONAL, + csi-Active [3] NULL OPTIONAL, + ...} +-- notificationToCSE and csi-Active shall not be present when M-CSI is sent to VLR. +-- They may only be included in ATSI/ATM ack/NSDC message. + +MG-CSI ::= SEQUENCE { + mobilityTriggers MobilityTriggers, + serviceKey ServiceKey, + gsmSCF-Address [0] ISDN-AddressString, + extensionContainer [1] ExtensionContainer OPTIONAL, + notificationToCSE [2] NULL OPTIONAL, + csi-Active [3] NULL OPTIONAL, + ...} +-- notificationToCSE and csi-Active shall not be present when MG-CSI is sent to SGSN. +-- They may only be included in ATSI/ATM ack/NSDC message. + +MobilityTriggers ::= SEQUENCE SIZE (1..maxNumOfMobilityTriggers) OF + MM-Code + +maxNumOfMobilityTriggers INTEGER ::= 10 + +MM-Code ::= OCTET STRING (SIZE (1)) +-- This type is used to indicate a Mobility Management event. +-- Actions for the following MM-Code values are defined in CAMEL Phase 4: +-- +-- CS domain MM events: +-- Location-update-in-same-VLR MM-Code ::= '00000000'B +-- Location-update-to-other-VLR MM-Code ::= '00000001'B +-- IMSI-Attach MM-Code ::= '00000010'B +-- MS-initiated-IMSI-Detach MM-Code ::= '00000011'B +-- Network-initiated-IMSI-Detach MM-Code ::= '00000100'B +-- +-- PS domain MM events: +-- Routeing-Area-update-in-same-SGSN MM-Code ::= '10000000'B +-- Routeing-Area-update-to-other-SGSN-update-from-new-SGSN +-- MM-Code ::= '10000001'B +-- Routeing-Area-update-to-other-SGSN-disconnect-by-detach +-- MM-Code ::= '10000010'B +-- GPRS-Attach MM-Code ::= '10000011'B +-- MS-initiated-GPRS-Detach MM-Code ::= '10000100'B +-- Network-initiated-GPRS-Detach MM-Code ::= '10000101'B +-- Network-initiated-transfer-to-MS-not-reachable-for-paging +-- MM-Code ::= '10000110'B +-- +-- If the MSC receives any other MM-code than the ones listed above for the +-- CS domain, then the MSC shall ignore that MM-code. +-- If the SGSN receives any other MM-code than the ones listed above for the +-- PS domain, then the SGSN shall ignore that MM-code. + +T-CSI ::= SEQUENCE { + t-BcsmCamelTDPDataList T-BcsmCamelTDPDataList, + extensionContainer ExtensionContainer OPTIONAL, + ..., + camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL, + notificationToCSE [1] NULL OPTIONAL, + csi-Active [2] NULL OPTIONAL} +-- notificationToCSE and csi-Active shall not be present when VT-CSI/T-CSI is sent +-- to VLR/GMSC. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- T-CSI shall not be segmented. + +T-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF + T-BcsmCamelTDPData + --- T-BcsmCamelTDPDataList shall not contain more than one instance of + --- T-BcsmCamelTDPData containing the same value for t-BcsmTriggerDetectionPoint. + --- For CAMEL Phase 2, this means that only one instance of T-BcsmCamelTDPData is allowed + --- with t-BcsmTriggerDetectionPoint being equal to DP12. + --- For CAMEL Phase 3, more TDP’s are allowed. + +T-BcsmCamelTDPData ::= SEQUENCE { + t-BcsmTriggerDetectionPoint T-BcsmTriggerDetectionPoint, + serviceKey ServiceKey, + gsmSCF-Address [0] ISDN-AddressString, + defaultCallHandling [1] DefaultCallHandling, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +T-BcsmTriggerDetectionPoint ::= ENUMERATED { + termAttemptAuthorized (12), + ... , + tBusy (13), + tNoAnswer (14)} + -- exception handling: + -- For T-BcsmCamelTDPData sequences containing this parameter with any other + -- value than the ones listed above, the receiver shall ignore the whole + -- T-BcsmCamelTDPData sequence. + +-- gprs location information retrieval types + +SendRoutingInfoForGprsArg ::= SEQUENCE { + imsi [0] IMSI, + ggsn-Address [1] GSN-Address OPTIONAL, + ggsn-Number [2] ISDN-AddressString, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +SendRoutingInfoForGprsRes ::= SEQUENCE { + sgsn-Address [0] GSN-Address, + ggsn-Address [1] GSN-Address OPTIONAL, + mobileNotReachableReason [2] AbsentSubscriberDiagnosticSM OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +-- failure report types + +FailureReportArg ::= SEQUENCE { + imsi [0] IMSI, + ggsn-Number [1] ISDN-AddressString , + ggsn-Address [2] GSN-Address OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +FailureReportRes ::= SEQUENCE { + ggsn-Address [0] GSN-Address OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +-- gprs notification types + +NoteMsPresentForGprsArg ::= SEQUENCE { + imsi [0] IMSI, + sgsn-Address [1] GSN-Address, + ggsn-Address [2] GSN-Address OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +NoteMsPresentForGprsRes ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +-- fault recovery types + +ResetArg ::= SEQUENCE { + hlr-Number ISDN-AddressString, + hlr-List HLR-List OPTIONAL, + ...} + +RestoreDataArg ::= SEQUENCE { + imsi IMSI, + lmsi LMSI OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + vlr-Capability [6] VLR-Capability OPTIONAL, + restorationIndicator [7] NULL OPTIONAL + } + +RestoreDataRes ::= SEQUENCE { + hlr-Number ISDN-AddressString, + msNotReachable NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +-- 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, + -- groupId shall be filled with six TBCD fillers (1111)if the longGroupId is present + extensionContainer ExtensionContainer OPTIONAL, + ..., + additionalSubscriptions AdditionalSubscriptions OPTIONAL, + additionalInfo [0] AdditionalInfo OPTIONAL, + longGroupId [1] Long-GroupId OPTIONAL } + + -- VoiceGroupCallData containing a longGroupId shall not be sent to VLRs that did not + -- indicate support of long Group IDs within the Update Location or Restore Data + -- request message + +AdditionalInfo ::= BIT STRING (SIZE (1..136)) +-- Refers to Additional Info as specified in 3GPP TS 43.068 + +AdditionalSubscriptions ::= BIT STRING { + privilegedUplinkRequest (0), + emergencyUplinkRequest (1), + emergencyReset (2)} (SIZE (3..8)) +-- Other bits than listed above shall be discarded. + +VoiceBroadcastData ::= SEQUENCE { + groupid GroupId, + -- groupId shall be filled with six TBCD fillers (1111)if the longGroupId is present + broadcastInitEntitlement NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + longGroupId [0] Long-GroupId OPTIONAL } + +-- VoiceBroadcastData containing a longGroupId shall not be sent to VLRs that did not +-- indicate support of long Group IDs within the Update Location or Restore Data + -- request message + +GroupId ::= TBCD-STRING (SIZE (3)) + -- When Group-Id is less than six characters in length, the TBCD filler (1111) + -- is used to fill unused half octets. + -- Refers to the Group Identification as specified in 3GPP TS 23.003 + -- and 3GPP TS 43.068/ 43.069 + +Long-GroupId ::= TBCD-STRING (SIZE (4)) + -- When Long-Group-Id is less than eight characters in length, the TBCD filler (1111) + -- is used to fill unused half octets. + -- Refers to the Group Identification as specified in 3GPP TS 23.003 + -- and 3GPP TS 43.068/ 43.069 + + +-- provide subscriber info types + +ProvideSubscriberInfoArg ::= SEQUENCE { + imsi [0] IMSI, + lmsi [1] LMSI OPTIONAL, + requestedInfo [2] RequestedInfo, + extensionContainer [3] ExtensionContainer OPTIONAL, + ..., + callPriority [4] EMLPP-Priority OPTIONAL + } + +ProvideSubscriberInfoRes ::= SEQUENCE { + subscriberInfo SubscriberInfo, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SubscriberInfo ::= SEQUENCE { + locationInformation [0] LocationInformation OPTIONAL, + subscriberState [1] SubscriberState OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ... , + locationInformationGPRS [3] LocationInformationGPRS OPTIONAL, + ps-SubscriberState [4] PS-SubscriberState OPTIONAL, + imei [5] IMEI OPTIONAL, + ms-Classmark2 [6] MS-Classmark2 OPTIONAL, + gprs-MS-Class [7] GPRSMSClass OPTIONAL, + mnpInfoRes [8] MNPInfoRes OPTIONAL, + imsVoiceOverPS-SessionsIndication [9] IMS-VoiceOverPS-SessionsInd OPTIONAL, + lastUE-ActivityTime [10] Time OPTIONAL, + lastRAT-Type [11] Used-RAT-Type OPTIONAL, + eps-SubscriberState [12] PS-SubscriberState OPTIONAL, + locationInformationEPS [13] LocationInformationEPS OPTIONAL } + +-- If the HLR receives locationInformation, subscriberState or ms-Classmark2 from an SGSN or +-- MME (via an IWF), it shall discard them. +-- If the HLR receives locationInformationGPRS, ps-SubscriberState, gprs-MS-Class or +-- locationInformationEPS (outside the locationInformation IE) from a VLR, it shall +-- discard them. +-- If the HLR receives parameters which it has not requested, it shall discard them. + +IMS-VoiceOverPS-SessionsInd ::= ENUMERATED { + imsVoiceOverPS-SessionsNotSupported (0), + imsVoiceOverPS-SessionsSupported (1), + unknown (2) + } +-- "unknown" shall not be used within ProvideSubscriberInfoRes + +MNPInfoRes ::= SEQUENCE { + routeingNumber [0] RouteingNumber OPTIONAL, + imsi [1] IMSI OPTIONAL, + msisdn [2] ISDN-AddressString OPTIONAL, + numberPortabilityStatus [3] NumberPortabilityStatus OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ... } +-- The IMSI parameter contains a generic IMSI, i.e. it is not tied necessarily to the +-- Subscriber. MCC and MNC values in this IMSI shall point to the Subscription Network of +-- the Subscriber. See 3GPP TS 23.066 [108]. + +RouteingNumber ::= TBCD-STRING (SIZE (1..5)) + + +NumberPortabilityStatus ::= ENUMERATED { + notKnownToBePorted (0), + ownNumberPortedOut (1), + foreignNumberPortedToForeignNetwork (2), + ..., + ownNumberNotPortedOut (4), + foreignNumberPortedIn (5) + } + -- exception handling: + -- reception of other values than the ones listed the receiver shall ignore the + -- whole NumberPortabilityStatus; + -- ownNumberNotPortedOut or foreignNumberPortedIn may only be included in Any Time + -- Interrogation message. + +MS-Classmark2 ::= OCTET STRING (SIZE (3)) + -- This parameter carries the value part of the MS Classmark 2 IE defined in + -- 3GPP TS 24.008 [35]. + +GPRSMSClass ::= SEQUENCE { + mSNetworkCapability [0] MSNetworkCapability, + mSRadioAccessCapability [1] MSRadioAccessCapability OPTIONAL + } + +MSNetworkCapability ::= OCTET STRING (SIZE (1..8)) + -- This parameter carries the value part of the MS Network Capability IE defined in + -- 3GPP TS 24.008 [35]. + +MSRadioAccessCapability ::= OCTET STRING (SIZE (1..50)) + -- This parameter carries the value part of the MS Radio Access Capability IE defined in + -- 3GPP TS 24.008 [35]. + +RequestedInfo ::= SEQUENCE { + locationInformation [0] NULL OPTIONAL, + subscriberState [1] NULL OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + currentLocation [3] NULL OPTIONAL, + requestedDomain [4] DomainType OPTIONAL, + imei [6] NULL OPTIONAL, + ms-classmark [5] NULL OPTIONAL, + mnpRequestedInfo [7] NULL OPTIONAL, + locationInformationEPS-Supported [11] NULL OPTIONAL, + t-adsData [8] NULL OPTIONAL, + requestedNodes [9] RequestedNodes OPTIONAL, + servingNodeIndication [10] NULL OPTIONAL } + +-- currentLocation and locationInformationEPS-Supported shall be absent if +-- locationInformation is absent +-- t-adsData shall be absent in messages sent to the VLR +-- requestedNodes shall be absent if requestedDomain is "cs-Domain" +-- servingNodeIndication shall be absent if locationInformation is absent; +-- servingNodeIndication shall be absent if current location is present; +-- servingNodeIndication indicates by its presence that only the serving node's +-- address (MME-Name or SGSN-Number or VLR-Number) is requested. + +DomainType ::= ENUMERATED { + cs-Domain (0), + ps-Domain (1), + ...} +-- exception handling: +-- reception of values > 1 shall be mapped to 'cs-Domain' + +RequestedNodes ::= BIT STRING { + mme (0), + sgsn (1)} (SIZE (1..8)) +-- Other bits than listed above shall be discarded. + +LocationInformation ::= SEQUENCE { + ageOfLocationInformation AgeOfLocationInformation OPTIONAL, + geographicalInformation [0] GeographicalInformation OPTIONAL, + vlr-number [1] ISDN-AddressString OPTIONAL, + locationNumber [2] LocationNumber OPTIONAL, + cellGlobalIdOrServiceAreaIdOrLAI [3] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ... , + selectedLSA-Id [5] LSAIdentity OPTIONAL, + msc-Number [6] ISDN-AddressString OPTIONAL, + geodeticInformation [7] GeodeticInformation OPTIONAL, + currentLocationRetrieved [8] NULL OPTIONAL, + sai-Present [9] NULL OPTIONAL, + locationInformationEPS [10] LocationInformationEPS OPTIONAL, + userCSGInformation [11] UserCSGInformation OPTIONAL } +-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains +-- a Service Area Identity. +-- currentLocationRetrieved shall be present +-- if the location information were retrieved after a successfull paging. +-- if the locationinformationEPS IE is present then the cellGlobalIdOrServiceAreaIdOrLAI IE, +-- the ageOfLocationInformation IE, the geographicalInformation IE, the geodeticInformation IE +-- and the currentLocationRetrieved IE (outside the locationInformationEPS IE) shall be +-- absent. +-- UserCSGInformation contains the CSG ID, Access mode, and the CSG Membership Indication in +-- the case the Access mode is Hybrid Mode. +-- The locationInformationEPS IE should be absent if locationInformationEPS-Supported was not +-- received in the RequestedInfo IE. + +LocationInformationEPS ::= SEQUENCE { + e-utranCellGlobalIdentity [0] E-UTRAN-CGI OPTIONAL, + trackingAreaIdentity [1] TA-Id OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + geographicalInformation [3] GeographicalInformation OPTIONAL, + geodeticInformation [4] GeodeticInformation OPTIONAL, + currentLocationRetrieved [5] NULL OPTIONAL, + ageOfLocationInformation [6] AgeOfLocationInformation OPTIONAL, + ..., + mme-Name [7] DiameterIdentity OPTIONAL } +-- currentLocationRetrieved shall be present if the location information +-- was retrieved after successful paging. + + +LocationInformationGPRS ::= SEQUENCE { + cellGlobalIdOrServiceAreaIdOrLAI [0] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL, + routeingAreaIdentity [1] RAIdentity OPTIONAL, + geographicalInformation [2] GeographicalInformation OPTIONAL, + sgsn-Number [3] ISDN-AddressString OPTIONAL, + selectedLSAIdentity [4] LSAIdentity OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ..., + sai-Present [6] NULL OPTIONAL, + geodeticInformation [7] GeodeticInformation OPTIONAL, + currentLocationRetrieved [8] NULL OPTIONAL, + ageOfLocationInformation [9] AgeOfLocationInformation OPTIONAL, + userCSGInformation [10] UserCSGInformation OPTIONAL } +-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains +-- a Service Area Identity. +-- currentLocationRetrieved shall be present if the location information +-- was retrieved after successful paging. +-- UserCSGInformation contains the CSG ID, Access mode, and the CSG Membership Indication in +-- the case the Access mode is Hybrid Mode. + + +UserCSGInformation ::= SEQUENCE { + csg-Id [0] CSG-Id, + extensionContainer [1] ExtensionContainer OPTIONAL, + ..., + accessMode [2] OCTET STRING (SIZE(1)) OPTIONAL, + cmi [3] OCTET STRING (SIZE(1)) OPTIONAL } +-- The encoding of the accessMode and cmi parameters are as defined in 3GPP TS 29.060 [105]. + +GeographicalInformation ::= OCTET STRING (SIZE (8)) +-- Refers to geographical Information defined in 3GPP TS 23.032. +-- Only the description of an ellipsoid point with uncertainty circle +-- as specified in 3GPP TS 23.032 is allowed to be used +-- The internal structure according to 3GPP TS 23.032 is as follows: +-- Type of shape (ellipsoid point with uncertainty circle) 1 octet +-- Degrees of Latitude 3 octets +-- Degrees of Longitude 3 octets +-- Uncertainty code 1 octet + +GeodeticInformation ::= OCTET STRING (SIZE (10)) +-- Refers to Calling Geodetic Location defined in Q.763 (1999). +-- Only the description of an ellipsoid point with uncertainty circle +-- as specified in Q.763 (1999) is allowed to be used +-- The internal structure according to Q.763 (1999) is as follows: +-- Screening and presentation indicators 1 octet +-- Type of shape (ellipsoid point with uncertainty circle) 1 octet +-- Degrees of Latitude 3 octets +-- Degrees of Longitude 3 octets +-- Uncertainty code 1 octet +-- Confidence 1 octet + +LocationNumber ::= OCTET STRING (SIZE (2..10)) + -- the internal structure is defined in ITU-T Rec Q.763 + +SubscriberState ::= CHOICE { + assumedIdle [0] NULL, + camelBusy [1] NULL, + netDetNotReachable NotReachableReason, + notProvidedFromVLR [2] NULL} + +PS-SubscriberState ::= CHOICE { + notProvidedFromSGSNorMME [0] NULL, + ps-Detached [1] NULL, + ps-AttachedNotReachableForPaging [2] NULL, + ps-AttachedReachableForPaging [3] NULL, + ps-PDP-ActiveNotReachableForPaging [4] PDP-ContextInfoList, + ps-PDP-ActiveReachableForPaging [5] PDP-ContextInfoList, + netDetNotReachable NotReachableReason } + +PDP-ContextInfoList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF + PDP-ContextInfo + +PDP-ContextInfo ::= SEQUENCE { + pdp-ContextIdentifier [0] ContextId, + pdp-ContextActive [1] NULL OPTIONAL, + pdp-Type [2] PDP-Type, + pdp-Address [3] PDP-Address OPTIONAL, + apn-Subscribed [4] APN OPTIONAL, + apn-InUse [5] APN OPTIONAL, + nsapi [6] NSAPI OPTIONAL, + transactionId [7] TransactionId OPTIONAL, + teid-ForGnAndGp [8] TEID OPTIONAL, + teid-ForIu [9] TEID OPTIONAL, + ggsn-Address [10] GSN-Address OPTIONAL, + qos-Subscribed [11] Ext-QoS-Subscribed OPTIONAL, + qos-Requested [12] Ext-QoS-Subscribed OPTIONAL, + qos-Negotiated [13] Ext-QoS-Subscribed OPTIONAL, + chargingId [14] GPRSChargingID OPTIONAL, + chargingCharacteristics [15] ChargingCharacteristics OPTIONAL, + rnc-Address [16] GSN-Address OPTIONAL, + extensionContainer [17] ExtensionContainer OPTIONAL, + ..., + qos2-Subscribed [18] Ext2-QoS-Subscribed OPTIONAL, + -- qos2-Subscribed may be present only if qos-Subscribed is present. + qos2-Requested [19] Ext2-QoS-Subscribed OPTIONAL, + -- qos2-Requested may be present only if qos-Requested is present. + qos2-Negotiated [20] Ext2-QoS-Subscribed OPTIONAL, + -- qos2-Negotiated may be present only if qos-Negotiated is present. + qos3-Subscribed [21] Ext3-QoS-Subscribed OPTIONAL, + -- qos3-Subscribed may be present only if qos2-Subscribed is present. + qos3-Requested [22] Ext3-QoS-Subscribed OPTIONAL, + -- qos3-Requested may be present only if qos2-Requested is present. + qos3-Negotiated [23] Ext3-QoS-Subscribed OPTIONAL, + -- qos3-Negotiated may be present only if qos2-Negotiated is present. + qos4-Subscribed [25] Ext4-QoS-Subscribed OPTIONAL, + -- qos4-Subscribed may be present only if qos3-Subscribed is present. + qos4-Requested [26] Ext4-QoS-Subscribed OPTIONAL, + -- qos4-Requested may be present only if qos3-Requested is present. + qos4-Negotiated [27] Ext4-QoS-Subscribed OPTIONAL, + -- qos4-Negotiated may be present only if qos3-Negotiated is present. + ext-pdp-Type [28] Ext-PDP-Type OPTIONAL, + -- contains the value IPv4v6 defined in 3GPP TS 29.060 [105], if the PDP can be + -- accessed by dual-stack UEs. + ext-pdp-Address [29] PDP-Address OPTIONAL + -- contains an additional IP address in case of dual-stack static IP address assignment + -- for the UE. + -- it may contain an IPv4 or an IPv6 address/prefix, and it may be present + -- only if pdp-Address is present; if both are present, each parameter shall + -- contain a different type of address (IPv4 or IPv6). + +} + +NSAPI ::= INTEGER (0..15) +-- This type is used to indicate the Network layer Service Access Point + +TransactionId ::= OCTET STRING (SIZE (1..2)) +-- This type carries the value part of the transaction identifier which is used in the +-- session management messages on the access interface. The encoding is defined in +-- 3GPP TS 24.008 + +TEID ::= OCTET STRING (SIZE (4)) +-- This type carries the value part of the Tunnel Endpoint Identifier which is used to +-- distinguish between different tunnels between the same pair of entities which communicate +-- using the GPRS Tunnelling Protocol The encoding is defined in 3GPP TS 29.060. + +GPRSChargingID ::= OCTET STRING (SIZE (4)) +-- The Charging ID is a unique four octet value generated by the GGSN when +-- a PDP Context is activated. A Charging ID is generated for each activated context. +-- The encoding is defined in 3GPP TS 29.060. + +NotReachableReason ::= ENUMERATED { + msPurged (0), + imsiDetached (1), + restrictedArea (2), + notRegistered (3)} + +-- any time interrogation info types + +AnyTimeInterrogationArg ::= SEQUENCE { + subscriberIdentity [0] SubscriberIdentity, + requestedInfo [1] RequestedInfo, + gsmSCF-Address [3] ISDN-AddressString, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +AnyTimeInterrogationRes ::= SEQUENCE { + subscriberInfo SubscriberInfo, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +-- any time information handling types + +AnyTimeSubscriptionInterrogationArg ::= SEQUENCE { + subscriberIdentity [0] SubscriberIdentity, + requestedSubscriptionInfo [1] RequestedSubscriptionInfo, + gsmSCF-Address [2] ISDN-AddressString, + extensionContainer [3] ExtensionContainer OPTIONAL, + longFTN-Supported [4] NULL OPTIONAL, + ...} + +AnyTimeSubscriptionInterrogationRes ::= SEQUENCE { + callForwardingData [1] CallForwardingData OPTIONAL, + callBarringData [2] CallBarringData OPTIONAL, + odb-Info [3] ODB-Info OPTIONAL, + camel-SubscriptionInfo [4] CAMEL-SubscriptionInfo OPTIONAL, + supportedVLR-CAMEL-Phases [5] SupportedCamelPhases OPTIONAL, + supportedSGSN-CAMEL-Phases [6] SupportedCamelPhases OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ... , + offeredCamel4CSIsInVLR [8] OfferedCamel4CSIs OPTIONAL, + offeredCamel4CSIsInSGSN [9] OfferedCamel4CSIs OPTIONAL, + msisdn-BS-List [10] MSISDN-BS-List OPTIONAL, + csg-SubscriptionDataList [11] CSG-SubscriptionDataList OPTIONAL, + cw-Data [12] CallWaitingData OPTIONAL, + ch-Data [13] CallHoldData OPTIONAL, + clip-Data [14] ClipData OPTIONAL, + clir-Data [15] ClirData OPTIONAL, + ect-data [16] EctData OPTIONAL } + +CallWaitingData ::= SEQUENCE { + cwFeatureList [1] Ext-CwFeatureList, + notificationToCSE [2] NULL OPTIONAL, + ... } + +Ext-CwFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF + Ext-CwFeature + +Ext-CwFeature ::= SEQUENCE { + basicService [1] Ext-BasicServiceCode, + ss-Status [2] Ext-SS-Status, + ... } + +ClipData ::= SEQUENCE { + ss-Status [1] Ext-SS-Status, + overrideCategory [2] OverrideCategory, + notificationToCSE [3] NULL OPTIONAL, + ... } + +ClirData ::= SEQUENCE { + ss-Status [1] Ext-SS-Status, + cliRestrictionOption [2] CliRestrictionOption OPTIONAL, + notificationToCSE [3] NULL OPTIONAL, + ... } + +CallHoldData ::= SEQUENCE { + ss-Status [1] Ext-SS-Status, + notificationToCSE [2] NULL OPTIONAL, + ... } + +EctData ::= SEQUENCE { + ss-Status [1] Ext-SS-Status, + notificationToCSE [2] NULL OPTIONAL, + ... } + +RequestedSubscriptionInfo ::= SEQUENCE { + requestedSS-Info [1] SS-ForBS-Code OPTIONAL, + odb [2] NULL OPTIONAL, + requestedCAMEL-SubscriptionInfo [3] RequestedCAMEL-SubscriptionInfo OPTIONAL, + supportedVLR-CAMEL-Phases [4] NULL OPTIONAL, + supportedSGSN-CAMEL-Phases [5] NULL OPTIONAL, + extensionContainer [6] ExtensionContainer OPTIONAL, + ..., + additionalRequestedCAMEL-SubscriptionInfo + [7] AdditionalRequestedCAMEL-SubscriptionInfo + OPTIONAL, + msisdn-BS-List [8] NULL OPTIONAL, + csg-SubscriptionDataRequested [9] NULL OPTIONAL, + cw-Info [10] NULL OPTIONAL, + clip-Info [11] NULL OPTIONAL, + clir-Info [12] NULL OPTIONAL, + hold-Info [13] NULL OPTIONAL, + ect-Info [14] NULL OPTIONAL } + +MSISDN-BS-List ::= SEQUENCE SIZE (1..maxNumOfMSISDN) OF + MSISDN-BS + +maxNumOfMSISDN INTEGER ::= 50 + + +MSISDN-BS ::= SEQUENCE { + msisdn ISDN-AddressString, + basicServiceList [0] BasicServiceList OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +RequestedCAMEL-SubscriptionInfo ::= ENUMERATED { + o-CSI (0), + t-CSI (1), + vt-CSI (2), + tif-CSI (3), + gprs-CSI (4), + mo-sms-CSI (5), + ss-CSI (6), + m-CSI (7), + d-csi (8)} + +AdditionalRequestedCAMEL-SubscriptionInfo ::= ENUMERATED { + mt-sms-CSI (0), + mg-csi (1), + o-IM-CSI (2), + d-IM-CSI (3), + vt-IM-CSI (4), + ...} +-- exception handling: unknown values shall be discarded by the receiver. + +CallForwardingData ::= SEQUENCE { + forwardingFeatureList Ext-ForwFeatureList, + notificationToCSE NULL OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +CallBarringData ::= SEQUENCE { + callBarringFeatureList Ext-CallBarFeatureList, + password Password OPTIONAL, + wrongPasswordAttemptsCounter WrongPasswordAttemptsCounter OPTIONAL, + notificationToCSE NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +WrongPasswordAttemptsCounter ::= INTEGER (0..4) + +ODB-Info ::= SEQUENCE { + odb-Data ODB-Data, + notificationToCSE NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CAMEL-SubscriptionInfo ::= SEQUENCE { + o-CSI [0] O-CSI OPTIONAL, + o-BcsmCamelTDP-CriteriaList [1] O-BcsmCamelTDPCriteriaList OPTIONAL, + d-CSI [2] D-CSI OPTIONAL, + t-CSI [3] T-CSI OPTIONAL, + t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL, + vt-CSI [5] T-CSI OPTIONAL, + vt-BCSM-CAMEL-TDP-CriteriaList [6] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL, + tif-CSI [7] NULL OPTIONAL, + tif-CSI-NotificationToCSE [8] NULL OPTIONAL, + gprs-CSI [9] GPRS-CSI OPTIONAL, + mo-sms-CSI [10] SMS-CSI OPTIONAL, + ss-CSI [11] SS-CSI OPTIONAL, + m-CSI [12] M-CSI OPTIONAL, + extensionContainer [13] ExtensionContainer OPTIONAL, + ..., + specificCSIDeletedList [14] SpecificCSI-Withdraw OPTIONAL, + mt-sms-CSI [15] SMS-CSI OPTIONAL, + mt-smsCAMELTDP-CriteriaList [16] MT-smsCAMELTDP-CriteriaList OPTIONAL, + mg-csi [17] MG-CSI OPTIONAL, + o-IM-CSI [18] O-CSI OPTIONAL, + o-IM-BcsmCamelTDP-CriteriaList [19] O-BcsmCamelTDPCriteriaList OPTIONAL, + d-IM-CSI [20] D-CSI OPTIONAL, + vt-IM-CSI [21] T-CSI OPTIONAL, + vt-IM-BCSM-CAMEL-TDP-CriteriaList [22] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL + } + +AnyTimeModificationArg ::= SEQUENCE { + subscriberIdentity [0] SubscriberIdentity, + gsmSCF-Address [1] ISDN-AddressString, + modificationRequestFor-CF-Info [2] ModificationRequestFor-CF-Info OPTIONAL, + modificationRequestFor-CB-Info [3] ModificationRequestFor-CB-Info OPTIONAL, + modificationRequestFor-CSI [4] ModificationRequestFor-CSI OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + longFTN-Supported [6] NULL OPTIONAL, + ..., + modificationRequestFor-ODB-data [7] ModificationRequestFor-ODB-data OPTIONAL, + modificationRequestFor-IP-SM-GW-Data [8] ModificationRequestFor-IP-SM-GW-Data OPTIONAL, + activationRequestForUE-reachability [9] RequestedServingNode OPTIONAL, + modificationRequestFor-CSG [10] ModificationRequestFor-CSG OPTIONAL, + modificationRequestFor-CW-Data [11] ModificationRequestFor-CW-Info OPTIONAL, + modificationRequestFor-CLIP-Data [12] ModificationRequestFor-CLIP-Info OPTIONAL, + modificationRequestFor-CLIR-Data [13] ModificationRequestFor-CLIR-Info OPTIONAL, + modificationRequestFor-HOLD-Data [14] ModificationRequestFor-CH-Info OPTIONAL, + modificationRequestFor-ECT-Data [15] ModificationRequestFor-ECT-Info OPTIONAL } + +ModificationRequestFor-CW-Info ::= SEQUENCE { + basicService [0] Ext-BasicServiceCode OPTIONAL, + ss-Status [1] Ext-SS-Status OPTIONAL, + modifyNotificationToCSE [2] ModificationInstruction OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-CH-Info ::= SEQUENCE { + ss-Status [0] Ext-SS-Status OPTIONAL, + modifyNotificationToCSE [1] ModificationInstruction OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-ECT-Info ::= SEQUENCE { + ss-Status [0] Ext-SS-Status OPTIONAL, + modifyNotificationToCSE [1] ModificationInstruction OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-CLIR-Info ::= SEQUENCE { + ss-Status [0] Ext-SS-Status OPTIONAL, + cliRestrictionOption [1] CliRestrictionOption OPTIONAL, + modifyNotificationToCSE [2] ModificationInstruction OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-CLIP-Info ::= SEQUENCE { + ss-Status [0] Ext-SS-Status OPTIONAL, + overrideCategory [1] OverrideCategory OPTIONAL, + modifyNotificationToCSE [2] ModificationInstruction OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + + +ModificationRequestFor-CSG ::= SEQUENCE { + modifyNotificationToCSE [0] ModificationInstruction OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +RequestedServingNode ::= BIT STRING { + mmeAndSgsn (0)} (SIZE (1..8)) + +ServingNode ::= BIT STRING { + mme (0), + sgsn (1)} (SIZE (2..8)) +-- Other bits than listed above shall be discarded. + +AnyTimeModificationRes ::= SEQUENCE { + ss-InfoFor-CSE [0] Ext-SS-InfoFor-CSE OPTIONAL, + camel-SubscriptionInfo [1] CAMEL-SubscriptionInfo OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + odb-Info [3] ODB-Info OPTIONAL, + cw-Data [4] CallWaitingData OPTIONAL, + ch-Data [5] CallHoldData OPTIONAL, + clip-Data [6] ClipData OPTIONAL, + clir-Data [7] ClirData OPTIONAL, + ect-data [8] EctData OPTIONAL, + serviceCentreAddress [9] AddressString OPTIONAL + } + +ModificationRequestFor-CF-Info ::= SEQUENCE { + ss-Code [0] SS-Code, + basicService [1] Ext-BasicServiceCode OPTIONAL, + ss-Status [2] Ext-SS-Status OPTIONAL, + forwardedToNumber [3] AddressString OPTIONAL, + forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL, + noReplyConditionTime [5] Ext-NoRepCondTime OPTIONAL, + modifyNotificationToCSE [6] ModificationInstruction OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-CB-Info ::= SEQUENCE { + ss-Code [0] SS-Code, + basicService [1] Ext-BasicServiceCode OPTIONAL, + ss-Status [2] Ext-SS-Status OPTIONAL, + password [3] Password OPTIONAL, + wrongPasswordAttemptsCounter [4] WrongPasswordAttemptsCounter OPTIONAL, + modifyNotificationToCSE [5] ModificationInstruction OPTIONAL, + extensionContainer [6] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-ODB-data ::= SEQUENCE { + odb-data [0] ODB-Data OPTIONAL, + modifyNotificationToCSE [1] ModificationInstruction OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-CSI ::= SEQUENCE { + requestedCamel-SubscriptionInfo [0] RequestedCAMEL-SubscriptionInfo, + modifyNotificationToCSE [1] ModificationInstruction OPTIONAL, + modifyCSI-State [2] ModificationInstruction OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ..., + additionalRequestedCAMEL-SubscriptionInfo + [4] AdditionalRequestedCAMEL-SubscriptionInfo + OPTIONAL } +-- requestedCamel-SubscriptionInfo shall be discarded if +-- additionalRequestedCAMEL-SubscriptionInfo is received + +ModificationRequestFor-IP-SM-GW-Data ::= SEQUENCE { + modifyRegistrationStatus [0] ModificationInstruction OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +ModificationInstruction ::= ENUMERATED { + deactivate (0), + activate (1)} + +-- subscriber data modification notification types + +NoteSubscriberDataModifiedArg ::= SEQUENCE { + imsi IMSI, + msisdn ISDN-AddressString, + forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE OPTIONAL, + callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE OPTIONAL, + odb-Info [2] ODB-Info OPTIONAL, + camel-SubscriptionInfo [3] CAMEL-SubscriptionInfo OPTIONAL, + allInformationSent [4] NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + ue-reachable [5] ServingNode OPTIONAL, + csg-SubscriptionDataList [6] CSG-SubscriptionDataList OPTIONAL, + cw-Data [7] CallWaitingData OPTIONAL, + ch-Data [8] CallHoldData OPTIONAL, + clip-Data [9] ClipData OPTIONAL, + clir-Data [10] ClirData OPTIONAL, + ect-data [11] EctData OPTIONAL } + +NoteSubscriberDataModifiedRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +-- mobility management event notificatioon info types + +NoteMM-EventArg::= SEQUENCE { + serviceKey ServiceKey, + eventMet [0] MM-Code, + imsi [1] IMSI, + msisdn [2] ISDN-AddressString, + locationInformation [3] LocationInformation OPTIONAL, + supportedCAMELPhases [5] SupportedCamelPhases OPTIONAL, + extensionContainer [6] ExtensionContainer OPTIONAL, + ..., + locationInformationGPRS [7] LocationInformationGPRS OPTIONAL, + offeredCamel4Functionalities [8] OfferedCamel4Functionalities OPTIONAL +} + +NoteMM-EventRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +Ext-SS-InfoFor-CSE ::= CHOICE { + forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE, + callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE + } + +Ext-ForwardingInfoFor-CSE ::= SEQUENCE { + ss-Code [0] SS-Code, + forwardingFeatureList [1] Ext-ForwFeatureList, + notificationToCSE [2] NULL OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +Ext-CallBarringInfoFor-CSE ::= SEQUENCE { + ss-Code [0] SS-Code, + callBarringFeatureList [1] Ext-CallBarFeatureList, + password [2] Password OPTIONAL, + wrongPasswordAttemptsCounter [3] WrongPasswordAttemptsCounter OPTIONAL, + notificationToCSE [4] NULL OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ...} + +END diff --git a/src/MAP_MobileServiceOperations.asn b/src/MAP_MobileServiceOperations.asn new file mode 100644 index 0000000..9b94e0f --- /dev/null +++ b/src/MAP_MobileServiceOperations.asn @@ -0,0 +1,509 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-MobileServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-MobileServiceOperations (5) + version13 (13)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + + -- location registration operations + updateLocation, + cancelLocation, + purgeMS, + sendIdentification, + + -- gprs location registration operations + updateGprsLocation, + + -- subscriber information enquiry operations + provideSubscriberInfo, + + -- any time information enquiry operations + anyTimeInterrogation, + + -- any time information handling operations + anyTimeSubscriptionInterrogation, + anyTimeModification, + + -- subscriber data modification notification operations + noteSubscriberDataModified, + + + -- handover operations + prepareHandover, + sendEndSignal, + processAccessSignalling, + forwardAccessSignalling, + prepareSubsequentHandover, + + -- authentication management operations + sendAuthenticationInfo, +authenticationFailureReport, + + -- IMEI management operations + checkIMEI, + + -- subscriber management operations + insertSubscriberData, + deleteSubscriberData, + + -- fault recovery operations + reset, + forwardCheckSS-Indication, + restoreData, + +-- gprs location information retrieval operations + sendRoutingInfoForGprs, + + -- failure reporting operations + failureReport, + + -- gprs notification operations + noteMsPresentForGprs, + +-- Mobility Management operations +noteMM-Event + +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + + systemFailure, + dataMissing, + unexpectedDataValue, + unknownSubscriber, + unknownMSC, + unidentifiedSubscriber, + unknownEquipment, + roamingNotAllowed, + ati-NotAllowed, + noHandoverNumberAvailable, + subsequentHandoverFailure, + absentSubscriber, + mm-EventNotSupported, + atsi-NotAllowed, + atm-NotAllowed, + bearerServiceNotProvisioned, + teleserviceNotProvisioned, + callBarred, + illegalSS-Operation, + ss-ErrorStatus, + ss-NotAvailable, + ss-Incompatibility, + ss-SubscriptionViolation, + informationNotAvailable, + targetCellOutsideGroupCallArea + + +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version13 (13)} + + UpdateLocationArg, + UpdateLocationRes, + CancelLocationArg, + CancelLocationRes, + PurgeMS-Arg, + PurgeMS-Res, + SendIdentificationArg, + SendIdentificationRes, + UpdateGprsLocationArg, + UpdateGprsLocationRes, + PrepareHO-Arg, + PrepareHO-Res, +ForwardAccessSignalling-Arg, +ProcessAccessSignalling-Arg, +SendEndSignal-Arg, +SendEndSignal-Res, +PrepareSubsequentHO-Res, + PrepareSubsequentHO-Arg, + SendAuthenticationInfoArg, + SendAuthenticationInfoRes, + AuthenticationFailureReportArg, + AuthenticationFailureReportRes, + CheckIMEI-Arg, + CheckIMEI-Res, + InsertSubscriberDataArg, + InsertSubscriberDataRes, + DeleteSubscriberDataArg, + DeleteSubscriberDataRes, + ResetArg, + RestoreDataArg, + RestoreDataRes, + ProvideSubscriberInfoArg, + ProvideSubscriberInfoRes, + AnyTimeSubscriptionInterrogationArg, + AnyTimeSubscriptionInterrogationRes, + AnyTimeModificationArg, + AnyTimeModificationRes, + NoteSubscriberDataModifiedArg, + NoteSubscriberDataModifiedRes, + AnyTimeInterrogationArg, + AnyTimeInterrogationRes, + SendRoutingInfoForGprsArg, + SendRoutingInfoForGprsRes, + FailureReportArg, + FailureReportRes, + NoteMsPresentForGprsArg, + NoteMsPresentForGprsRes, + NoteMM-EventArg, + NoteMM-EventRes + + +FROM MAP-MS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-MS-DataTypes (11) version13 (13)} + +; + + +-- location registration operations + +updateLocation OPERATION ::= { --Timer m + ARGUMENT + UpdateLocationArg + RESULT + UpdateLocationRes + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + unknownSubscriber | + roamingNotAllowed} + CODE local:2 } + +cancelLocation OPERATION ::= { --Timer m + ARGUMENT + CancelLocationArg + RESULT + CancelLocationRes + -- optional + ERRORS { + dataMissing | + unexpectedDataValue} + CODE local:3 } + +purgeMS OPERATION ::= { --Timer m + ARGUMENT + PurgeMS-Arg + RESULT + PurgeMS-Res + -- optional + ERRORS{ + dataMissing | + unexpectedDataValue| + unknownSubscriber} + CODE local:67 } + +sendIdentification OPERATION ::= { --Timer s + ARGUMENT + SendIdentificationArg + RESULT + SendIdentificationRes + ERRORS { + dataMissing | + unidentifiedSubscriber} + CODE local:55 } + +-- gprs location registration operations + +updateGprsLocation OPERATION ::= { --Timer m + ARGUMENT + UpdateGprsLocationArg + RESULT + UpdateGprsLocationRes + ERRORS { + systemFailure | + unexpectedDataValue | + unknownSubscriber | + roamingNotAllowed} + CODE local:23 } + +-- subscriber information enquiry operations + +provideSubscriberInfo OPERATION ::= { --Timer m + ARGUMENT + ProvideSubscriberInfoArg + RESULT + ProvideSubscriberInfoRes + ERRORS { + dataMissing | + unexpectedDataValue} + CODE local:70 } + +-- any time information enquiry operations + +anyTimeInterrogation OPERATION ::= { --Timer m + ARGUMENT + AnyTimeInterrogationArg + RESULT + AnyTimeInterrogationRes + ERRORS { + systemFailure | + ati-NotAllowed | + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:71 } + +-- any time information handling operations + +anyTimeSubscriptionInterrogation OPERATION ::= { --Timer m + ARGUMENT + AnyTimeSubscriptionInterrogationArg + RESULT + AnyTimeSubscriptionInterrogationRes + ERRORS { + atsi-NotAllowed | + dataMissing | + unexpectedDataValue | + unknownSubscriber | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-NotAvailable | + informationNotAvailable} + CODE local:62 } + +anyTimeModification OPERATION ::= { --Timer m + ARGUMENT + AnyTimeModificationArg + RESULT + AnyTimeModificationRes + ERRORS { + atm-NotAllowed | + dataMissing | + unexpectedDataValue | + unknownSubscriber | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-SubscriptionViolation | + ss-ErrorStatus | + ss-Incompatibility | + informationNotAvailable} + CODE local:65 } + +-- subscriber data modification notification operations + +noteSubscriberDataModified OPERATION ::= { --Timer m + ARGUMENT + NoteSubscriberDataModifiedArg + RESULT + NoteSubscriberDataModifiedRes + -- optional + ERRORS { + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:5 } + +-- handover operations + +prepareHandover OPERATION ::= { --Timer m + ARGUMENT + PrepareHO-Arg + RESULT + PrepareHO-Res + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + noHandoverNumberAvailable | + targetCellOutsideGroupCallArea } + CODE local:68 } + +sendEndSignal OPERATION ::= { --Timer l + ARGUMENT + SendEndSignal-Arg + RESULT + SendEndSignal-Res + CODE local:29 } + +processAccessSignalling OPERATION ::= { --Timer s + ARGUMENT + ProcessAccessSignalling-Arg + CODE local:33 } + +forwardAccessSignalling OPERATION ::= { --Timer s + ARGUMENT + ForwardAccessSignalling-Arg + CODE local:34 } + +prepareSubsequentHandover OPERATION ::= { --Timer m + ARGUMENT + PrepareSubsequentHO-Arg + RESULT + PrepareSubsequentHO-Res + ERRORS { + unexpectedDataValue | + dataMissing | + unknownMSC | + subsequentHandoverFailure} + CODE local:69 } + +-- authentication management operations + +sendAuthenticationInfo OPERATION ::= { --Timer m + ARGUMENT + SendAuthenticationInfoArg + -- optional + -- within a dialogue sendAuthenticationInfoArg shall not be present in + -- subsequent invoke components. If received in a subsequent invoke component + -- it shall be discarded. + + RESULT + SendAuthenticationInfoRes + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:56 } + +authenticationFailureReport OPERATION ::= { --Timer m + ARGUMENT + AuthenticationFailureReportArg + RESULT + AuthenticationFailureReportRes + -- optional + ERRORS { + systemFailure | + unexpectedDataValue | + unknownSubscriber} + CODE local:15 } + +-- IMEI management operations + +checkIMEI OPERATION ::= { --Timer m + ARGUMENT + CheckIMEI-Arg + RESULT + CheckIMEI-Res + ERRORS { + systemFailure | + dataMissing | + unknownEquipment} + CODE local:43 } + +-- subscriber management operations + +insertSubscriberData OPERATION ::= { --Timer m + ARGUMENT + InsertSubscriberDataArg + RESULT + InsertSubscriberDataRes + -- optional + ERRORS { + dataMissing | + unexpectedDataValue | + unidentifiedSubscriber} + CODE local:7 } + +deleteSubscriberData OPERATION ::= { --Timer m + ARGUMENT + DeleteSubscriberDataArg + RESULT + DeleteSubscriberDataRes + -- optional + ERRORS { + dataMissing | + unexpectedDataValue | + unidentifiedSubscriber} + CODE local:8 } + +-- fault recovery operations + +reset OPERATION ::= { --Timer m + ARGUMENT + ResetArg + CODE local:37 } + +forwardCheckSS-Indication OPERATION ::= { --Timer s + CODE local:38 } + +restoreData OPERATION ::= { --Timer m + ARGUMENT + RestoreDataArg + RESULT + RestoreDataRes + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:57 } + +-- gprs location information retrieval operations + +sendRoutingInfoForGprs OPERATION ::= { --Timer m + ARGUMENT + SendRoutingInfoForGprsArg + RESULT + SendRoutingInfoForGprsRes + ERRORS { + absentSubscriber | + systemFailure | + dataMissing | + unexpectedDataValue | + unknownSubscriber | + callBarred } + CODE local:24 } + +-- failure reporting operations + +failureReport OPERATION ::= { --Timer m + ARGUMENT + FailureReportArg + RESULT + FailureReportRes + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:25 } + +-- gprs notification operations + +noteMsPresentForGprs OPERATION ::= { --Timer m + ARGUMENT + NoteMsPresentForGprsArg + RESULT + NoteMsPresentForGprsRes + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:26 } + +noteMM-Event OPERATION ::= { --Timer m + ARGUMENT + NoteMM-EventArg + RESULT + NoteMM-EventRes + ERRORS { + dataMissing | + unexpectedDataValue | + unknownSubscriber | + mm-EventNotSupported} + CODE local:89 } + +END diff --git a/src/MAP_OM_DataTypes.asn b/src/MAP_OM_DataTypes.asn new file mode 100644 index 0000000..3b7517d --- /dev/null +++ b/src/MAP_OM_DataTypes.asn @@ -0,0 +1,406 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-OM-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-OM-DataTypes (12) version13 (13)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + ActivateTraceModeArg, + ActivateTraceModeRes, + DeactivateTraceModeArg, + DeactivateTraceModeRes, + TracePropagationList +; + +IMPORTS + AddressString, + IMSI, + GSN-Address, + GlobalCellId, + E-UTRAN-CGI, + TA-Id, + RAIdentity, + LAIFixedLength +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version13 (13)} + +; + +ActivateTraceModeArg ::= SEQUENCE { + imsi [0] IMSI OPTIONAL, + traceReference [1] TraceReference, + traceType [2] TraceType, + omc-Id [3] AddressString OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ..., + traceReference2 [5] TraceReference2 OPTIONAL, + traceDepthList [6] TraceDepthList OPTIONAL, + traceNE-TypeList [7] TraceNE-TypeList OPTIONAL, + traceInterfaceList [8] TraceInterfaceList OPTIONAL, + traceEventList [9] TraceEventList OPTIONAL, + traceCollectionEntity [10] GSN-Address OPTIONAL, + mdt-Configuration [11] MDT-Configuration OPTIONAL + } + +MDT-Configuration ::= SEQUENCE { + jobType JobType, + areaScope AreaScope OPTIONAL, + listOfMeasurements ListOfMeasurements OPTIONAL, + reportingTrigger [0] ReportingTrigger OPTIONAL, + reportInterval ReportInterval OPTIONAL, + reportAmount [1] ReportAmount OPTIONAL, + eventThresholdRSRP EventThresholdRSRP OPTIONAL, + eventThresholdRSRQ [2] EventThresholdRSRQ OPTIONAL, + loggingInterval [3] LoggingInterval OPTIONAL, + loggingDuration [4] LoggingDuration OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ... } + +JobType ::= ENUMERATED { + immediate-MDT-only (0), + logged-MDT-only (1), + trace-only (2), + immediate-MDT-and-trace (3)} + +AreaScope ::= SEQUENCE { + cgi-List [0] CGI-List OPTIONAL, + e-utran-cgi-List [1] E-UTRAN-CGI-List OPTIONAL, + routingAreaId-List [2] RoutingAreaId-List OPTIONAL, + locationAreaId-List [3] LocationAreaId-List OPTIONAL, + trackingAreaId-List [4] TrackingAreaId-List OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ... } + +CGI-List ::= SEQUENCE SIZE (1..32) OF + GlobalCellId + +E-UTRAN-CGI-List ::= SEQUENCE SIZE (1..32) OF + E-UTRAN-CGI + +RoutingAreaId-List ::= SEQUENCE SIZE (1..8) OF + RAIdentity + +LocationAreaId-List ::= SEQUENCE SIZE (1..8) OF + LAIFixedLength + +TrackingAreaId-List ::= SEQUENCE SIZE (1..8) OF + TA-Id +ListOfMeasurements ::= OCTET STRING (SIZE (4)) + -- Octets are coded as described in 3GPP TS 32.422. + +ReportingTrigger ::= OCTET STRING (SIZE (1)) + -- Octet is coded as described in 3GPP TS 32.422. + +ReportInterval ::= ENUMERATED { + umts250ms (0), + umts500ms (1), + umts1000ms (2), + umts2000ms (3), + umts3000ms (4), + umts4000ms (5), + umts6000ms (6), + umts8000ms (7), + umts12000ms (8), + umts16000ms (9), + umts20000ms (10), + umts24000ms (11), + umts28000ms (12), + umts32000ms (13), + umts64000ms (14), + lte120ms (15), + lte240ms (16), + lte480ms (17), + lte640ms (18), + lte1024ms (19), + lte2048ms (20), + lte5120ms (21), + lte10240ms (22), + lte1min (23), + lte6min (24), + lte12min (25), + lte30min (26), + lte60min (27)} + + +ReportAmount ::= ENUMERATED { + d1 (0), + d2 (1), + d4 (2), + d8 (3), + d16 (4), + d32 (5), + d64 (6), + infinity (7)} + +EventThresholdRSRP ::= INTEGER + (0..97) + +EventThresholdRSRQ ::= INTEGER + (0..34) + +LoggingInterval ::= ENUMERATED { + d1dot28 (0), + d2dot56 (1), + d5dot12 (2), + d10dot24 (3), + d20dot48 (4), + d30dot72 (5), + d40dot96 (6), + d61dot44 (7)} + +LoggingDuration ::= ENUMERATED { + d600sec (0), + d1200sec (1), + d2400sec (2), + d3600sec (3), + d5400sec (4), + d7200sec (5)} + +TraceReference ::= OCTET STRING (SIZE (1..2)) + +TraceReference2 ::= OCTET STRING (SIZE (3)) + +TraceRecordingSessionReference ::= OCTET STRING (SIZE (2)) + +TraceType ::= INTEGER + (0..255) + -- Trace types are fully defined in 3GPP TS 52.008. [61] + +TraceDepthList ::= SEQUENCE { + msc-s-TraceDepth [0] TraceDepth OPTIONAL, + mgw-TraceDepth [1] TraceDepth OPTIONAL, + sgsn-TraceDepth [2] TraceDepth OPTIONAL, + ggsn-TraceDepth [3] TraceDepth OPTIONAL, + rnc-TraceDepth [4] TraceDepth OPTIONAL, + bmsc-TraceDepth [5] TraceDepth OPTIONAL, + ... , + mme-TraceDepth [6] TraceDepth OPTIONAL, + sgw-TraceDepth [7] TraceDepth OPTIONAL, + pgw-TraceDepth [8] TraceDepth OPTIONAL, + eNB-TraceDepth [9] TraceDepth OPTIONAL } + +TraceDepth ::= ENUMERATED { + minimum (0), + medium (1), + maximum (2), + ...} +-- The value medium is applicable only for RNC. For other network elements, if value medium +-- is received, value minimum shall be applied. + +TraceNE-TypeList ::= BIT STRING { + msc-s (0), + mgw (1), + sgsn (2), + ggsn (3), + rnc (4), + bm-sc (5) , + mme (6), + sgw (7), + pgw (8), + eNB (9)} (SIZE (6..16)) +-- Other bits than listed above shall be discarded. + +TraceInterfaceList ::= SEQUENCE { + msc-s-List [0] MSC-S-InterfaceList OPTIONAL, + mgw-List [1] MGW-InterfaceList OPTIONAL, + sgsn-List [2] SGSN-InterfaceList OPTIONAL, + ggsn-List [3] GGSN-InterfaceList OPTIONAL, + rnc-List [4] RNC-InterfaceList OPTIONAL, + bmsc-List [5] BMSC-InterfaceList OPTIONAL, + ..., + mme-List [6] MME-InterfaceList OPTIONAL, + sgw-List [7] SGW-InterfaceList OPTIONAL, + pgw-List [8] PGW-InterfaceList OPTIONAL, + eNB-List [9] ENB-InterfaceList OPTIONAL} + +MSC-S-InterfaceList ::= BIT STRING { + a (0), + iu (1), + mc (2), + map-g (3), + map-b (4), + map-e (5), + map-f (6), + cap (7), + map-d (8), + map-c (9)} (SIZE (10..16)) +-- Other bits than listed above shall be discarded. + +MGW-InterfaceList ::= BIT STRING { + mc (0), + nb-up (1), + iu-up (2)} (SIZE (3..8)) +-- Other bits than listed above shall be discarded. + +SGSN-InterfaceList ::= BIT STRING { + gb (0), + iu (1), + gn (2), + map-gr (3), + map-gd (4), + map-gf (5), + gs (6), + ge (7), + s3 (8), + s4 (9), + s6d (10)} (SIZE (8..16)) +-- Other bits than listed above shall be discarded. + +GGSN-InterfaceList ::= BIT STRING { + gn (0), + gi (1), + gmb (2)} (SIZE (3..8)) +-- Other bits than listed above shall be discarded. + +RNC-InterfaceList ::= BIT STRING { + iu (0), + iur (1), + iub (2), + uu (3)} (SIZE (4..8)) +-- Other bits than listed above shall be discarded. + +BMSC-InterfaceList ::= BIT STRING { + gmb (0)} (SIZE (1..8)) +-- Other bits than listed above shall be discarded. + +MME-InterfaceList ::= BIT STRING { + s1-mme (0), + s3 (1), + s6a (2), + s10 (3), + s11 (4)} (SIZE (5..8)) +-- Other bits than listed above shall be discarded. + +SGW-InterfaceList ::= BIT STRING { + s4 (0), + s5 (1), + s8b (2), + s11 (3), + gxc (4)} (SIZE (5..8)) +-- Other bits than listed above shall be discarded. + +PGW-InterfaceList ::= BIT STRING { + s2a (0), + s2b (1), + s2c (2), + s5 (3), + s6b (4), + gx (5), + s8b (6), + sgi (7)} (SIZE (8..16)) +-- Other bits than listed above shall be discarded. + +ENB-InterfaceList ::= BIT STRING { + s1-mme (0), + x2 (1), + uu (2)} (SIZE (3..8)) +-- Other bits than listed above shall be discarded. + +TraceEventList ::= SEQUENCE { + msc-s-List [0] MSC-S-EventList OPTIONAL, + mgw-List [1] MGW-EventList OPTIONAL, + sgsn-List [2] SGSN-EventList OPTIONAL, + ggsn-List [3] GGSN-EventList OPTIONAL, + bmsc-List [4] BMSC-EventList OPTIONAL, + ..., + mme-List [5] MME-EventList OPTIONAL, + sgw-List [6] SGW-EventList OPTIONAL, + pgw-List [7] PGW-EventList OPTIONAL} + +MSC-S-EventList ::= BIT STRING { + mo-mtCall (0), + mo-mt-sms (1), + lu-imsiAttach-imsiDetach (2), + handovers (3), + ss (4)} (SIZE (5..16)) +-- Other bits than listed above shall be discarded. + +MGW-EventList ::= BIT STRING { + context (0)} (SIZE (1..8)) +-- Other bits than listed above shall be discarded. + +SGSN-EventList ::= BIT STRING { + pdpContext (0), + mo-mt-sms (1), + rau-gprsAttach-gprsDetach (2), + mbmsContext (3)} (SIZE (4..16)) +-- Other bits than listed above shall be discarded. + +GGSN-EventList ::= BIT STRING { + pdpContext (0), + mbmsContext (1)} (SIZE (2..8)) +-- Other bits than listed above shall be discarded. + +BMSC-EventList ::= BIT STRING { + mbmsMulticastServiceActivation (0)} (SIZE (1..8)) +-- Other bits than listed above shall be discarded. + +MME-EventList ::= BIT STRING { + ue-initiatedPDNconectivityRequest (0), + serviceRequestts (1), + initialAttachTrackingAreaUpdateDetach (2), + ue-initiatedPDNdisconnection (3), + bearerActivationModificationDeletion (4), + handover (5)} (SIZE (6..8)) +-- Other bits than listed above shall be discarded. + +SGW-EventList ::= BIT STRING { + pdn-connectionCreation (0), + pdn-connectionTermination (1), + bearerActivationModificationDeletion (2)} (SIZE (3..8)) +-- Other bits than listed above shall be discarded. + +PGW-EventList ::= BIT STRING { + pdn-connectionCreation (0), + pdn-connectionTermination (1), + bearerActivationModificationDeletion (2)} (SIZE (3..8)) +-- Other bits than listed above shall be discarded. + +TracePropagationList ::= SEQUENCE { + traceReference [0] TraceReference OPTIONAL, + traceType [1] TraceType OPTIONAL, + traceReference2 [2] TraceReference2 OPTIONAL, + traceRecordingSessionReference [3] TraceRecordingSessionReference OPTIONAL, + rnc-TraceDepth [4] TraceDepth OPTIONAL, + rnc-InterfaceList [5] RNC-InterfaceList OPTIONAL, + msc-s-TraceDepth [6] TraceDepth OPTIONAL, + msc-s-InterfaceList [7] MSC-S-InterfaceList OPTIONAL, + msc-s-EventList [8] MSC-S-EventList OPTIONAL, + mgw-TraceDepth [9] TraceDepth OPTIONAL, + mgw-InterfaceList [10] MGW-InterfaceList OPTIONAL, + mgw-EventList [11] MGW-EventList OPTIONAL, + ...} + +ActivateTraceModeRes ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ..., + traceSupportIndicator [1] NULL OPTIONAL + } + +DeactivateTraceModeArg ::= SEQUENCE { + imsi [0] IMSI OPTIONAL, + traceReference [1] TraceReference, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + traceReference2 [3] TraceReference2 OPTIONAL + } + +DeactivateTraceModeRes ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +END diff --git a/src/MAP_OperationAndMaintenanceOperations.asn b/src/MAP_OperationAndMaintenanceOperations.asn new file mode 100644 index 0000000..84800e0 --- /dev/null +++ b/src/MAP_OperationAndMaintenanceOperations.asn @@ -0,0 +1,93 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-OperationAndMaintenanceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-OperationAndMaintenanceOperations (6) + version13 (13)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + activateTraceMode, + deactivateTraceMode, + sendIMSI +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + + systemFailure, + dataMissing, + unexpectedDataValue, + facilityNotSupported, + unknownSubscriber, + unidentifiedSubscriber, + tracingBufferFull +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version13 (13)} + + ActivateTraceModeArg, + ActivateTraceModeRes, + DeactivateTraceModeArg, + DeactivateTraceModeRes +FROM MAP-OM-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-OM-DataTypes (12) version13 (13)} + + ISDN-AddressString, + IMSI +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13)} +; + + +activateTraceMode OPERATION ::= { --Timer m + ARGUMENT + ActivateTraceModeArg + RESULT + ActivateTraceModeRes + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + unidentifiedSubscriber | + tracingBufferFull} + CODE local:50 } + +deactivateTraceMode OPERATION ::= { --Timer m + ARGUMENT + DeactivateTraceModeArg + RESULT + DeactivateTraceModeRes + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + unidentifiedSubscriber} + CODE local:51 } + +sendIMSI OPERATION ::= { --Timer m + ARGUMENT + ISDN-AddressString + RESULT + IMSI + ERRORS { + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:58 } + +END diff --git a/src/MAP_PDU_Defs.asn b/src/MAP_PDU_Defs.asn new file mode 100644 index 0000000..17c9837 --- /dev/null +++ b/src/MAP_PDU_Defs.asn @@ -0,0 +1,43 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-PDU-Defs + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +IMPORTS + + Supported-MAP-Operations + FROM + MAP-Protocol + + + + OPERATION, ERROR + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + + Invoke{}, ReturnResult{}, ReturnError{}, + Invoke-help{}, ReturnResult-help{}, ReturnError-help{}, + Errors{}, PresentInvokeId + FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t + remote-operations(4) generic-ROS-PDUs(6) version1(0)}; + + +-- MAP Invoke, ReturnResult, ReturnError types +-- (these are accessible from TTCN3) + +MAP-Invoke ::= Invoke{{PresentInvokeId}, {Supported-MAP-Operations}} + +MAP-ReturnResult ::= ReturnResult{{Supported-MAP-Operations}} + +MAP-ReturnError ::= ReturnError{{Errors {{Supported-MAP-Operations}}}} + +MAP-Invoke-help ::= Invoke-help{{PresentInvokeId}, {Supported-MAP-Operations}} + +MAP-ReturnResult-help ::= ReturnResult-help{{Supported-MAP-Operations}} + +MAP-ReturnError-help ::= ReturnError-help{{Errors {{Supported-MAP-Operations}}}} + +END diff --git a/src/MAP_Protocol.asn b/src/MAP_Protocol.asn new file mode 100644 index 0000000..f533d5d --- /dev/null +++ b/src/MAP_Protocol.asn @@ -0,0 +1,172 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-Protocol { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Protocol (4) version13 (13)} + +DEFINITIONS + +::= + +BEGIN + +IMPORTS +OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} + + updateLocation, + cancelLocation, + purgeMS, + sendIdentification, + updateGprsLocation, + prepareHandover, + sendEndSignal, + processAccessSignalling, + forwardAccessSignalling, + prepareSubsequentHandover, + sendAuthenticationInfo, +authenticationFailureReport, + checkIMEI, + insertSubscriberData, + deleteSubscriberData, + reset, + forwardCheckSS-Indication, + restoreData, + provideSubscriberInfo, + anyTimeInterrogation, + anyTimeSubscriptionInterrogation, + anyTimeModification, + sendRoutingInfoForGprs, + failureReport, + noteMsPresentForGprs, + noteMM-Event, + noteSubscriberDataModified + + +FROM MAP-MobileServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-MobileServiceOperations (5) + version13 (13)} + + activateTraceMode, + deactivateTraceMode, + sendIMSI +FROM MAP-OperationAndMaintenanceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-OperationAndMaintenanceOperations (6) + version13 (13)} + + sendRoutingInfo, + provideRoamingNumber, + resumeCallHandling, + setReportingState, + statusReport, + remoteUserFree, + ist-Alert, + ist-Command, + releaseResources +FROM MAP-CallHandlingOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CallHandlingOperations (7) + version13 (13)} + + registerSS, + eraseSS, + activateSS, + deactivateSS, + interrogateSS, + processUnstructuredSS-Request, + unstructuredSS-Request, + unstructuredSS-Notify, + registerPassword, + getPassword, + ss-InvocationNotification, + registerCC-Entry, + eraseCC-Entry +FROM MAP-SupplementaryServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SupplementaryServiceOperations (8) + version13 (13)} + + sendRoutingInfoForSM, + mo-ForwardSM, + mt-ForwardSM, + reportSM-DeliveryStatus, + alertServiceCentre, + informServiceCentre, + readyForSM, + mt-ForwardSM-VGCS +FROM MAP-ShortMessageServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9) + version13 (13)} + + prepareGroupCall, + processGroupCallSignalling, + forwardGroupCallSignalling, + sendGroupCallEndSignal, + sendGroupCallInfo +FROM MAP-Group-Call-Operations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Group-Call-Operations (22) + version13 (13)} + + provideSubscriberLocation, + sendRoutingInfoForLCS, + subscriberLocationReport +FROM MAP-LocationServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-LocationServiceOperations (24) + version13 (13)} + + +; +Supported-MAP-Operations OPERATION ::= {updateLocation | cancelLocation | purgeMS | +sendIdentification | updateGprsLocation | prepareHandover | sendEndSignal | +processAccessSignalling | forwardAccessSignalling | prepareSubsequentHandover | +sendAuthenticationInfo | authenticationFailureReport | checkIMEI | insertSubscriberData | +deleteSubscriberData | reset | forwardCheckSS-Indication | restoreData | provideSubscriberInfo | +anyTimeInterrogation | anyTimeSubscriptionInterrogation | anyTimeModification | +sendRoutingInfoForGprs | failureReport |noteMsPresentForGprs | noteMM-Event | +noteSubscriberDataModified | activateTraceMode | deactivateTraceMode | sendIMSI | +sendRoutingInfo | provideRoamingNumber | resumeCallHandling | setReportingState | statusReport | remoteUserFree | ist-Alert | +ist-Command | registerSS | eraseSS | activateSS | deactivateSS | interrogateSS | +processUnstructuredSS-Request | unstructuredSS-Request | unstructuredSS-Notify | +registerPassword | getPassword | ss-InvocationNotification | registerCC-Entry | eraseCC-Entry | +sendRoutingInfoForSM | mo-ForwardSM | mt-ForwardSM | reportSM-DeliveryStatus | +alertServiceCentre | informServiceCentre | readyForSM | prepareGroupCall | +processGroupCallSignalling | forwardGroupCallSignalling | sendGroupCallEndSignal | +provideSubscriberLocation | sendRoutingInfoForLCS | subscriberLocationReport | +releaseResources | mt-ForwardSM-VGCS | sendGroupCallInfo } + + + +-- The following operation codes are reserved for operations +-- existing in previous versions of the protocol + +-- Operation Name AC used Oper. Code +-- +-- sendParameters map-ac infoRetrieval (14) version1 (1) local:9 +-- processUnstructuredSS-Data map-ac networkFunctionalSs (18) version1 (1) local:19 +-- performHandover map-ac handoverControl (11) version1 (1) local:28 +-- performSubsequentHandover map-ac handoverControl (11) version1 (1) local:30 +-- provideSIWFSNumber map-ac sIWFSAllocation (12) version3 (3) local:31 +-- siwfs-SignallingModify map-ac sIWFSAllocation (12) version3 (3) local:32 +-- noteInternalHandover map-ac handoverControl (11) version1 (1) local:35 +-- noteSubscriberPresent map-ac mwdMngt (24) version1 (1) local:48 +-- alertServiceCentreWithoutResult map-ac shortMsgAlert (23) version1 (1) local:49 +-- traceSubscriberActivity map-ac handoverControl (11) version1 (1) local:52 +-- beginSubscriberActivity map-ac networkFunctionalSs (18) version1 (1) local:54 + +-- The following error codes are reserved for errors +-- existing in previous versions of the protocol + +-- Error Name AC used Error Code +-- +-- unknownBaseStation map-ac handoverControl (11) version1 (1) local:2 +-- invalidTargetBaseStation map-ac handoverControl (11) version1 (1) local:23 +-- noRadioResourceAvailable map-ac handoverControl (11) version1 (1) local:24 + + +END diff --git a/src/MAP_SM_DataTypes.asn b/src/MAP_SM_DataTypes.asn new file mode 100644 index 0000000..ca8112e --- /dev/null +++ b/src/MAP_SM_DataTypes.asn @@ -0,0 +1,281 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-SM-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SM-DataTypes (16) version13 (13)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + RoutingInfoForSM-Arg, + RoutingInfoForSM-Res, + MO-ForwardSM-Arg, + MO-ForwardSM-Res, + MT-ForwardSM-Arg, + MT-ForwardSM-Res, + ReportSM-DeliveryStatusArg, + ReportSM-DeliveryStatusRes, + AlertServiceCentreArg, + InformServiceCentreArg, + ReadyForSM-Arg, + ReadyForSM-Res, + SM-DeliveryOutcome, + AlertReason, + Additional-Number, + MT-ForwardSM-VGCS-Arg, + MT-ForwardSM-VGCS-Res +; + +IMPORTS + AddressString, + ISDN-AddressString, + SignalInfo, + IMSI, + LMSI, + ASCI-CallReference, + Time + +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13)} + + AbsentSubscriberDiagnosticSM +FROM MAP-ER-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ER-DataTypes (17) version13 (13)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version13 (13)} +; + + +RoutingInfoForSM-Arg ::= SEQUENCE { + msisdn [0] ISDN-AddressString, + sm-RP-PRI [1] BOOLEAN, + serviceCentreAddress [2] AddressString, + 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 } + +SM-DeliveryNotIntended ::= ENUMERATED { + onlyIMSI-requested (0), + onlyMCC-MNC-requested (1), + ...} + +SM-RP-MTI ::= INTEGER (0..10) + -- 0 SMS Deliver + -- 1 SMS Status Report + -- other values are reserved for future use and shall be discarded if + -- received + +SM-RP-SMEA ::= OCTET STRING (SIZE (1..12)) + -- this parameter contains an address field which is encoded + -- as defined in 3GPP TS 23.040. An address field contains 3 elements : + -- address-length + -- type-of-address + -- address-value + +RoutingInfoForSM-Res ::= SEQUENCE { + imsi IMSI, + locationInfoWithLMSI [0] LocationInfoWithLMSI, + extensionContainer [4] ExtensionContainer OPTIONAL, + ..., + ip-sm-gwGuidance [5] IP-SM-GW-Guidance OPTIONAL } + +IP-SM-GW-Guidance ::= SEQUENCE { + minimumDeliveryTimeValue SM-DeliveryTimerValue, + recommendedDeliveryTimeValue SM-DeliveryTimerValue, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +LocationInfoWithLMSI ::= SEQUENCE { + networkNode-Number [1] ISDN-AddressString, + lmsi LMSI OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + gprsNodeIndicator [5] NULL OPTIONAL, + -- gprsNodeIndicator is set only if the SGSN number is sent as the + -- Network Node Number + additional-Number [6] Additional-Number OPTIONAL + -- NetworkNode-number can be either msc-number or sgsn-number or IP-SM-GW + -- number or SMS Router number + } + +Additional-Number ::= CHOICE { + msc-Number [0] ISDN-AddressString, + sgsn-Number [1] ISDN-AddressString} + -- additional-number can be either msc-number or sgsn-number + -- if received networkNode-number is msc-number then the + -- additional number is sgsn-number + -- if received networkNode-number is sgsn-number then the + -- additional number is msc-number + +MO-ForwardSM-Arg ::= SEQUENCE { + sm-RP-DA SM-RP-DA, + sm-RP-OA SM-RP-OA, + sm-RP-UI SignalInfo, + extensionContainer ExtensionContainer OPTIONAL, + ... , + imsi IMSI OPTIONAL } + +MO-ForwardSM-Res ::= SEQUENCE { + sm-RP-UI SignalInfo OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +MT-ForwardSM-Arg ::= SEQUENCE { + sm-RP-DA SM-RP-DA, + sm-RP-OA SM-RP-OA, + sm-RP-UI SignalInfo, + moreMessagesToSend NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + smDeliveryTimer SM-DeliveryTimerValue OPTIONAL, + smDeliveryStartTime Time OPTIONAL } + -- SM-DeliveryTimerValue contains the value used by the SMS-GMSC + +MT-ForwardSM-Res ::= SEQUENCE { + sm-RP-UI SignalInfo OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SM-RP-DA ::= CHOICE { + imsi [0] IMSI, + lmsi [1] LMSI, + serviceCentreAddressDA [4] AddressString, + noSM-RP-DA [5] NULL} + +SM-RP-OA ::= CHOICE { + msisdn [2] ISDN-AddressString, + serviceCentreAddressOA [4] AddressString, + noSM-RP-OA [5] NULL} + +SM-DeliveryTimerValue ::= INTEGER (30..600) + +ReportSM-DeliveryStatusArg ::= SEQUENCE { + msisdn ISDN-AddressString, + serviceCentreAddress AddressString, + sm-DeliveryOutcome SM-DeliveryOutcome, + absentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM + OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ..., + gprsSupportIndicator [2] NULL OPTIONAL, + -- gprsSupportIndicator is set only if the SMS-GMSC supports + -- handling of two delivery outcomes + deliveryOutcomeIndicator [3] NULL OPTIONAL, + -- DeliveryOutcomeIndicator is set when the SM-DeliveryOutcome + -- is for GPRS + additionalSM-DeliveryOutcome [4] SM-DeliveryOutcome OPTIONAL, + -- If received, additionalSM-DeliveryOutcome is for GPRS + -- If DeliveryOutcomeIndicator is set, then AdditionalSM-DeliveryOutcome shall be absent + additionalAbsentSubscriberDiagnosticSM [5] AbsentSubscriberDiagnosticSM OPTIONAL, + -- If received additionalAbsentSubscriberDiagnosticSM is for GPRS + -- If DeliveryOutcomeIndicator is set, then AdditionalAbsentSubscriberDiagnosticSM + -- shall be absent + ip-sm-gw-Indicator [6] NULL OPTIONAL, + -- the ip-sm-gw indicator indicates by its presence that sm-deliveryOutcome + -- is for delivery via IMS + -- If present, deliveryOutcomeIndicator shall be absent. + ip-sm-gw-sm-deliveryOutcome [7] SM-DeliveryOutcome OPTIONAL, + -- If received ip-sm-gw-sm-deliveryOutcome is for delivery via IMS + -- If ip-sm-gw-Indicator is set, then ip-sm-gw-sm-deliveryOutcome shall be absent + ip-sm-gw-absentSubscriberDiagnosticSM [8] AbsentSubscriberDiagnosticSM OPTIONAL + -- If received ip-sm-gw-sm-absentSubscriberDiagnosticSM is for delivery via IMS + -- If ip-sm-gw-Indicator is set, then ip-sm-gw-sm-absentSubscriberDiagnosticSM + -- shall be absent +} + +SM-DeliveryOutcome ::= ENUMERATED { + memoryCapacityExceeded (0), + absentSubscriber (1), + successfulTransfer (2)} + +ReportSM-DeliveryStatusRes ::= SEQUENCE { + storedMSISDN ISDN-AddressString OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +AlertServiceCentreArg ::= SEQUENCE { + msisdn ISDN-AddressString, + serviceCentreAddress AddressString, + ...} + +InformServiceCentreArg ::= SEQUENCE { + storedMSISDN ISDN-AddressString OPTIONAL, + mw-Status MW-Status OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + absentSubscriberDiagnosticSM AbsentSubscriberDiagnosticSM OPTIONAL, + additionalAbsentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM OPTIONAL } + -- additionalAbsentSubscriberDiagnosticSM may be present only if + -- absentSubscriberDiagnosticSM is present. + -- if included, additionalAbsentSubscriberDiagnosticSM is for GPRS and + -- absentSubscriberDiagnosticSM is for non-GPRS + +MW-Status ::= BIT STRING { + sc-AddressNotIncluded (0), + mnrf-Set (1), + mcef-Set (2) , + mnrg-Set (3)} (SIZE (6..16)) + -- exception handling: + -- bits 4 to 15 shall be ignored if received and not understood + +ReadyForSM-Arg ::= SEQUENCE { + imsi [0] IMSI, + alertReason AlertReason, + alertReasonIndicator NULL OPTIONAL, + -- alertReasonIndicator is set only when the alertReason + -- sent to HLR is for GPRS + extensionContainer ExtensionContainer OPTIONAL, + ..., + additionalAlertReasonIndicator [1] NULL OPTIONAL + -- additionalAlertReasonIndicator is set only when the alertReason + -- sent to HLR is for IP-SM-GW + } + +ReadyForSM-Res ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +AlertReason ::= ENUMERATED { + ms-Present (0), + memoryAvailable (1)} + +MT-ForwardSM-VGCS-Arg ::= SEQUENCE { + asciCallReference ASCI-CallReference, + sm-RP-OA SM-RP-OA, + sm-RP-UI SignalInfo, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +MT-ForwardSM-VGCS-Res ::= SEQUENCE { + sm-RP-UI [0] SignalInfo OPTIONAL, + dispatcherList [1] DispatcherList OPTIONAL, + ongoingCall NULL OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +DispatcherList ::= + SEQUENCE SIZE (1..maxNumOfDispatchers) OF + ISDN-AddressString + +maxNumOfDispatchers INTEGER ::= 5 + + + +END diff --git a/src/MAP_SS_Code.asn b/src/MAP_SS_Code.asn new file mode 100644 index 0000000..9a588bb --- /dev/null +++ b/src/MAP_SS_Code.asn @@ -0,0 +1,187 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-SS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-Code (15) version13 (13)} + +DEFINITIONS + +::= + +BEGIN + +SS-Code ::= OCTET STRING (SIZE (1)) + -- This type is used to represent the code identifying a single + -- supplementary service, a group of supplementary services, or + -- all supplementary services. The services and abbreviations + -- used are defined in TS 3GPP TS 22.004 [5]. The internal structure is + -- defined as follows: + -- + -- bits 87654321: group (bits 8765), and specific service + -- (bits 4321) + +allSS SS-Code ::= '00000000'B + -- reserved for possible future use + -- all SS + +allLineIdentificationSS SS-Code ::= '00010000'B + -- reserved for possible future use + -- all line identification SS +clip SS-Code ::= '00010001'B + -- calling line identification presentation +clir SS-Code ::= '00010010'B + -- calling line identification restriction +colp SS-Code ::= '00010011'B + -- connected line identification presentation +colr SS-Code ::= '00010100'B + -- connected line identification restriction +mci SS-Code ::= '00010101'B + -- reserved for possible future use + -- malicious call identification + +allNameIdentificationSS SS-Code ::= '00011000'B + -- all name identification SS +cnap SS-Code ::= '00011001'B + -- calling name presentation + + -- SS-Codes '00011010'B to '00011111'B are reserved for future + -- NameIdentification Supplementary Service use. + +allForwardingSS SS-Code ::= '00100000'B + -- all forwarding SS +cfu SS-Code ::= '00100001'B + -- call forwarding unconditional +allCondForwardingSS SS-Code ::= '00101000'B + -- all conditional forwarding SS +cfb SS-Code ::= '00101001'B + -- call forwarding on mobile subscriber busy +cfnry SS-Code ::= '00101010'B + -- call forwarding on no reply +cfnrc SS-Code ::= '00101011'B + -- call forwarding on mobile subscriber not reachable +cd SS-Code ::= '00100100'B + -- call deflection + +allCallOfferingSS SS-Code ::= '00110000'B + -- reserved for possible future use + -- all call offering SS includes also all forwarding SS +ect SS-Code ::= '00110001'B + -- explicit call transfer +mah SS-Code ::= '00110010'B + -- reserved for possible future use + -- mobile access hunting + +allCallCompletionSS SS-Code ::= '01000000'B + -- reserved for possible future use + -- all Call completion SS +cw SS-Code ::= '01000001'B + -- call waiting +hold SS-Code ::= '01000010'B + -- call hold +ccbs-A SS-Code ::= '01000011'B + -- completion of call to busy subscribers, originating side + -- this SS-Code is used only in InsertSubscriberData, DeleteSubscriberData + -- and InterrogateSS +ccbs-B SS-Code ::= '01000100'B + -- completion of call to busy subscribers, destination side + -- this SS-Code is used only in InsertSubscriberData and DeleteSubscriberData +mc SS-Code ::= '01000101'B + -- multicall + +allMultiPartySS SS-Code ::= '01010000'B + -- reserved for possible future use + -- all multiparty SS +multiPTY SS-Code ::= '01010001'B + -- multiparty + +allCommunityOfInterest-SS SS-Code ::= '01100000'B + -- reserved for possible future use + -- all community of interest SS +cug SS-Code ::= '01100001'B + -- closed user group + +allChargingSS SS-Code ::= '01110000'B + -- reserved for possible future use + -- all charging SS +aoci SS-Code ::= '01110001'B + -- advice of charge information +aocc SS-Code ::= '01110010'B + -- advice of charge charging + +allAdditionalInfoTransferSS SS-Code ::= '10000000'B + -- reserved for possible future use + -- all additional information transfer SS +uus1 SS-Code ::= '10000001'B + -- UUS1 user-to-user signalling +uus2 SS-Code ::= '10000010'B + -- UUS2 user-to-user signalling +uus3 SS-Code ::= '10000011'B + -- UUS3 user-to-user signalling + +allBarringSS SS-Code ::= '10010000'B + -- all barring SS +barringOfOutgoingCalls SS-Code ::= '10010001'B + -- barring of outgoing calls +baoc SS-Code ::= '10010010'B + -- barring of all outgoing calls +boic SS-Code ::= '10010011'B + -- barring of outgoing international calls +boicExHC SS-Code ::= '10010100'B + -- barring of outgoing international calls except those directed + -- to the home PLMN Country +barringOfIncomingCalls SS-Code ::= '10011001'B + -- barring of incoming calls +baic SS-Code ::= '10011010'B + -- barring of all incoming calls +bicRoam SS-Code ::= '10011011'B + -- barring of incoming calls when roaming outside home PLMN + -- Country + +allPLMN-specificSS SS-Code ::= '11110000'B +plmn-specificSS-1 SS-Code ::= '11110001'B +plmn-specificSS-2 SS-Code ::= '11110010'B +plmn-specificSS-3 SS-Code ::= '11110011'B +plmn-specificSS-4 SS-Code ::= '11110100'B +plmn-specificSS-5 SS-Code ::= '11110101'B +plmn-specificSS-6 SS-Code ::= '11110110'B +plmn-specificSS-7 SS-Code ::= '11110111'B +plmn-specificSS-8 SS-Code ::= '11111000'B +plmn-specificSS-9 SS-Code ::= '11111001'B +plmn-specificSS-A SS-Code ::= '11111010'B +plmn-specificSS-B SS-Code ::= '11111011'B +plmn-specificSS-C SS-Code ::= '11111100'B +plmn-specificSS-D SS-Code ::= '11111101'B +plmn-specificSS-E SS-Code ::= '11111110'B +plmn-specificSS-F SS-Code ::= '11111111'B + +allCallPrioritySS SS-Code ::= '10100000'B + -- reserved for possible future use + -- all call priority SS +emlpp SS-Code ::= '10100001'B + -- enhanced Multilevel Precedence Pre-emption (EMLPP) service + +allLCSPrivacyException SS-Code ::= '10110000'B + -- all LCS Privacy Exception Classes +universal SS-Code ::= '10110001'B + -- allow location by any LCS client +callSessionRelated SS-Code ::= '10110010'B + -- allow location by any value added LCS client to which a call/session + -- is established from the target MS +callSessionUnrelated SS-Code ::= '10110011'B + -- allow location by designated external value added LCS clients +plmnoperator SS-Code ::= '10110100'B + -- allow location by designated PLMN operator LCS clients +serviceType SS-Code ::= '10110101'B + -- allow location by LCS clients of a designated LCS service type + +allMOLR-SS SS-Code ::= '11000000'B + -- all Mobile Originating Location Request Classes +basicSelfLocation SS-Code ::= '11000001'B + -- allow an MS to request its own location +autonomousSelfLocation SS-Code ::= '11000010'B + -- allow an MS to perform self location without interaction + -- with the PLMN for a predetermined period of time +transferToThirdParty SS-Code ::= '11000011'B + -- allow an MS to request transfer of its location to another LCS client + +END diff --git a/src/MAP_SS_DataTypes.asn b/src/MAP_SS_DataTypes.asn new file mode 100644 index 0000000..8fff10e --- /dev/null +++ b/src/MAP_SS_DataTypes.asn @@ -0,0 +1,339 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-SS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-DataTypes (14) version13 (13)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + RegisterSS-Arg, + SS-Info, + SS-Status, + SS-SubscriptionOption, + SS-ForBS-Code, + InterrogateSS-Res, + USSD-Arg, + USSD-Res, + USSD-DataCodingScheme, + USSD-String, + Password, + GuidanceInfo, + SS-List, + SS-InfoList, + OverrideCategory, + CliRestrictionOption, + NoReplyConditionTime, + ForwardingOptions, + maxNumOfSS, + SS-Data, + SS-InvocationNotificationArg, + SS-InvocationNotificationRes, + CCBS-Feature, + RegisterCC-EntryArg, + RegisterCC-EntryRes, + EraseCC-EntryArg, + EraseCC-EntryRes +; + +IMPORTS + AddressString, + ISDN-AddressString, + ISDN-SubaddressString, + FTN-AddressString, + IMSI, + BasicServiceCode, + AlertingPattern, + EMLPP-Priority, + MaxMC-Bearers, + MC-Bearers, + ExternalSignalInfo +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version13 (13)} + + SS-Code +FROM MAP-SS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-Code (15) version13 (13)} +; + + +RegisterSS-Arg ::= SEQUENCE { + ss-Code SS-Code, + basicService BasicServiceCode OPTIONAL, + forwardedToNumber [4] AddressString OPTIONAL, + forwardedToSubaddress [6] ISDN-SubaddressString OPTIONAL, + noReplyConditionTime [5] NoReplyConditionTime OPTIONAL, + ..., + defaultPriority [7] EMLPP-Priority OPTIONAL, + nbrUser [8] MC-Bearers OPTIONAL, + longFTN-Supported [9] NULL OPTIONAL } + +NoReplyConditionTime ::= INTEGER (5..30) + +SS-Info ::= CHOICE { + forwardingInfo [0] ForwardingInfo, + callBarringInfo [1] CallBarringInfo, + ss-Data [3] SS-Data} + +ForwardingInfo ::= SEQUENCE { + ss-Code SS-Code OPTIONAL, + forwardingFeatureList ForwardingFeatureList, + ...} + +ForwardingFeatureList ::= + SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF + ForwardingFeature + +ForwardingFeature ::= SEQUENCE { + basicService BasicServiceCode OPTIONAL, + ss-Status [4] SS-Status OPTIONAL, + forwardedToNumber [5] ISDN-AddressString OPTIONAL, + forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL, + forwardingOptions [6] ForwardingOptions OPTIONAL, + noReplyConditionTime [7] NoReplyConditionTime OPTIONAL, + ..., + longForwardedToNumber [9] FTN-AddressString OPTIONAL } + +SS-Status ::= OCTET STRING (SIZE (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" + +ForwardingOptions ::= OCTET STRING (SIZE (1)) + + -- bit 8: notification to forwarding party + -- 0 no notification + -- 1 notification + + -- bit 7: redirecting presentation + -- 0 no presentation + -- 1 presentation + + -- 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 when used in a SRI Result, + -- or call deflection when used in a RCH Argument + -- bits 21: 00 (unused) + +CallBarringInfo ::= SEQUENCE { + ss-Code SS-Code OPTIONAL, + callBarringFeatureList CallBarringFeatureList, + ...} + +CallBarringFeatureList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF + CallBarringFeature + +CallBarringFeature ::= SEQUENCE { + basicService BasicServiceCode OPTIONAL, + ss-Status [4] SS-Status OPTIONAL, + ...} + +SS-Data ::= SEQUENCE { + ss-Code SS-Code OPTIONAL, + ss-Status [4] SS-Status OPTIONAL, + ss-SubscriptionOption SS-SubscriptionOption OPTIONAL, + basicServiceGroupList BasicServiceGroupList OPTIONAL, + ..., + defaultPriority EMLPP-Priority OPTIONAL, + nbrUser [5] MC-Bearers OPTIONAL + } + +SS-SubscriptionOption ::= CHOICE { + cliRestrictionOption [2] CliRestrictionOption, + overrideCategory [1] OverrideCategory} + +CliRestrictionOption ::= ENUMERATED { + permanent (0), + temporaryDefaultRestricted (1), + temporaryDefaultAllowed (2)} + +OverrideCategory ::= ENUMERATED { + overrideEnabled (0), + overrideDisabled (1)} + +SS-ForBS-Code ::= SEQUENCE { + ss-Code SS-Code, + basicService BasicServiceCode OPTIONAL, + ..., + longFTN-Supported [4] NULL OPTIONAL } + +GenericServiceInfo ::= SEQUENCE { + ss-Status SS-Status, + cliRestrictionOption CliRestrictionOption OPTIONAL, + ..., + maximumEntitledPriority [0] EMLPP-Priority OPTIONAL, + defaultPriority [1] EMLPP-Priority OPTIONAL, + ccbs-FeatureList [2] CCBS-FeatureList OPTIONAL, + nbrSB [3] MaxMC-Bearers OPTIONAL, + nbrUser [4] MC-Bearers OPTIONAL, + nbrSN [5] MC-Bearers OPTIONAL } + +CCBS-FeatureList ::= SEQUENCE SIZE (1..maxNumOfCCBS-Requests) OF + CCBS-Feature + +maxNumOfCCBS-Requests INTEGER ::= 5 + +CCBS-Feature ::= SEQUENCE { + ccbs-Index [0] CCBS-Index OPTIONAL, + b-subscriberNumber [1] ISDN-AddressString OPTIONAL, + b-subscriberSubaddress [2] ISDN-SubaddressString OPTIONAL, + basicServiceGroup [3] BasicServiceCode OPTIONAL, + ...} + +CCBS-Index ::= INTEGER (1..maxNumOfCCBS-Requests) + +InterrogateSS-Res ::= CHOICE { + ss-Status [0] SS-Status, + basicServiceGroupList [2] BasicServiceGroupList, + forwardingFeatureList [3] ForwardingFeatureList, + genericServiceInfo [4] GenericServiceInfo } + +USSD-Arg ::= SEQUENCE { + ussd-DataCodingScheme USSD-DataCodingScheme, + ussd-String USSD-String, + ... , + alertingPattern AlertingPattern OPTIONAL, + msisdn [0] ISDN-AddressString OPTIONAL } + +USSD-Res ::= SEQUENCE { + ussd-DataCodingScheme USSD-DataCodingScheme, + ussd-String USSD-String, + ...} + +USSD-DataCodingScheme ::= OCTET STRING (SIZE (1)) + -- The structure of the USSD-DataCodingScheme is defined by + -- the Cell Broadcast Data Coding Scheme as described in + -- TS 3GPP TS 23.038 [25] + +USSD-String ::= OCTET STRING (SIZE (1..maxUSSD-StringLength)) + -- The structure of the contents of the USSD-String is dependent + -- on the USSD-DataCodingScheme as described in TS 3GPP TS 23.038 [25]. + +maxUSSD-StringLength INTEGER ::= 160 + +Password ::= NumericString + (FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9")) + (SIZE (4)) + +GuidanceInfo ::= ENUMERATED { + enterPW (0), + enterNewPW (1), + enterNewPW-Again (2)} + -- How this information is really delivered to the subscriber + -- (display, announcement, ...) is not part of this + -- specification. + +SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF + SS-Code + +maxNumOfSS INTEGER ::= 30 + +SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF + SS-Info + +BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF + BasicServiceCode + +maxNumOfBasicServiceGroups INTEGER ::= 13 + +SS-InvocationNotificationArg ::= SEQUENCE { + imsi [0] IMSI, + msisdn [1] ISDN-AddressString, + ss-Event [2] SS-Code, + -- The following SS-Code values are allowed : + -- ect SS-Code ::= '00110001'B + -- multiPTY SS-Code ::= '01010001'B + -- cd SS-Code ::= '00100100'B + -- ccbs SS-Code ::= '01000100'B + ss-EventSpecification [3] SS-EventSpecification OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ..., + b-subscriberNumber [5] ISDN-AddressString OPTIONAL, + ccbs-RequestState [6] CCBS-RequestState OPTIONAL + } + +CCBS-RequestState ::= ENUMERATED { + request (0), + recall (1), + active (2), + completed (3), + suspended (4), + frozen (5), + deleted (6) + } + +SS-InvocationNotificationRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... + } + +SS-EventSpecification ::= SEQUENCE SIZE (1..maxEventSpecification) OF + AddressString + +maxEventSpecification INTEGER ::= 2 + +RegisterCC-EntryArg ::= SEQUENCE { + ss-Code [0] SS-Code, + ccbs-Data [1] CCBS-Data OPTIONAL, + ...} + +CCBS-Data ::= SEQUENCE { + ccbs-Feature [0] CCBS-Feature, + translatedB-Number [1] ISDN-AddressString, + serviceIndicator [2] ServiceIndicator OPTIONAL, + callInfo [3] ExternalSignalInfo, + networkSignalInfo [4] ExternalSignalInfo, + ...} + +ServiceIndicator ::= BIT STRING { + clir-invoked (0), + camel-invoked (1)} (SIZE(2..32)) + -- exception handling: + -- bits 2 to 31 shall be ignored if received and not understood + +RegisterCC-EntryRes ::= SEQUENCE { + ccbs-Feature [0] CCBS-Feature OPTIONAL, + ...} + +EraseCC-EntryArg ::= SEQUENCE { + ss-Code [0] SS-Code, + ccbs-Index [1] CCBS-Index OPTIONAL, + ...} + +EraseCC-EntryRes ::= SEQUENCE { + ss-Code [0] SS-Code, + ss-Status [1] SS-Status OPTIONAL, + ...} + +END diff --git a/src/MAP_ShortMessageServiceOperations.asn b/src/MAP_ShortMessageServiceOperations.asn new file mode 100644 index 0000000..d44a1bb --- /dev/null +++ b/src/MAP_ShortMessageServiceOperations.asn @@ -0,0 +1,171 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-ShortMessageServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9) + version13 (13)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + sendRoutingInfoForSM, + mo-ForwardSM, + mt-ForwardSM, + reportSM-DeliveryStatus, + alertServiceCentre, + informServiceCentre, + readyForSM, + mt-ForwardSM-VGCS +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + + systemFailure, + dataMissing, + unexpectedDataValue, + facilityNotSupported, + unknownSubscriber, + unidentifiedSubscriber, + illegalSubscriber, + illegalEquipment, + teleserviceNotProvisioned, + callBarred, + subscriberBusyForMT-SMS, + sm-DeliveryFailure, + messageWaitingListFull, + absentSubscriberSM +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version13 (13)} + + RoutingInfoForSM-Arg, + RoutingInfoForSM-Res, + MO-ForwardSM-Arg, + MO-ForwardSM-Res, + MT-ForwardSM-Arg, + MT-ForwardSM-Res, + ReportSM-DeliveryStatusArg, + ReportSM-DeliveryStatusRes, + AlertServiceCentreArg, + InformServiceCentreArg, + ReadyForSM-Arg, + ReadyForSM-Res, + MT-ForwardSM-VGCS-Arg, + MT-ForwardSM-VGCS-Res +FROM MAP-SM-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SM-DataTypes (16) version13 (13)} + +; + +sendRoutingInfoForSM OPERATION ::= { --Timer m + ARGUMENT + RoutingInfoForSM-Arg + RESULT + RoutingInfoForSM-Res + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + unknownSubscriber | + teleserviceNotProvisioned | + callBarred | + absentSubscriberSM} + CODE local:45 } + +mo-ForwardSM OPERATION ::= { --Timer ml + ARGUMENT + MO-ForwardSM-Arg + RESULT + MO-ForwardSM-Res + -- optional + ERRORS { + systemFailure | + unexpectedDataValue | + facilityNotSupported | + sm-DeliveryFailure} + CODE local:46 } + +mt-ForwardSM OPERATION ::= { --Timer ml + -- the timer value may be subject to negotiation between GMSC and IP-SM-GW + ARGUMENT + MT-ForwardSM-Arg + RESULT + MT-ForwardSM-Res + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + unidentifiedSubscriber | + illegalSubscriber | + illegalEquipment | + subscriberBusyForMT-SMS | + sm-DeliveryFailure | + absentSubscriberSM} + CODE local:44 } + +reportSM-DeliveryStatus OPERATION ::= { --Timer s + ARGUMENT + ReportSM-DeliveryStatusArg + RESULT + ReportSM-DeliveryStatusRes + -- optional + ERRORS { + dataMissing | + unexpectedDataValue | + unknownSubscriber | + messageWaitingListFull} + CODE local:47 } + +alertServiceCentre OPERATION ::= { --Timer s + ARGUMENT + AlertServiceCentreArg + RETURN RESULT TRUE + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue} + CODE local:64 } + +informServiceCentre OPERATION ::= { --Timer s + ARGUMENT + InformServiceCentreArg + CODE local:63 } + +readyForSM OPERATION ::= { --Timer m + ARGUMENT + ReadyForSM-Arg + RESULT + ReadyForSM-Res + -- optional + ERRORS { + dataMissing | + unexpectedDataValue | + facilityNotSupported | + unknownSubscriber} + CODE local:66 } + +mt-ForwardSM-VGCS OPERATION ::= { --Timer ml + ARGUMENT + MT-ForwardSM-VGCS-Arg + RESULT + MT-ForwardSM-VGCS-Res + -- optional + ERRORS { + systemFailure | + unexpectedDataValue } + CODE local:21 } + + +END diff --git a/src/MAP_SupplementaryServiceOperations.asn b/src/MAP_SupplementaryServiceOperations.asn new file mode 100644 index 0000000..453bed7 --- /dev/null +++ b/src/MAP_SupplementaryServiceOperations.asn @@ -0,0 +1,297 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-SupplementaryServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SupplementaryServiceOperations (8) + version13 (13)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + registerSS, + eraseSS, + activateSS, + deactivateSS, + interrogateSS, + processUnstructuredSS-Request, + unstructuredSS-Request, + unstructuredSS-Notify, + registerPassword, + getPassword, + ss-InvocationNotification, + registerCC-Entry, + eraseCC-Entry +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + + systemFailure, + dataMissing, + unexpectedDataValue, + unknownSubscriber, + bearerServiceNotProvisioned, + teleserviceNotProvisioned, + callBarred, + illegalSS-Operation, + ss-ErrorStatus, + ss-NotAvailable, + ss-SubscriptionViolation, + ss-Incompatibility, + pw-RegistrationFailure, + negativePW-Check, + numberOfPW-AttemptsViolation, + unknownAlphabet, + ussd-Busy, + absentSubscriber, + illegalSubscriber, + illegalEquipment, + shortTermDenial, + longTermDenial, + facilityNotSupported +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version13 (13)} + + RegisterSS-Arg, + SS-Info, + SS-ForBS-Code, + InterrogateSS-Res, + USSD-Arg, + USSD-Res, + Password, + GuidanceInfo, + SS-InvocationNotificationArg, + SS-InvocationNotificationRes, + RegisterCC-EntryArg, + RegisterCC-EntryRes, + EraseCC-EntryArg, + EraseCC-EntryRes +FROM MAP-SS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-DataTypes (14) version13 (13)} + + SS-Code +FROM MAP-SS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-Code (15) version13 (13)} +; + + +-- supplementary service handling operations + +registerSS OPERATION ::= { --Timer m + ARGUMENT + RegisterSS-Arg + RESULT + SS-Info + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-ErrorStatus | + ss-Incompatibility} + CODE local:10 } + +eraseSS OPERATION ::= { --Timer m + ARGUMENT + SS-ForBS-Code + RESULT + SS-Info + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-ErrorStatus + } + CODE local:11 } + +activateSS OPERATION ::= { --Timer m + ARGUMENT + SS-ForBS-Code + RESULT + SS-Info + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-ErrorStatus | + ss-SubscriptionViolation | + ss-Incompatibility | + negativePW-Check | + numberOfPW-AttemptsViolation} + CODE local:12 } + +deactivateSS OPERATION ::= { --Timer m + ARGUMENT + SS-ForBS-Code + RESULT + SS-Info + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-ErrorStatus | + ss-SubscriptionViolation | + negativePW-Check | + numberOfPW-AttemptsViolation} + CODE local:13 } + +interrogateSS OPERATION ::= { --Timer m + ARGUMENT + SS-ForBS-Code + RESULT + InterrogateSS-Res + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-NotAvailable} + CODE local:14 } + +processUnstructuredSS-Request OPERATION ::= { --Timer 10 minutes + ARGUMENT + USSD-Arg + RESULT + USSD-Res + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + unknownAlphabet | + callBarred} + CODE local:59 } + +unstructuredSS-Request OPERATION ::= { --Timer ml + ARGUMENT + USSD-Arg + RESULT + USSD-Res + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + absentSubscriber | + illegalSubscriber | + illegalEquipment | + unknownAlphabet | + ussd-Busy} + CODE local:60 } + +unstructuredSS-Notify OPERATION ::= { --Timer ml + ARGUMENT + USSD-Arg + RETURN RESULT TRUE + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + absentSubscriber | + illegalSubscriber | + illegalEquipment | + unknownAlphabet | + ussd-Busy} + CODE local:61 } + +registerPassword OPERATION ::= { --Timer ml + ARGUMENT + SS-Code + RESULT + Password + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + callBarred | + ss-SubscriptionViolation | + pw-RegistrationFailure | + negativePW-Check | + numberOfPW-AttemptsViolation} + LINKED { + getPassword} + CODE local:17 } + +getPassword OPERATION ::= { --Timer m + ARGUMENT + GuidanceInfo + RESULT + Password + CODE local:18 } + +ss-InvocationNotification OPERATION ::= { --Timer m + ARGUMENT + SS-InvocationNotificationArg + RESULT + SS-InvocationNotificationRes + -- optional + ERRORS { + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:72 } + +registerCC-Entry OPERATION ::= { --Timer m + ARGUMENT + RegisterCC-EntryArg + RESULT + RegisterCC-EntryRes + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + callBarred | + illegalSS-Operation | + ss-ErrorStatus | + ss-Incompatibility | + shortTermDenial | + longTermDenial | + facilityNotSupported} + CODE local:76 } + +eraseCC-Entry OPERATION ::= { --Timer m + ARGUMENT + EraseCC-EntryArg + RESULT + EraseCC-EntryRes + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + callBarred | + illegalSS-Operation | + ss-ErrorStatus} + CODE local:77 } + +END diff --git a/src/MAP_TS_Code.asn b/src/MAP_TS_Code.asn new file mode 100644 index 0000000..49a5ddc --- /dev/null +++ b/src/MAP_TS_Code.asn @@ -0,0 +1,89 @@ +-- Reference: 3GPP TS 29.002 10.6.0 + +MAP-TS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-TS-Code (19) version13 (13)} + +DEFINITIONS + +::= + +BEGIN + +TeleserviceCode ::= OCTET STRING (SIZE (1)) + -- This type is used to represent the code identifying a single + -- teleservice, a group of teleservices, or all teleservices. The + -- services are defined in TS GSM 22.003 [4]. + -- The internal structure is defined as follows: + + -- bits 87654321: group (bits 8765) and specific service + -- (bits 4321) + +Ext-TeleserviceCode ::= OCTET STRING (SIZE (1..5)) + -- This type is used to represent the code identifying a single + -- teleservice, a group of teleservices, or all teleservices. The + -- services are defined in TS GSM 22.003 [4]. + -- The internal structure is defined as follows: + + -- OCTET 1: + -- bits 87654321: group (bits 8765) and specific service + -- (bits 4321) + + -- OCTETS 2-5: reserved for future use. If received the + -- Ext-TeleserviceCode shall be + -- treated according to the exception handling defined for the + -- operation that uses this type. + + -- Ext-TeleserviceCode includes all values defined for TeleserviceCode. + +allTeleservices TeleserviceCode ::= '00000000'B + +allSpeechTransmissionServices TeleserviceCode ::= '00010000'B +telephony TeleserviceCode ::= '00010001'B +emergencyCalls TeleserviceCode ::= '00010010'B + +allShortMessageServices TeleserviceCode ::= '00100000'B +shortMessageMT-PP TeleserviceCode ::= '00100001'B +shortMessageMO-PP TeleserviceCode ::= '00100010'B + +allFacsimileTransmissionServices TeleserviceCode ::= '01100000'B +facsimileGroup3AndAlterSpeech TeleserviceCode ::= '01100001'B +automaticFacsimileGroup3 TeleserviceCode ::= '01100010'B +facsimileGroup4 TeleserviceCode ::= '01100011'B + +-- The following non-hierarchical Compound Teleservice Groups +-- are defined in TS 3GPP TS 22.030: +allDataTeleservices TeleserviceCode ::= '01110000'B + -- covers Teleservice Groups 'allFacsimileTransmissionServices' + -- and 'allShortMessageServices' +allTeleservices-ExeptSMS TeleserviceCode ::= '10000000'B + -- covers Teleservice Groups 'allSpeechTransmissionServices' and + -- 'allFacsimileTransmissionServices' +-- +-- Compound Teleservice Group Codes are only used in call +-- independent supplementary service operations, i.e. they +-- are not used in InsertSubscriberData or in +-- DeleteSubscriberData messages. + +allVoiceGroupCallServices TeleserviceCode ::= '10010000'B +voiceGroupCall TeleserviceCode ::= '10010001'B +voiceBroadcastCall TeleserviceCode ::= '10010010'B + +allPLMN-specificTS TeleserviceCode ::= '11010000'B +plmn-specificTS-1 TeleserviceCode ::= '11010001'B +plmn-specificTS-2 TeleserviceCode ::= '11010010'B +plmn-specificTS-3 TeleserviceCode ::= '11010011'B +plmn-specificTS-4 TeleserviceCode ::= '11010100'B +plmn-specificTS-5 TeleserviceCode ::= '11010101'B +plmn-specificTS-6 TeleserviceCode ::= '11010110'B +plmn-specificTS-7 TeleserviceCode ::= '11010111'B +plmn-specificTS-8 TeleserviceCode ::= '11011000'B +plmn-specificTS-9 TeleserviceCode ::= '11011001'B +plmn-specificTS-A TeleserviceCode ::= '11011010'B +plmn-specificTS-B TeleserviceCode ::= '11011011'B +plmn-specificTS-C TeleserviceCode ::= '11011100'B +plmn-specificTS-D TeleserviceCode ::= '11011101'B +plmn-specificTS-E TeleserviceCode ::= '11011110'B +plmn-specificTS-F TeleserviceCode ::= '11011111'B + +END diff --git a/src/MAP_Types.ttcn b/src/MAP_Types.ttcn new file mode 100644 index 0000000..4ab4966 --- /dev/null +++ b/src/MAP_Types.ttcn @@ -0,0 +1,40 @@ +// Reference: 3GPP TS 29.002 10.6.0 + +module MAP_Types { + import from MAP_PDU_Defs all; + import from MAP_DialogueInformation all; + import from Remote_Operations_Information_Objects all; + + external function enc_TCAP_MAP_user_information( in TCAP_MAP_user_information pdu) return octetstring; + external function dec_TCAP_MAP_user_information( in octetstring stream ) return TCAP_MAP_user_information; + external function dec_MAP_DialoguePDU( in octetstring stream ) return MAP_DialoguePDU; + external function enc_MAP_Invoke( in MAP_Invoke pdu) return octetstring; + + external function dec_MAP_Invoke( + in integer invokeId, + in integer linkedId, + in Code opcode, + in octetstring stream) + return MAP_Invoke; + + external function enc_MAP_ReturnResult( in MAP_ReturnResult pdu) return octetstring; + + external function dec_MAP_ReturnResult( + in integer invokeId, + in Code opcode, + in octetstring stream) + return MAP_ReturnResult; + + external function enc_MAP_ReturnError( in MAP_ReturnError pdu) return octetstring; + + external function dec_MAP_ReturnError( + in integer invokeId, + in Code opcode, + in octetstring stream) + return MAP_ReturnError; + +}//end of module +with { +extension "version R2A" +} + diff --git a/src/MAP_v10.6.0_CNL113764_ProtocolModule.grp b/src/MAP_v10.6.0_CNL113764_ProtocolModule.grp new file mode 100644 index 0000000..b67ff4a --- /dev/null +++ b/src/MAP_v10.6.0_CNL113764_ProtocolModule.grp @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +