2.5.21 Join a Chat Room
This use case, illustrated in the following diagram, describes how a protocol client can join a group chat room and post a chat message<32>.
Figure 25: Steps for joining a chat room
References
Preconditions
The protocol clients are signed in, as described in section 2.5.5.
Steps
The protocol client sends a SIP INVITE request to the protocol server to start a group chat session with protocol server.
Group Chat Server accepts the incoming message with a SIP 200 response.
The protocol client sends a SIP acknowledgment (ACK) message; the SIP dialog is now established.
The protocol client requests the protocol server information by sending a "cmd:getserverinfo" command over a SIP INFO message, as described in [MS-XCCOSIP].
The protocol server acknowledges the message from previous step with a SIP 200 response.
The protocol server replies with a "rpl:getserverinfo" reply over a SIP INFO message, as described in [MS-XCCOSIP].
The protocol client acknowledges the message from the previous step with a SIP 200 response.
The protocol client requests joining a set of chat rooms by sending a "cmd:bjoin" command over a SIP INFO message, as described in [MS-XCCOSIP].
The protocol server acknowledges the message from previous step with a SIP 200 response.
The protocol server replies with a "rpl:bjoin" reply over a SIP INFO message, as described in [MS-XCCOSIP]. The chat session is now established.
The protocol client acknowledges the message from the previous step with a SIP 200 response.
The protocol server also sends the historic backchat to the protocol client by sending a "rpl:bccontext" reply over a SIP INFO message, as described in [MS-XCCOSIP].
The protocol client acknowledges the message from the previous step with a SIP 200 response.
The protocol client can post a chat to the room by sending a "grpchat" command over a SIP INFO message, as described in [MS-XCCOSIP].
The protocol server acknowledges the message from previous step with a SIP 200 response.
The protocol server replies with a "grpchat" reply over a SIP INFO message, as described in [MS-XCCOSIP].
The protocol client acknowledges the message from the previous step with a SIP 200 response.
Post-conditions
Protocol client has an established chat session that can be used for transferring messages, notification of activity (like chat participants joined/left), invitation status, and so on.