-- 3GPP TS 24.080 V14.0.0 (2017-03) -- 4.4.2 ASN.1 data types SS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3) ss-DataTypes (2) version12 (12)} DEFINITIONS IMPLICIT TAGS ::= BEGIN -- exports all data types defined in this module IMPORTS SS-Code FROM MAP-SS-Code { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-SS-Code (15) version12 (12)} -- imports MAP-SS-DataTypes SS-Status, USSD-DataCodingScheme, USSD-String, CCBS-Feature -- USSD-DataCodingScheme, USSD-String were introduced because of CNAP. FROM MAP-SS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-SS-DataTypes (14) version12 (12)} CUG-Index, NotificationToMSUser FROM MAP-MS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-MS-DataTypes (11) version12 (12)} maxSignalInfoLength, ISDN-AddressString, ISDN-SubaddressString, AlertingPattern, LCSClientExternalID, AddressString, LCSServiceTypeID, AgeOfLocationInformation, GSN-Address FROM MAP-CommonDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CommonDataTypes (18) version12 (12)} LocationType, DeferredLocationEventType, LCSClientName, LCS-QoS, Horizontal-Accuracy, ResponseTime, Ext-GeographicalInformation, VelocityEstimate, SupportedGADShapes, Add-GeographicalInformation, LCSRequestorID, LCS-ReferenceNumber, LCSCodeword, AreaEventInfo, ReportingPLMNList, PeriodicLDRInfo, SequenceNumber FROM MAP-LCS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-LCS-DataTypes (25) version12 (12)} ; -- data types definition SS-UserData ::= IA5String (SIZE (1.. maxSignalInfoLength)) NotifySS-Arg ::= SEQUENCE{ ss-Code [1] SS-Code OPTIONAL, ss-Status [4] SS-Status OPTIONAL, ss-Notification [5] SS-Notification OPTIONAL, callIsWaiting-Indicator [14] NULL OPTIONAL, callOnHold-Indicator [15] CallOnHold-Indicator OPTIONAL, mpty-Indicator [16] NULL OPTIONAL, cug-Index [17] CUG-Index OPTIONAL, clirSuppressionRejected [18] NULL OPTIONAL, ... , ect-Indicator [19] ECT-Indicator OPTIONAL, nameIndicator [20] NameIndicator OPTIONAL, ccbs-Feature [21] CCBS-Feature OPTIONAL, alertingPattern [22] AlertingPattern OPTIONAL, multicall-Indicator [23] Multicall-Indicator OPTIONAL} -- The nameIndicator is defined because of CNAP. Multicall-Indicator ::= ENUMERATED { nbr-SNexceeded (0), nbr-Userexceeded (1)} ForwardChargeAdviceArg ::= SEQUENCE{ ss-Code [0] SS-Code, chargingInformation [1] ChargingInformation, ...} SS-Notification ::= OCTET STRING (SIZE (1)) -- Bit 8 7 6 5 4 00000 (Unused) -- Bit 3 Call is forwarded indication to A-subscriber -- (calling subscriber) -- 0 No information content -- 1 Outgoing call has been forwarded to C -- Bit 2 Call is forwarded indication to B-subscriber -- (forwarding subscriber) -- 0 No information content -- 1 Incoming call has been forwarded to C -- Bit 1 Call is forwarded indication to C-subscriber -- (forwarded-to subscriber) -- 0 No information content -- 1 Incoming call is a forwarded call ChargingInformation ::= SEQUENCE{ e1 [1] E1 OPTIONAL, e2 [2] E2 OPTIONAL, e3 [3] E3 OPTIONAL, e4 [4] E4 OPTIONAL, e5 [5] E5 OPTIONAL, e6 [6] E6 OPTIONAL, e7 [7] E7 OPTIONAL, ...} E1 ::= INTEGER (0..max10TimesUnitsPerTime) max10TimesUnitsPerTime INTEGER ::= 8191 E2 ::= INTEGER (0..max10TimesTimeInterval) max10TimesTimeInterval INTEGER ::= 8191 E3 ::= INTEGER (0..max100TimesScalingFactor) max100TimesScalingFactor INTEGER ::= 8191 E4 ::= INTEGER (0..max10TimesIncrement) max10TimesIncrement INTEGER ::= 8191 E5 ::= INTEGER (0..max10TimesIncrementPerDataInterval) max10TimesIncrementPerDataInterval INTEGER ::= 8191 E6 ::= INTEGER (0..maxNumberOfSegmentsPerDataInterval) maxNumberOfSegmentsPerDataInterval INTEGER ::= 8191 E7 ::= INTEGER (0..max10TimesInitialTime) max10TimesInitialTime INTEGER ::= 8191 CallOnHold-Indicator ::= ENUMERATED { callRetrieved (0), callOnHold (1)} ForwardCUG-InfoArg ::= SEQUENCE { cug-Index [0] CUG-Index OPTIONAL, suppressPrefCUG [1] NULL OPTIONAL, suppressOA [2] NULL OPTIONAL, ...} ECT-Indicator ::= SEQUENCE { ect-CallState [0] ECT-CallState, rdn [1] RDN OPTIONAL, ...} ECT-CallState ::= ENUMERATED { alerting (0), active (1)} NameIndicator ::= SEQUENCE { callingName [0] Name OPTIONAL, ...} Name ::= CHOICE { namePresentationAllowed [0] NameSet, presentationRestricted [1] NULL, nameUnavailable [2] NULL, namePresentationRestricted [3] NameSet} NameSet ::= SEQUENCE { dataCodingScheme [0] USSD-DataCodingScheme, lengthInCharacters [1] INTEGER, nameString [2] USSD-String, ...} -- NameIndicator, Name and NameSet are defined because of CNAP. -- The USSD-DataCodingScheme shall indicate use of the default alphabet through the -- following encoding: -- bit 7 6 5 4 3 2 1 0 -- | 0 0 0 0 | 1 1 1 1| RDN ::= CHOICE { presentationAllowedAddress [0] RemotePartyNumber, presentationRestricted [1] NULL, numberNotAvailableDueToInterworking [2] NULL, presentationRestrictedAddress [3] RemotePartyNumber} RemotePartyNumber ::= SEQUENCE { partyNumber [0] ISDN-AddressString, partyNumberSubaddress [1] ISDN-SubaddressString OPTIONAL, ...} AccessRegisterCCEntryArg ::= SEQUENCE { ...} CallDeflectionArg ::= SEQUENCE { deflectedToNumber [0] AddressString, deflectedToSubaddress [1] ISDN-SubaddressString OPTIONAL, ...} UserUserServiceArg ::= SEQUENCE { uUS-Service [0] UUS-Service, uUS-Required [1] BOOLEAN, ... } UUS-Service ::= ENUMERATED { uUS1 (1), uUS2 (2), uUS3 (3), ... } -- exception handling: -- In case of UUS-Service with any other value, indicated as "UUS required", -- but not understood by the MS, the call will be cleared. LocationNotificationArg ::= SEQUENCE { notificationType [0] NotificationToMSUser, locationType [1] LocationType, lcsClientExternalID [2] LCSClientExternalID OPTIONAL, lcsClientName [3] LCSClientName OPTIONAL, ... , lcsRequestorID [4] LCSRequestorID OPTIONAL, lcsCodeword [5] LCSCodeword OPTIONAL, lcsServiceTypeID [6] LCSServiceTypeID OPTIONAL } -- The notificationType may only be set to notifyLocationAllowed, -- notifyAndVerify-LocationAllowedIfNoResponse, -- or notifyAndVerify-LocationNotAllowedIfNoResponse. -- The locationEstimateType field of the locationType may only be set to -- currentLocation, currentOrLastKnownLocation, -- notificationVerificationOnly, or activateDeferredLocation. -- The deferredLocationEventType field of the locationType may only be set to -- enteringIntoArea, and/or leavingFromArea, and/or beingInsideArea, -- and/or periodicLDR. -- For LCS location notification of MT-LR for current location, the -- locationEstimateType field of the locationType shall be set to currentLocation. -- For LCS location notification of MT-LR for current or last known location, the -- locationEstimateType field of the locationType shall be set to currentOrLastKnownLocation. -- For the LCS location notification for the LDR of MS available event, -- the locationEstimateType field of the locationType shall be set to currentLocation. -- For LCS location notification for the LDR of change of area event, -- the locationEstimateType field of the locationType shall be set to -- activateDeferredLocation, and the deferredLocationEventType shall be -- set to enteringIntoArea, and/or leavingFromArea, and/or beingInsideArea. -- For the post positioning LCS location notification, the locationEstimateType -- field of the locationType shall be set to notificationVerificationOnly. -- For LCS location notification for the LDR of periodic location event, -- the locationEstimateType field of the locationType shall be set to -- activateDeferredLocation, and the -- deferredLocationEventType shall be set to periodicLDR. -- exception handling: -- At reception of an unrecognised notificationType value the receiver shall reject the -- operation with a return error cause of unexpected data value. -- At reception of an unrecognised locationType value the receiver shall reject the -- operation with a return error cause of unexpected data value. -- At reception of an unallowed notificationType value the receiver shall either ignore the -- received operation or reject the operation with a return error cause of unexpected -- data value. -- At reception of an unallowed locationType value the receiver shall either ignore the -- received operation or reject the operation with a return error cause of unexpected -- data value. LocationNotificationRes ::= SEQUENCE { verificationResponse [0] VerificationResponse OPTIONAL, ...} VerificationResponse::= ENUMERATED { permissionDenied (0), permissionGranted (1), ... } -- exception handling: -- an unrecognized value shall be treated the same as value 0 (permissionDenied) LCS-MOLRArg ::= SEQUENCE { molr-Type [0] MOLR-Type, locationMethod [1] LocationMethod OPTIONAL, lcs-QoS [2] LCS-QoS OPTIONAL, lcsClientExternalID [3] LCSClientExternalID OPTIONAL, mlc-Number [4] ISDN-AddressString OPTIONAL, gpsAssistanceData [5] GPSAssistanceData OPTIONAL, ..., supportedGADShapes [6] SupportedGADShapes OPTIONAL, lcsServiceTypeID [7] LCSServiceTypeID OPTIONAL, ageOfLocationInfo [8] AgeOfLocationInformation OPTIONAL, locationType [9] LocationType OPTIONAL, pseudonymIndicator [10] NULL OPTIONAL, h-gmlc-address [11] GSN-Address OPTIONAL, locationEstimate [12] Ext-GeographicalInformation OPTIONAL, velocityEstimate [13] VelocityEstimate OPTIONAL, referenceNumber [14] LCS-ReferenceNumber OPTIONAL, periodicLDRInfo [15] PeriodicLDRInfo OPTIONAL, locationUpdateRequest [16] NULL OPTIONAL, sequenceNumber [17] SequenceNumber OPTIONAL, terminationCause [18] TerminationCause OPTIONAL, mo-lrShortCircuit [19] NULL OPTIONAL, ganssAssistanceData [20] GANSSAssistanceData OPTIONAL, multiplePositioningProtocolPDUs [21] MultiplePositioningProtocolPDUs OPTIONAL } -- The parameter locationMethod shall be included if and only if the molr-Type is set to value -- deCipheringKeys or assistanceData. -- The parameter gpsAssistanceData shall be included if and only if the molr-Type is set to value -- assistanceData and locationMethod is set to value assistedGPS or assistedGPSandGANSS. -- The parameter ganssAssistanceData shall be included if and only if the molr-Type is set to value -- assistanceData and locationMethod is set to value assistedGANSS or assistedGPSandGANSS. -- supportedGADShapes shall not be included for deferred MO-LR initiation or deferred MO-LR or MT-LR -- responses -- multiplePositioningProtocolPDUs may only be included for E-UTRAN access. -- locationMethod shall not be included for E-UTRAN access. -- gpsAssistanceData shall not be included for E-UTRAN access. -- h-gmlc-address shall not be included for E-UTRAN access. -- locationEstimate shall not be included for E-UTRAN access. -- velocityEstimate shall not be included for E-UTRAN access. -- referenceNumber shall not be included for E-UTRAN access. -- periodicLDRInfo shall not be included for E-UTRAN access. -- locationUpdateRequest shall not be included for E-UTRAN access. -- sequenceNumber shall not be included for E-UTRAN access. -- terminationCause shall not be included for E-UTRAN access. -- mo-lrShortCircuit shall not be included for E-UTRAN access. -- ganssAssistanceData shall not be included for E-UTRAN access. MOLR-Type::= ENUMERATED { locationEstimate (0), assistanceData (1), deCipheringKeys (2), ... , deferredMo-lrTTTPInitiation (3), deferredMo-lrSelfLocationInitiation (4), deferredMt-lrOrmo-lrTTTPLocationEstimate (5), deferredMt-lrOrmo-lrCancellation (6)} -- exception handling: -- an unrecognized value shall be rejected by the receiver with a return error cause of -- unexpected data value. -- For E-UTRAN access, only locationEstimate or assistanceData shall be included LocationMethod::= ENUMERATED { msBasedEOTD (0), msAssistedEOTD (1), assistedGPS (2), ..., msBasedOTDOA (3), assistedGANSS (4), assistedGPSandGANSS (5) } -- exception handling: -- When this parameter is received with value msBasedEOTD or msAssistedEOTD and the MS -- is camped on an UMTS Service Area then the receiver shall reject it -- with a return error cause of unexpected data value. -- When this parameter is received with value msBasedOTDOA and the MS -- is camped on a GSM Cell then the receiver shall reject it with a return error cause of -- unexpected data value. -- an unrecognized value shall be rejected by the receiver with a return error cause of -- unexpected data value. GPSAssistanceData::= OCTET STRING (SIZE (1..38)) -- Octets 1 to 38 are coded in the same way as the octets 3 to 7+2n of Requested GPS Data IE -- in 3GPP TS 49.031 [14]. GANSSAssistanceData::= OCTET STRING (SIZE (1..40)) -- Octets 1 to 40 are coded in the same way as the octets 3 to 9+2n of Requested GANSS Data IE -- in 3GPP TS 49.031 [14] . TerminationCause ::= ENUMERATED { subscriberTermination (0), uETermination (1), ...} MultiplePositioningProtocolPDUs ::= SEQUENCE (SIZE (1..maxNumLPPMsg)) OF PositioningProtocolPDU PositioningProtocolPDU ::= OCTET STRING -- PositioningProtocolPDU contains a LPP message defined in 3GPP TS 36.355 [17]. maxNumLPPMsg INTEGER ::= 3 LCS-MOLRRes::= SEQUENCE { locationEstimate [0] Ext-GeographicalInformation OPTIONAL, decipheringKeys [1] DecipheringKeys OPTIONAL, ..., add-LocationEstimate [2] Add-GeographicalInformation OPTIONAL, velocityEstimate [3] VelocityEstimate OPTIONAL, referenceNumber [4] LCS-ReferenceNumber OPTIONAL, h-gmlc-address [5] GSN-Address OPTIONAL, mo-lrShortCircuit [6] NULL OPTIONAL, reportingPLMNList [7] ReportingPLMNList OPTIONAL } -- Parameters locationEstimate or add-LocationEstimate (one but not both) -- shall be included if and only if the -- molr-Type in LocationRequestArg was set to value locationEstimate. -- Parameter add-LocationEstimate shall not be included if the supportedGADShapes -- parameter was not received in the LCS-MOLRArg. -- The locationEstimate and the add-locationEstimate parameters shall not be sent if -- the supportedGADShapes parameter has been received in LCS-MOLRArg -- and the shape encoded in locationEstimate or add-LocationEstimate is not marked -- as supported in supportedGADShapes. In such a case LCS-MOLRArg -- shall be rejected with error FacilityNotSupported with additional indication -- shapeOfLocationEstimateNotSupported. -- Parameter decipheringKeys shall be included if and only if the molr-Type -- in LocationRequestArg was set to value deCipheringKeys. -- Parameter velocityEstimate may only be included if the lcs-QoS in LCS-MOLRarg includes -- velocityRequest -- decipheringKeys shall not be included for E-UTRAN access. -- referenceNumber shall not be included for E-UTRAN access. -- h-gmlc-address shall not be included for E-UTRAN access. -- mo-lrShortCircuit shall not be included for E-UTRAN access. -- reportingPLMNList shall not be included for E-UTRAN access. DecipheringKeys::= OCTET STRING (SIZE (15)) -- Octets in DecipheringKeys are coded in the same way as the octets 3 to 17 of Deciphering Key IE -- in 3GPP TS 49.031 [14]. I.e. these octets contain Current Deciphering Key, Next Deciphering Key and -- Ciphering Key Flag. LCS-AreaEventRequestArg ::= SEQUENCE { referenceNumber [0] LCS-ReferenceNumber, h-gmlc-address [1] GSN-Address, deferredLocationEventType [3] DeferredLocationEventType, areaEventInfo [4] AreaEventInfo, ... } -- the msAvailableValue in the DeferredLocationEventType is not applicable for this procedure LCS-AreaEventReportArg ::= SEQUENCE { referenceNumber [0] LCS-ReferenceNumber, h-gmlc-address [1] GSN-Address, ... } LCS-AreaEventCancellationArg ::= SEQUENCE { referenceNumber [0] LCS-ReferenceNumber, h-gmlc-address [1] GSN-Address, ... } LCS-PeriodicLocationRequestArg ::= SEQUENCE { referenceNumber [0] LCS-ReferenceNumber, periodicLDRInfo [1] PeriodicLDRInfo, lcsClientExternalID [2] LCSClientExternalID, qoS [3] LCS-QoS OPTIONAL, h-gmlc-address [4] GSN-Address OPTIONAL, mo-lrShortCircuit [5] NULL OPTIONAL, reportingPLMNList [6] ReportingPLMNList OPTIONAL, ... } LCS-PeriodicLocationRequestRes ::= SEQUENCE { mo-lrShortCircuit [0] NULL OPTIONAL, ... } LCS-LocationUpdateArg ::= SEQUENCE { referenceNumber [0] LCS-ReferenceNumber OPTIONAL, add-LocationEstimate[1] Add-GeographicalInformation OPTIONAL, velocityEstimate [2] VelocityEstimate OPTIONAL, sequenceNumber [3] SequenceNumber OPTIONAL, ... } -- add-LocationEstimate shall be included if and only if a location estimate was successfully -- transferred towards an External LCS Client or was successfully obtained for UE self location -- velocityEstimate may only be included if add-LocationEstimate is included LCS-LocationUpdateRes ::= SEQUENCE { terminationCause [0] TerminationCause OPTIONAL, ... } LCS-PeriodicLocationCancellationArg ::= SEQUENCE { referenceNumber [0] LCS-ReferenceNumber, h-gmlc-address [1] GSN-Address OPTIONAL, ... } END