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