It might happen that both peers start KUDOS with one another, without knowing that the other peer has also simultaneously started KUDOS.
The scenario is that each peer:
First acts as initiator in a KUDOS execution, sending the first KUDOS message for that execution; and then
Acts as responder in the other KUDOS execution, upon receiving the first KUDOS message sent by the other peer.
Proposed solution
If a peer P1 is acting as initiator in an ongoing KUDOS execution E1 with another peer P2, and P1 receives a first KUDOS message from P2 aimed to start a second KUDOS execution E2, then P1 MUST abort the execution E2 and MUST reply to P2 with a CoAP RST message. It might happen that both executions get cancelled, but at most one survives.
It might happen that both peers start KUDOS with one another, without knowing that the other peer has also simultaneously started KUDOS.
The scenario is that each peer:
Proposed solution If a peer P1 is acting as initiator in an ongoing KUDOS execution E1 with another peer P2, and P1 receives a first KUDOS message from P2 aimed to start a second KUDOS execution E2, then P1 MUST abort the execution E2 and MUST reply to P2 with a CoAP RST message. It might happen that both executions get cancelled, but at most one survives.