diff options
author | Anton Tananaev <anton@traccar.org> | 2022-05-18 18:36:43 -0700 |
---|---|---|
committer | Anton Tananaev <anton@traccar.org> | 2022-05-18 18:36:43 -0700 |
commit | 68a1b67be1c7fe9b22805a8d4c1e7a4c7d0bf2ed (patch) | |
tree | b9dfcfea8471759a62027bc67ffb574ffc8fa763 /src/main/java/org/traccar | |
parent | 433816109a02622145ff5ead295d3aff5bafaacd (diff) | |
download | trackermap-server-68a1b67be1c7fe9b22805a8d4c1e7a4c7d0bf2ed.tar.gz trackermap-server-68a1b67be1c7fe9b22805a8d4c1e7a4c7d0bf2ed.tar.bz2 trackermap-server-68a1b67be1c7fe9b22805a8d4c1e7a4c7d0bf2ed.zip |
Handle Ruptela identification
Diffstat (limited to 'src/main/java/org/traccar')
-rw-r--r-- | src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java index 2812d22ff..5a0383358 100644 --- a/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java @@ -1,5 +1,5 @@ /* - * Copyright 2013 - 2021 Anton Tananaev (anton@traccar.org) + * Copyright 2013 - 2022 Anton Tananaev (anton@traccar.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -50,6 +50,7 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder { public static final int MSG_SMS_VIA_GPRS_RESPONSE = 7; public static final int MSG_SMS_VIA_GPRS = 8; public static final int MSG_DTCS = 9; + public static final int MSG_IDENTIFICATION = 15; public static final int MSG_SET_IO = 17; public static final int MSG_FILES = 37; public static final int MSG_EXTENDED_RECORDS = 68; @@ -306,6 +307,18 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder { return null; + } else if (type == MSG_IDENTIFICATION) { + + ByteBuf content = Unpooled.buffer(); + content.writeByte(1); + ByteBuf response = RuptelaProtocolEncoder.encodeContent(type, content); + content.release(); + if (channel != null) { + channel.writeAndFlush(new NetworkMessage(response, remoteAddress)); + } + + return null; + } else { return decodeCommandResponse(deviceSession, type, buf); |