位置请求(MT-LR 和 MO-LR)ASN.1 消息

网络工程 协议论 snmp 移动的
2022-02-20 21:30:54

我无法识别为 MT-LR 和 MO-LR 提供 ASN 格式的消息结构的 3GPP 规范。请让我知道这件事。

我在3GPP网站上浏览了很多RRLP、RRC、LTE、LPP文档,但没有找到需要的

1个回答

下面的 MIB(来自旧版 3GPP 规范)包括3GPP 24.080移动终端位置请求 (MT-LR) 和移动发起位置请求 (MO-LR) MIB 对象;由于 SNMP 使用ASN.1语法,我相信这可以回答您的问题。这是我能找到的最好的 MIB 非 PDF 副本...


<!-- source: http://static.askapache.com/wireshark-1.1.3/asn1/gsmmap/SS-DataTypes.asn -->

-- $Id: SS-DataTypes.asn 25094 2008-04-17 07:47:02Z stig $
-- 3GPP TS 24.080 V7.4.0 (2007-09)
-- 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) version10 (10)}

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) version10 (10)}

-- 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) version10 (10)}

GSN-Address,
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) version10 (10)}

maxSignalInfoLength,
ISDN-AddressString,
ISDN-SubaddressString,
AlertingPattern,
IMSI,
LCSClientExternalID,
AddressString,
LCSServiceTypeID,
AgeOfLocationInformation
FROM MAP-CommonDataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
   map-CommonDataTypes (18) version10 (10)}

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) version10 (10)}

;

-- 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}


BeginSubscriberActivityArg ::= SEQUENCE {
    imsi            IMSI,
    originatingEntityNumber ISDN-AddressString,
    msisdn                  [PRIVATE 28] AddressString 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 }
-- 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 

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.

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),
    ...} 


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::= 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