11 LMU LCS Protocol (LLP) messages

04.713GPPLocation Services (LCS)Mobile radio interface Layer 3 specificationRelease 1998TS

11.1 Messages, data types and identifiers

11.1.1 General

This clause defines the External Signal Info IE, that contains Signal Info string. Signal Info string contains the MLC-LMU messages defined by ASN.1 and coded by PER (X.691). In this ASN.1 module, ASN.1/94 defined in ITU-T X.680 recommendations (ASN.1 1997) is used.

11.1.2 ASN.1 data types

LLP-DataTypes

— { LLP-DataTypes object identifier }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS

ExtensionContainer

FROM MAP-ExtensionDataTypes {

ccitt identified-organization (4) etsi (0) mobileDomain (0)

gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version4 (4)}

;

StartRITReq ::= SEQUENCE {

rit-MeasurementType RIT-MeasurementType,

rit-ReportingType RIT-ReportingType,

rit-Environment RIT-Environment,

rit-NeigborNumber RIT-NeighborNumber,

rit-NeighborType RIT-NeighborType,

rit-CIMethod CIMethod,

rit-BTSInfo RIT-BTSInfo OPTIONAL,

extensionContainer ExtensionContainer OPTIONAL,

}

StartRITRsp ::= SEQUENCE {

extensionContainer ExtensionContainer OPTIONAL,

}

StopRITReq ::= SEQUENCE {

extensionContainer ExtensionContainer OPTIONAL,

}

StopRITRsp ::= SEQUENCE {

extensionContainer ExtensionContainer OPTIONAL,

}

ReportRITArg ::= SEQUENCE {

rit-ReferenceIDInfo RIT-ReferenceIDInfo,

rit-ResponseInfo SeqOfRIT-ResponseInfo,

extensionContainer ExtensionContainer OPTIONAL,

}

StatusReq ::= SEQUENCE {

extensionContainer ExtensionContainer OPTIONAL,

}

StatusRsp ::= SEQUENCE {

statusTime StatusTime,

rit-Status RIT-Status,

toa-Status TOA-Status,

omStatus OMStatus,

extensionContainer ExtensionContainer OPTIONAL,

}

ErrorRITArg ::= SEQUENCE {

rit-ErrorType RIT-ErrorType,

rit-ErrorReason RIT-ErrorReason,

extensionContainer ExtensionContainer OPTIONAL,

}

PerformTOA ::= SEQUENCE {

toa-MeasurementDeviceInfo TOA-MeasurementDeviceInfo,

toa-ChannelDescr TOA-ChannelDescr,

toa-SignalDescr TOA-SignalDescr,

toa-TimingDescr TOA-TimingDescr,

toa-MeasurementOpt TOA-MeasurementOpt OPTIONAL,

extensionContainer ExtensionContainer OPTIONAL,

}

TOAResultRsp ::= SEQUENCE {

toa-TimingReferenceInfo TOA-TimingReferenceInfo,

toa-Measurements TOA-MeasurementInfo,

extensionContainer ExtensionContainer OPTIONAL,

}

StatusUpdateReq ::= SEQUENCE {

statusReason StatusReason,

statusTime StatusTime,

ritStatus RIT-Status,

toaStatus TOA-Status,

omStatus OMStatus,

extensionContainer ExtensionContainer OPTIONAL,

}

StatusUpdateRsp ::= SEQUENCE {

extensionContainer ExtensionContainer OPTIONAL,

}

ResetReq ::= SEQUENCE {

extensionContainer ExtensionContainer OPTIONAL,

}

ResetRsp ::= SEQUENCE {

extensionContainer ExtensionContainer OPTIONAL,

}

— DATA TYPES DEFINITION

— RIT measurement Type information

RIT-MeasurementType ::= INTEGER {

atdMeasure (0),

atdOrOtdMeasure (1),

rtdMeasure (2)

} (0..7)

— RIT Reporting Type information

RIT-ReportingType ::= SEQUENCE {

rit-ReportingPeriodInfo RIT-ReportingPeriodInfo OPTIONAL,

rit-ChangeLimit INTEGER (1..255) OPTIONAL,

rit-DeviationLimit INTEGER (1..255) OPTIONAL,

rit-MonitorPeriod INTEGER (1..64) OPTIONAL

}

RIT-ReportingPeriodInfo ::= SEQUENCE {

rit-ReportingPeriodFormat ENUMERATED {

tensOfSeconds (0),

tensOfMinutes (1) },

rit-ReportingPeriod INTEGER (1..120)

}

— RIT Environment Information

RIT-Environment ::= INTEGER {

heavyMultiPathAndNLOS (0),

— bad urban or urban heavy multipath and NLOS conditions

lightMultiPathAndLOS (1),

— suburban or rural ligth multipath and LOS conditions

mixedEnvironement (2)

— not defined or mixed environment

} (0..7)

RIT-NeighborNumber ::= INTEGER (0..15)

RIT-NeighborType ::= INTEGER {

listedNeighbors (0),

listedAndSystemInfo2or5 (1),

systemInfoType2or5 (2),

allNeighbors (3)

} (0..7)

CIMethod ::= INTEGER {

notCi (0), — report ci and carrier instead of CI

ci (1) — report CI if possible

} (0..3)

— element contains information of base stations

— to be measured

RIT-BTSInfo ::= SEQUENCE (SIZE(1..31)) OF RIT-BTSList — list of btss

RIT-BTSList ::= SEQUENCE {

rit-ListCi CI,

rit-TimeSlotScheme TimeSlotScheme,

rit-ListBSIC BSIC,

rit-ListBCCHCarrier BCCHCarrier

}

CI ::= INTEGER (0..65535)

TimeSlotScheme ::= INTEGER {

schemeUnknown (0),

equalLength (1), — time slots are equal length

variousLength (2) — the first time slot is 157b

} (0..7)

BSIC ::= INTEGER (0..63)

BCCHCarrier ::= INTEGER (0..1023)

RIT-ReferenceIDInfo ::= SEQUENCE {

rit-ReferenceLAC LAC, — defined earlier

rit-ReferenceCI CI, — defined earlier

rit-ReferenceFrameNbr FrameNumber, — defined earlier

— If rit-ATReference is absent then there is not RIT AT refernce value.

rit-ATReference RIT-ATReference OPTIONAL,

rit-ReferenceTimeSlot TimeSlot, — defined earlier

rit-ReferenceRXLevel RXLevel, — defined earlier

rit-ATDRTDQualityRes INTEGER (0..3), — defines the resolution for ATDRTD values

rit-ATDRTDChangeQualityRes INTEGER (0..3) — defines the resolution for ATDRTD change values

}

RIT-NoATReference ::= NULL

RIT-ATReference ::= SEQUENCE {

rit-CommonClock CommonClock,

rit-ReferenceATValue ReferenceATValue,

— This Quality information defines the quality of AT value

— Resolution defines the resolution of Quality field as follows,

— 0= 0.005 us, 1= 0.01 us, 2= 0.05 us

rit-RefATQuality SEQUENCE {

resolution INTEGER (0..3),

atQuality INTEGER (0..63) },

rit-ReferenceATChange INTEGER (-1000 .. 1000),

— This Quality information defines the quality of ATChange value

— Resolution defines the resolution of Quality field as follows,

— 0= 0.00005 ppm, 1= 0.0001 ppm, 2= 0.0005

rit-RefATChangeQuality SEQUENCE {

resolution INTEGER (0..3),

atChangeQuality INTEGER (0..63) }

}

— Editor’s note: ReferenceATValue was divided in two parts because 15 999 999 999 requires 34 bits.

— In order to handle 34-bits values, LMU should support 64-bits calculation, which can cause problems.

— This solution can be handled with 32-bits and in addition it gives better resolution.

ReferenceATValue ::= SEQUENCE {

seconds INTEGER (0..59),

nsecods INTEGER (0..999999999)

}

SeqOfRIT-ResponseInfo ::= SEQUENCE (SIZE (1..15)) OF RIT-ResponseInfo

— Measured RTD values from one neighbor

RIT-ResponseInfo ::= SEQUENCE {

rit-NeighborCellIDInfo RIT-CellIDInfo,

rit-NeighborTimeSlot TimeSlot,

rit-NeighborRxLevel RXLevel,

rit-NeighborFrameNumber FrameNumber OPTIONAL,

rit-NeighborATDRTD INTEGER (0..923200),

rit-NeighborATDRTDQuality INTEGER (0..63),

rit-NeighborATDRTDChange INTEGER (-2000..2000),

}

RIT-CellIDInfo ::= CHOICE {

rit-NeighborCI CI,

rit-NeighborBTS RIT-NeighborBTS

}

RIT-NeighborBTS ::= SEQUENCE {

rit-NeighborBSIC BSIC,

rit-NeighborBCCHCarrier BCCHCarrier

}

FrameNumber ::= INTEGER (0..2715647)

LAC ::= INTEGER (0..65535)

CommonClock ::= INTEGER {

gpsClock (0),

glonass (1)

} (0..7)

TimeSlot ::= INTEGER (0..7)

RXLevel ::= INTEGER (0..63) — range -150 to -24 with 2dBm steps

— STATUS ELEMENTS

StatusReason ::= ENUMERATED {

powerUp (0), — no knowledge about previous states

unsucSWReset (1), — unsuccessful recovery

sucSWReset (2), — successful recovery

unknownError (3), — unknown selfdiagnosis error

unrelTBError (4), — unreliable timebase error

periodicReport (5), — periodic status report

}

StatusTime ::= SEQUENCE {

referenceLAC LAC, — defined earlier

referenceCI CI, — defined earlier

referenceFrameNumber FrameNumber — defined earlier

}

RIT-Status ::= INTEGER (0..63) — defines the number of RIT-Jobs

TOA-Status ::= INTEGER (0..63) — defines the number of TOA-Jobs

OMStatus ::= INTEGER (0..63) — defines the number of OM-Jobs

— ERROR RIT ELEMENTS

RIT-ErrorType ::= INTEGER {

permament (0),

temporary (1)

} (0..3)

RIT-ErrorReason ::= INTEGER {

noNeighbors (0),

noReferenceClock (1),

notSupportedType (2),

undefinedError (3)

} (0..15)

— TOA DEFINITIONS

— MEASUREMENTDEVICE INFORMATION

TOA-MeasurementDeviceInfo ::= SEQUENCE (SIZE(1..6)) OF TOA-LMUMeasurementDevice

— list of measurement devices

TOA-LMUMeasurementDevice ::= INTEGER (0..5)

— CHANNEL DESCRIPTION

TOA-ChannelDescr ::= SEQUENCE {

toa-FrequencyListType TOA-FrequencyListType,

toa-hopping TOA-Hopping OPTIONAL,

toa-channelType TOA-ChannelType,

toa-numberOfBursts TOA-NumberOfBurst

}

TOA-FrequencyListType ::= CHOICE {

frequencyListOnly FrequencyListOnly,

frequencyListAndIndex FrequencyListAndIndex,

frequencyIndexOnly FrequencyIndexOnly

}

FrequencyListOnly ::= SEQUENCE (SIZE(1..64)) OF TOA-ARFCNumber

— list of channels

FrequencyListAndIndex ::= SEQUENCE {

toa-arfcnList TOA-ARFCList,

— list of channels

frequencyIndex FrequencyIndex

}

TOA-ARFCList ::= SEQUENCE (SIZE(1..64)) OF TOA-ARFCNumber

FrequencyIndexOnly ::= SEQUENCE {

frequencyIndex FrequencyIndex

}

FrequencyIndex ::= INTEGER (0..31)

TOA-ARFCNumber ::= BCCHCarrier — defined earlier

TOA-Hopping ::= SEQUENCE {

toa-maio MAIO,

toa-hsn HSN,

toa-MsframeNumber ModuloFrameNumber

}

MAIO ::= INTEGER (0..63) — Mobile Allocation Index Offset

HSN ::= INTEGER (0..63) — Hopping Sequence Number

ModuloFrameNumber ::= INTEGER (0..84863)

TOA-ChannelType ::= INTEGER {

tchf(0),

tchhscn0 (1),

tchhscn1 (2)

} (0..7)

TOA-NumberOfBurst ::= INTEGER (0..7)

— SIGNAL DESCRIPTION

TOA-SignalDescr ::= SEQUENCE {

toa-BurstType TOA-BurstType

}

TOA-BurstType ::= CHOICE {

toa-AccessBurst TOA-AccessBurst, — access burst

toa-TSC TSC — normal burst

}

TOA-AccessBurst ::= SEQUENCE {

toa-HOReference HOReference,

toa-BSIC BSIC — defined earlier

}

HOReference ::= INTEGER (0..255)

TSC ::= INTEGER (0..7)

— TIMING DESCRIPTION

TOA-TimingDescr ::= SEQUENCE {

toa-TimeReference TOA-TimeReference,

toa-timeUncertainty TimeUncertainty

}

TOA-TimeReference ::= CHOICE {

toa-gpsTime TOA-GPSTime,

toa-gsmStartTime TOA-GSMStartTime

}

TOA-GPSTime ::= SEQUENCE {

toa-GPSStartTime GPSStartTime,

toa-GPSSV GPSSV

}

GPSStartTime ::= INTEGER (0..14999999) — unit is microseconds

GPSSV ::= INTEGER (0..31)

TOA-GSMStartTime ::= SEQUENCE {

toa-arfcn BCCHCarrier, — defined earlier

toa-bsic BSIC, — defined earlier

toa-GSMStartTime GSMTime

}

GSMTime ::= SEQUENCE {

toa-GSMTimeframeNumber GSMTimeFrameNumber,

toa-timeSlot TimeSlot,

toa-bitNumber BitNumber

}

GSMTimeFrameNumber ::= INTEGER (0..42323)

BitNumber ::= INTEGER (0..156)

TimeUncertainty ::= INTEGER (0..15)

— MEASUREMENT OPTIONS

TOA-MeasurementOpt ::= SEQUENCE {

toa-LMUMethod TOA-Method,

toa-Environment TOA-Environment,

toa-MeasurementType TOA-MeasurementType

}

TOA-Method ::= INTEGER (0..7)

TOA-Environment ::= INTEGER {

heavyMpathAndNLOS (0),

lightMpathAndLOS (1),

mixed (2)

} (0..7)

TOA-MeasurementType ::= INTEGER {

reportTOA-only (0),

reportAOA-only (1),

reportTOAandAOA (2)

} (0..3)

— TIMING INFO

TOA-TimingReferenceInfo ::= CHOICE {

toa-GPSTimeInfo NULL,

toa-GSMTimeInfo TOA-GSMTimeInfo

}

TOA-GSMTimeInfo ::= SEQUENCE {

toa-bcch BCCHCarrier, — defined earlier

toa-bsic BSIC — defined earlier

}

— THE ACTUAL TOA MEASUREMENTS

TOA-MeasurementInfo ::= SEQUENCE (SIZE(1..6)) OF TOA-Measurements

— list of measurementDevices

TOA-Measurements ::= SEQUENCE {

toa-MeasurementDeviceID MeasurementDeviceID,

toa-AddMeasurementInfo TOA-AddMeasurementInfo,

toa-measuredPeakList TOA-MeasuredPeakList

}

— MEASUREMENT DEVICE ID IE

MeasurementDeviceID ::= INTEGER (0..5)

— MEASUREMENT INFO IE IN RESULT MESSAGE

TOA-AddMeasurementInfo ::= SEQUENCE {

toa-Method TOA-Method, — defined earlier

toa-Diversity TOA-Diversity,

toa-NumberOfBurst TOA-NumberOfBurst, — defined earlier

toa-AOA TOA-AOA OPTIONAL,

toa-AOAUncertainty TOA-AOAUncertainty OPTIONAL

}

TOA-Diversity ::= INTEGER {

noDiversity (0),

diversity (1)

} (0..3)

TOA-AOA ::= INTEGER (0..3599)

TOA-AOAUncertainty ::= INTEGER (0..31)

— PEAKS LIST OF MEASURED TOAs

TOA-MeasuredPeakList ::= SEQUENCE (SIZE(0..4)) OF TOA-MeasuredPeaks

— list of peaks

— MEASURED TOA IE

TOA-MeasuredPeaks ::= SEQUENCE {

toa-MeasuredTOA MeasuredTOA,

toa-QualityInfo TOA-QualityInfo

}

MeasuredTOA ::= INTEGER (-131072..131071)

— the absolute TOA value

TOA-QualityInfo ::= SEQUENCE {

toa-Uncertainty TOA-Uncertainty OPTIONAL,

snrEstimate SNREstimate OPTIONAL,

toaSignalStrength TOASignalStrength OPTIONAL

}

TOA-Uncertainty ::= INTEGER (0..63)

— the uncertainty of the TOA estimate

SNREstimate ::= INTEGER (-30..33)

— the estimated value for Signal Noise Radio

TOASignalStrength ::= INTEGER (0..63)

— range -150 to -24 with 2dBm steps

END

— The definition below will be imported from MAP specification.

— MAP-ExtensionDataTypes {

— ccitt identified-organization (4) etsi (0) mobileDomain (0)

— gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version4 (4)}

— DEFINITIONS

— IMPLICIT TAGS

— ::=

— BEGIN

— EXPORTS

— PrivateExtension,

— ExtensionContainer;

— MAP-EXTENSION ::= CLASS {

— &ExtensionType OPTIONAL,

— &extensionId OBJECT IDENTIFIER }

— — The length of the Object Identifier shall not exceed 16 octets and the

— — number of components of the Object Identifier shall not exceed 16

— data types

— ExtensionContainer ::= SEQUENCE {

— privateExtensionList [0]PrivateExtensionList OPTIONAL,

— pcs-Extensions [1]PCS-Extensions OPTIONAL,

— …}

— PrivateExtensionList ::= SEQUENCE SIZE (1..maxNumOfPrivateExtensions) OF

— PrivateExtension

— PrivateExtension ::= SEQUENCE {

— extId MAP-EXTENSION.&extensionId

— ({ExtensionSet}),

— extType MAP-EXTENSION.&ExtensionType

— ({ExtensionSet}{@extId}) OPTIONAL}

— maxNumOfPrivateExtensions INTEGER ::= 10

— ExtensionSet MAP-EXTENSION ::=

— {…

— — ExtensionSet is the set of all defined private extensions

— }

— Unsupported private extensions shall be discarded if received.

— PCS-Extensions ::= SEQUENCE {

— …}

— END

11.1.3 Identifiers definition

In the informative annexes the contents of the identifiers used in operation and error types description are further discussed.

Annex A (informative):
RIT messages