Uploaded image for project: 'OASIS Message Queuing Telemetry Transport (MQTT) TC'
  1. OASIS Message Queuing Telemetry Transport (MQTT) TC
  2. MQTT-541

Cleansession should act like MQTT 5.0 not 3.1.1

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Applied
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: MQTT-SN-1.2
    • Fix Version/s: wd04
    • Component/s: MQTT-SN
    • Labels:
      None
    • Proposal:
      Hide

      Section should read;

      5.4.4 CONNECT

      Length MsgType Flags ProtocolId KeepAlive SessionExpiryInterval ClientId
      (0) (1) (2) (3) (4,5) (6:9) (10:n)

      Table 9: CONNECT Message
      The CONNECT message is sent by a client to setup a connection. Its format is shown in Table 9:
      • Length and MsgType: see Section 5.2.
      • Flags:
      – DUP, QoS, Retain, TopicIdType: not used.
      – Will: if set, indicates that client is requesting for Will topic and Will message prompting;
      – CleanStart: same meaning as with MQTT, however extended for Will topic and Will message (see Section 6.3).
      • ProtocolId: corresponds to the “ProtocolName” and “ProtocolVersion” of the CONNECT message.
      • KeepAlive: same as with MQTT, contains the value of the Keep Alive timer.
      • SessionExpiryInterval: same with MQTT, contains the time the gateway will maintain the session
      • ClientId: same as with MQTT, contains the client id, a string which uniquely identifies the client to the server.

      Show
      Section should read; 5.4.4 CONNECT Length MsgType Flags ProtocolId KeepAlive SessionExpiryInterval ClientId (0) (1) (2) (3) (4,5) (6:9) (10:n) Table 9: CONNECT Message The CONNECT message is sent by a client to setup a connection. Its format is shown in Table 9: • Length and MsgType: see Section 5.2. • Flags: – DUP, QoS, Retain, TopicIdType: not used. – Will: if set, indicates that client is requesting for Will topic and Will message prompting; – CleanStart: same meaning as with MQTT, however extended for Will topic and Will message (see Section 6.3). • ProtocolId: corresponds to the “ProtocolName” and “ProtocolVersion” of the CONNECT message. • KeepAlive: same as with MQTT, contains the value of the Keep Alive timer. • SessionExpiryInterval: same with MQTT, contains the time the gateway will maintain the session • ClientId: same as with MQTT, contains the client id, a string which uniquely identifies the client to the server.

      Description

      The clean session flag operates in a similar manner to MQTT 3.1.1 in that the cleanup operates at both the start and end of the session. In MQTT 5.0, the clean session flag becomes the clean start flag, and a separate property session expiry dictates when the session state is removed on the server. The MQTT 5.0 facilities are much more flexible and I would advocate changing MQTT-SN to match. One way to achieve this would be to add a session expiry 2 byte integer field (matching the duration field) to the CONNECT packet.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                simon.johnson Simon Johnson [X] (Inactive)
                Reporter:
                ian.craggs Ian Craggs
              • Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: