[Standards] XEP-0301 Session handling

Gunnar Hellström gunnar.hellstrom at omnitor.se
Wed Feb 29 06:28:26 UTC 2012


Returning to the initial question of this thread: Is there a common way 
to indicate session start and session end.

Peter Saint-Andre skrev 2012-02-29 04:20:
> Yes, but that doesn't necessarily mean you need an explicit negotiation
> protocol.
Right. The first need I thought about can in fact be reduced to a text 
session indicator, not even linked to RTT support.

I will take a scenario to make the need clear.

Assume that there is a SIP based stock exchange service, sending stock 
exchange information in text in sessions. It continues as long as a 
terminal is connected. A terminal indicates by a BYE that it leaves the 
session, so that the server can release the resources. During the 
session, the text information may be provided through RFC 4103 or RFC 
3428 or RFC 4975. (RFC 4103 makes most sense of course for the RTT 
example, but let us look at it in general).

Also assume that you want to make this service available to XMPP users 
through a gateway.
Setting up a chat session to the gateway causes it to set up a SIP 
session with the stock exchange server.
Messages or real-time text is flowing from the stock exchange server to 
the XMPP client.
Then, the XMPP user want to leave the session. What does the user do and 
what does the gateway use as an indication that the session is over and 
it can take down the session towards the server?

The indication for setting up seems to be either the basic mechanism for 
session control defined in RFC 6121 section 5.1 where it is stated that
initiation of a session should begin with a message with type=chat.
Or XEP-0085 chat state going "active"

But what is most appropriate as indication to the gateway that it is 
time to take down the session on the SIP side?

The XEP-0085 chat states do not seem to be the primary means to use. The 
user may sit there very actively watching the information coming, but 
not touching the user interface for half an hour. According to XEP-0085, 
the chat state would then be "gone" since long, so taking down the 
session on "gone" indication does not seem appropriate.

How about relying on RFC 6121 section 5.1 requiring that
end of session should be signaled by indicating directed presence 
"unavailable".
Will that be normally signalled by most XMPP text clients when the user 
closes the window where the session was shown?

The stock exchange server example is of course artificial. There may be 
many other cases when a simple session indication is important.
And this regardless of the support for and activation of the RTT 
feature. So my conclusion now is that this is not at all a XEP-0301 
issue, but if we get a conclusion, we could document it as a 
recommendation in XEP-0301.

There are other valid cases, when full capability declaration, exchange 
and negotiation or RTT capability is important, but let us take one case 
at a time.

Thanks

Gunnar




More information about the Standards mailing list