diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageFramer.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageFramer.java index f71355ea9..a75f4743d 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageFramer.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageFramer.java @@ -322,17 +322,19 @@ private void dispatchMessage() TSBKMessage tsbkMessage = TSBKMessageFactory.create(mChannelStatusProcessor.getDirection(), mDataUnitID, mBinaryMessage, mNAC, getTimestamp()); + int messageLength = mDataUnitID.getMessageLength(); + mMessageListener.receive(tsbkMessage); if(tsbkMessage.isLastBlock()) { - reset(mDataUnitID.getMessageLength()); + reset(messageLength); mTrailingDibitsToSuppress = 1; } else { - updateBitsProcessed(mDataUnitID.getMessageLength()); - mBinaryMessage = new CorrectedBinaryMessage(mDataUnitID.getMessageLength()); + updateBitsProcessed(messageLength); + mBinaryMessage = new CorrectedBinaryMessage(messageLength); if(mDataUnitID == P25P1DataUnitID.TRUNKING_SIGNALING_BLOCK_1) { mDataUnitID = P25P1DataUnitID.TRUNKING_SIGNALING_BLOCK_2;