 a C_GET_CONFLIST message to the MSIP server, requesting for the list of sessions he has been invited to. The MSIP sever will send an S_START_CONFLIST message back to the client, followed by S_CONT_CONFLIST (if required). After the MSIP client receives the full list, he chooses the session he wishes to join and sends a C_REQJOIN_CONF message to the MSIP server. The MSIP server will check © 2009 by Taylor & Francis Group, LLC SIP Handbook: Services, Technologies, and Security session availability and reply with an S.REQJOIN.CONF message. The reply message includes a flag that determines whether the client can join the session or not. The flag value can be: NO_INVITE-if the client is not invited to the session CONFLENDED-if session was terminated before the client requested to join JOIN_PAR-if the client is invited as a participant JOIN_OBS-if the client is invited as an observer The difference between participant and observer is that observer is only allowed to listen to the conversation and not allowed to take part in it. Technically, the observer is only allowed to receive audio, video, and data streams but not allowed to send audio, video, and data streams. When the flag equals JOIN_PAR or JOIN_OBS, the S.REQJOIN.CONF message also includes information about the session such as chairman name, chairman group, and control criteria. Here the client can join a session by sending a C_JOIN_CONF message. If an error occurs, the MSIP server will reply to the client with an SERRORB4JOIN message. Otherwise, it will send back a series of messages as follows: The first message will be S.START.PARLIST, followed by S_CONT. PARLIST (if required). These two messages contain all users invited to the session and their status (participant or observer). After that, the MSIP server will send an S ACTIVE LIST message to the client that contains the cur- rent active users. Lastly, the MSIP server sends an S.START_QLIST message followed by an S.CONT.QLIST message (if required). The last two messages contain information about the users 