Subject: [Simple] Message Sessions: Failure Behavior

From: Adam Roach <[email-masked]>
Date: Mon, 7 Apr 2003 18:47:52 -0500

The current draft says that the loss of an MSRP connection
invalidates all state, and that participants must
reesablish the session if they want to continue communicating.
Many people are going to ask for some normative language
around what happens at the signalling level in this case
(e.g. "Upon detection of the connection failure, an
endpoint sends a 'BYE' message"). This is especially
important in the relay case, since you can lose one
link without the other party knowing about it.

This raises the interesting question of how the system
recovers if the connection is lost between two relays
in the two-relay case. The only obvious mechanism that
presents itself is predicated on the soft-state solution
we discussed in SF; when a BIND or VISIT refresh occurs,
the sender will get a 481 and learn of the failure.
This points to the need to have reasonably short
timeouts for the soft-state.

Of course, the relay might just consider itself
"half-connected" in such a case, and attempt to
recover the connection upon receipt of the next
SEND message. Does that seem like the right
approach?

/a
_______________________________________________
Simple mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/simple

---

From: Ben Campbell <[email-masked]>
Date: 07 Apr 2003 20:31:13 -0500

> SEND message. Does that seem like the right

That is the same approach it takes on the _first_ SEND operation, so it
seems the right thing to do. Note that the overall mechanism does not
require an inter-relay connection to be up for the life of a session,
anyway. So a dropped connection is not really an error.

Unless of course you cannot re-establish the connection. Currently there
is no way for a relay to tell an endpoint this has occurred. And
endpoint will see timeouts on any SEND it attempts under this condition.
It could simply decide the session was dead if it gets one (or a
threshold number of) timeouts. This _might_ be good enough, but I can
see a user not realizing message were not being sent until he had sent
quite a number of them.