|
Switchboard - Example Session
|
Printable Version
|
Overview
This page illustrates what an entire switchboard session might look like. There are two examples: the first starts with an incoming RNG and the second starts with an outgoing XFR.
Conventions Used on This Page
Throughout this page, the protocol is displayed from the point of view of Alice's ([email protected]) client.
Example 1
Notification Server
Another principal ([email protected]) invites Alice to a switchboard session. This session happens to already have two principals: Bob and Carol.
<<< RNG 17342299 207.46.108.78:1863 CKI 1056411141.26158 [email protected] Bob\r\n
The connection to the NS remains open, but Alice's client also opens a new connection to the given switchboard server. From now on, nothing that happens on the NS will affect the SB, and vice versa.
Switchboard
Alice's client opens a TCP connection to 207.46.108.78 on port 1863 and sends authentication information.
>>> ANS 1 [email protected] 1056411141.26158 17342299\r\n
The authentication information was correct and the server acknowledges that by sending the list of participants and an ANS reply.
<<< IRO 1 1 2 [email protected] Bob\r\n
<<< IRO 1 2 2 [email protected] Carol\r\n
<<< ANS 1 OK\r\n
Bob types a message and then sends it. The message is written in the font Lucida Sans Unicode and is bold and blue.
<<< MSG [email protected] Bob 89\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgscontrol\r\n
TypingUser: [email protected]\r\n
\r\n
\r\n
<<< MSG [email protected] Bob 143\r\n
MIME-Version: 1.0\r\n
Content-Type: text/plain; charset=UTF-8\r\n
X-MMS-IM-Format: FN=Lucida%20Sans%20Unicode; EF=B; CO=ff0000; CS=0; PF=22\r\n
\r\n
Hello.
Alice types message and then sends it. The message is written in the font MS Sans Serif and is black with no effects.
<<< MSG 2 U 91\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgscontrol\r\n
TypingUser: [email protected]\r\n
\r\n
\r\n
>>> MSG 3 N 127\r\n
MIME-Version: 1.0\r\n
Content-Type: text/plain; charset=UTF-8\r\n
X-MMS-IM-Format: FN=MS%20Sans%20Serif; EF=; CO=0; CS=0; PF=0\r\n
\r\n
Hi.
Alice types another message and then sends it. However, Carol is having network problems and does not receive the message, so Alice's client receives NAK, even though Bob receives the message. Alice is informed that one or more participants may not have received her message.
>>> MSG 4 U 91\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgscontrol\r\n
TypingUser: [email protected]\r\n
>>> MSG 5 N 138\r\n
MIME-Version: 1.0\r\n
Content-Type: text/plain; charset=UTF-8\r\n
X-MMS-IM-Format: FN=MS%20Sans%20Serif; EF=; CO=0; CS=0; PF=0\r\n
\r\n
Are you there?
<<< NAK 5\r\n
Alice types another message and then sends it. She spends a long time typing the message, so our client sends two typing notification messages. This time, the message is sent with type A (for no particular reason). Everybody receives it fine and Alice's client receives ACK.
>>> MSG 6 U 91\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgscontrol\r\n
TypingUser: [email protected]\r\n
>>> MSG 7 U 91\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgscontrol\r\n
TypingUser: [email protected]\r\n
>>> MSG 8 A 139\r\n
MIME-Version: 1.0\r\n
Content-Type: text/plain; charset=UTF-8\r\n
X-MMS-IM-Format: FN=MS%20Sans%20Serif; EF=; CO=0; CS=0; PF=0\r\n
\r\n
I like turtles.
<<< ACK 7\r\n
Alice invites Dave ([email protected]) and he joins.
>>> CAL 8 [email protected]\r\n
<<< CAL 8 RINGING 17342299\r\n
<<< JOI [email protected] Dave\r\n
Alice tries to invite Ed ([email protected]) but he is offline.
>>> CAL 10 [email protected]\r\n
<<< 217 10\r\n
Alice tries to invite Frank ([email protected]) but his privacy settings and lists are setup in such a way that Alice is not authorised to invite him even though he is on-line.
>>> CAL 10 [email protected]\r\n
<<< 216 10\r\n
Bob invites George ([email protected]) and he joins.
<<< JOI [email protected] George\r\n
Carol leaves the conversation.
<<< BYE [email protected]\r\n
Nothing happens for 15 minutes and the conversation times out.
<<< BYE [email protected] 1\r\n
The switchboard server closes the connection and Alice's client informs the Alice that the conversation has timed out due to inactivity.
Example 2
Notification Server
The client ([email protected]) is logged into NS and has successfully authenticated but is "appearing offline". Alice tries to request a switchboard session while offline and receives error 913.
>>> XFR 7 SB\r\n
<<< 913 7\r\n
Alice's client sends a status of NLN and requests a switchboard again.
>>> CHG 8 NLN 0\r\n
<<< CHG 8 NLN 0\r\n
>>> XFR 9 SB\r\n
<<< XFR 9 SB 207.46.108.46:1863 CKI 189597.1056411784.29994\r\n
The connection to the NS remains open, but Alice's client also opens a new connection to the given switchboard server. From now on, nothing that happens on the NS will affect the SB, and vice versa.
Switchboard
Alice's client opens a TCP connection to 207.46.108.46 on port 1863 and sends authentication information. The information is correct and the server acknowledges that.
>>> USR 7 [email protected] 189597.1056411784.29994\r\n
<<< USR 7 OK [email protected] Alice\r\n
Alice invites Bob ([email protected]) to the session and he joins.
>>> CAL 8 [email protected]\r\n
<<< CAL 8 RINGING 189597\r\n
<<< JOI [email protected] Bob\r\n
Bob wants to send Alice a file.
<<< MSG [email protected] Bob 277\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgsinvite; charset=UTF-8\r\n
\r\n
Application-Name: File Transfer\r\n
Application-GUID: {5D3E02AB-6190-11d3-BBBB-00C04F795683}\r\n
Invitation-Command: INVITE\r\n
Invitation-Cookie: 135395\r\n
Application-File: turtle.txt\r\n
Application-FileSize: 2341\r\n
\r\n
Alice accepts the file.
>>> MSG 9 N 182\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgsinvite; charset=UTF-8\r\n
\r\n
Invitation-Command: ACCEPT\r\n
Invitation-Cookie: 135395\r\n
Launch-Application: FALSE\r\n
Request-Data: IP-Address:\r\n
\r\n
<<< MSG [email protected] Bob 244\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgsinvite; charset=UTF-8\r\n
\r\n
Invitation-Command: ACCEPT\r\n
Invitation-Cookie: 135395\r\n
IP-Address: 203.121.147.134\r\n
Port: 6891\r\n
AuthCookie: 1639797\r\n
Launch-Application: FALSE\r\n
Request-Data: IP-Address:\r\n
\r\n
Alice's client opens a new connection to Bob's IP on port 6891 and takes care of file transfer outside of the switchboard.
However, if Alice's client does not connect within a reasonable period of time (30 seconds in the official client), Bob's client will stop waiting for our connection and send the following message, signifying a timeout.
<<< MSG [email protected] Bob 152\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgsinvite; charset=UTF-8\r\n
\r\n
Invitation-Command: CANCEL\r\n
Invitation-Cookie: 135395\r\n
Cancel-Code: FTTIMEOUT\r\n
\r\n
Alice invites Bob to a session of NetMeeting. However, he rejects her invitation and nothing further happens.
>>> MSG 10 A 292\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgsinvite; charset=UTF-8\r\n
\r\n
Application-Name: NetMeeting\r\n
Application-GUID: {44BBA842-CC51-11CF-AAFA-00AA00B6015C}\r\n
Session-Protocol: SM1\r\n
Invitation-Command: INVITE\r\n
Invitation-Cookie: 6185072\r\n
Session-ID: {60F887C8-A5D0-11D7-A88E-0040F43DB1D9}\r\n
\r\n
<<< ACK 10\r\n
<<< MSG [email protected] Bob 225\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgsinvite; charset=UTF-8\r\n
\r\n
Invitation-Command: CANCEL\r\n
Cancel-Code: REJECT\r\n
Invitation-Cookie: 6185072\r\n
Session-ID: {CE1ABB0F-D40D-432F-A359-5AEC532CDBC3}\r\n
Session-Protocol: SM1\r\n
\r\n
Bob invites Alice to use Whiteboard, but Alice doesn't have Whiteboard installed, so her client automatically rejects his invitation with the code REJECT_NOT_INSTALLED.
<<< MSG [email protected] Bob 335\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgsinvite; charset=UTF-8\r\n
\r\n
Application-Name: Whiteboard\r\n
Application-GUID: {1DF57D09-637A-4ca5-91B9-2C3EDAAF62FE}\r\n
Session-Protocol: SM1\r\n
Application-URL: http://www.microsoft.com\r\n
Invitation-Command: INVITE\r\n
Invitation-Cookie: 3861056\r\n
Session-ID: {463CB365-0213-4933-AA8A-D01FAA996858}\r\n
\r\n
>>> MSG 11 A 216\r\n
MIME-Version: 1.0\r\n
Content-Type: text/x-msmsgsinvite; charset=UTF-8\r\n
\r\n
Invitation-Command: CANCEL\r\n
Cancel-Code: REJECT_NOT_INSTALLED\r\n
Invitation-Cookie: 3861056\r\n
Session-ID: {60F887CB-A5D0-11D7-A88E-0040F43DB1D9}\r\n
\r\n
<<< ACK 11\r\n
Alice closes the conversation window, so therefore her client decides to send OUT.
>>> OUT\r\n
The switchboard server closes the connection.
|