6.2 LPP PDU Structure

37.3553GPPLTE Positioning Protocol (LPP)Release 17TS

– LPP-PDU-Definitions

This ASN.1 segment is the start of the LPP PDU definitions.

— ASN1START

LPP-PDU-Definitions

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

— ASN1STOP

– LPP-Message

The LPP-Message provides the complete set of information for an invocation or response pertaining to an LPP transaction.

— ASN1START

LPP-Message ::= SEQUENCE {

transactionID LPP-TransactionID OPTIONAL, — Need ON

endTransaction BOOLEAN,

sequenceNumber SequenceNumber OPTIONAL, — Need ON

acknowledgement Acknowledgement OPTIONAL, — Need ON

lpp-MessageBody LPP-MessageBody OPTIONAL — Need ON

}

SequenceNumber ::= INTEGER (0..255)

Acknowledgement ::= SEQUENCE {

ackRequested BOOLEAN,

ackIndicator SequenceNumber OPTIONAL

}

— ASN1STOP

LPP-Message field descriptions

transactionID

This field is omitted if an lpp-MessageBody is not present (i.e. in an LPP message sent only to acknowledge a previously received message) or if it is not available to the transmitting entity (e.g., in an LPP-Error message triggered by a message that could not be parsed). If present, this field shall be ignored at a receiver in an LPP message for which the lpp-MessageBody is not present.

endTransaction

This field indicates whether an LPP message is the last message carrying an lpp-MessageBody in a transaction (TRUE) or not last (FALSE). When LPP message segmentation is used, only the final LPP message segment may indicate the end of the transaction.

sequenceNumber

This field may be included when LPP operates over the control plane and an lpp-MessageBody is included but shall be omitted otherwise.

acknowledgement

This field is included in an LPP acknowledgement and in any LPP message requesting an acknowledgement when LPP operates over the control plane and is omitted otherwise.

ackRequested

This field indicates whether an LPP acknowledgement is requested (TRUE) or not (FALSE). A value of TRUE may only be included when an lpp-MessageBody is included.

ackIndicator

This field indicates the sequence number of the message being acknowledged.

lpp-MessageBody

This field may be omitted in the case the message is sent only to acknowledge a previously received message.

– LPP-MessageBody

The LPP-MessageBody identifies the type of an LPP message and contains all LPP information specifically associated with that type.

— ASN1START

LPP-MessageBody ::= CHOICE {

c1 CHOICE {

requestCapabilities RequestCapabilities,

provideCapabilities ProvideCapabilities,

requestAssistanceData RequestAssistanceData,

provideAssistanceData ProvideAssistanceData,

requestLocationInformation RequestLocationInformation,

provideLocationInformation ProvideLocationInformation,

abort Abort,

error Error,

spare7 NULL, spare6 NULL, spare5 NULL, spare4 NULL,

spare3 NULL, spare2 NULL, spare1 NULL, spare0 NULL

},

messageClassExtension SEQUENCE {}

}

— ASN1STOP

– LPP-TransactionID

The LPP-TransactionID identifies a particular LPP transaction and the initiator of the transaction.

— ASN1START

LPP-TransactionID ::= SEQUENCE {

initiator Initiator,

transactionNumber TransactionNumber,

}

Initiator ::= ENUMERATED {

locationServer,

targetDevice,

}

TransactionNumber ::= INTEGER (0..255)

— ASN1STOP