Skip to content

Enhance CASE (case.rs) with support for session negotiation initiation #371

@mstallmo

Description

@mstallmo

This issue originates from the reply by @ivmarkov on #368. To quote the original comment:

Currently, Case only supports the use-case where another peer (say, the controller, but not only) initiates a CASE negotiation. I.e. it expects messages CASE-Sigma1 and CASE-Sigma3 and answers with CASE-Sigma2 and ACK to each of these.

We should also support the other way around, where rs-matter can initiate with CASE-Sigma1 and ongoing.
This is beneficial not just for the controller use case, but also for the device use case, when the device needs to actively initiate an exchange over a new session because of pending reporting over a subscription, where the subscription might no longer have a valid session in the sessions' manager.

Note that the transport layer itself (Exchange) is already prepared for initiating new exchanges (additionally to - and obviously - accepting new exchanges from another peer).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions