diff --git a/src/r_session/r_session.c b/src/r_session/r_session.c index 704aba19..973a1f01 100644 --- a/src/r_session/r_session.c +++ b/src/r_session/r_session.c @@ -862,7 +862,7 @@ encodePacket(RSession self, uint8_t payloadType, uint8_t* buffer, int bufPos, RS while (element) { /* payload type ? (according to example in annex G) */ - buffer[bufPos++] = 0x82; + buffer[bufPos++] = element->payloadType; /* simulation */ buffer[bufPos++] = element->simulation; @@ -964,6 +964,7 @@ RSession_sendMessage(RSession self, RSessionProtocol_SPDU_ID spduId, bool simula element.simulation = simulation; element.appId = appId; element.payload = payload; + element.payloadType = (spduId & 0x0f) + 0x80; element.payloadSize = payloadSize; element.nextElement = NULL; diff --git a/src/r_session/r_session.h b/src/r_session/r_session.h index f0e5a2e1..438d6bf7 100644 --- a/src/r_session/r_session.h +++ b/src/r_session/r_session.h @@ -69,6 +69,7 @@ struct sRSessionPayloadElement { bool simulation; uint16_t appId; + uint8_t payloadType; uint8_t* payload; int payloadSize; RSessionPayloadElement nextElement; /* NULL when no more elements follow */