RFC 3921:Extensible Messaging and Presence Protoco...
RFC-Ref

session


Click on the red underlined text to get to the source

... interface that appropriately differentiates the message from standalone messages, chat sessions, or groupchat sessions (e.g., by not providing the recipient with the ability to reply). ...
... interface that appropriately differentiates the message from standalone messages, chat sessions, or groupchat sessions (e.g., by not providing the recipient with the ability to reply). ...
... specifying an identifier that is used for tracking a conversation thread (sometimes referred to as an "instant messaging session") between two entities. The value of the <thread/> element is ...


... Session Establishment ...
... client-server architecture that requires a client to establish a session on a server in order to engage in the expected instant messaging and presence activities. However, there are ...
... client can establish an instant messaging and presence session. These are: 1. Stream ...
... authentication as documented in [XMPP-CORE] before attempting to establish a session or send any XML stanzas. 2. Resource Binding ...
... XMPP-CORE]. If a server supports sessions, it MUST include a <session/> element ...
... If a server supports sessions, it MUST include a <session/> element qualified by the 'urn:ietf:params:xml:ns:xmpp-session ...
... session/> element qualified by the 'urn:ietf:params:xml:ns:xmpp-session' namespace in the stream ...
... XMPP-CORE]: Server advertises session establishment feature to client: ...
... <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> ...
... <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> </stream:features> ...
... stream:features> Upon being so informed that session establishment is required (and after completing resource binding), the client ...
... resource binding), the client MUST establish a session if it desires to engage in instant messaging and presence functionality; it completes this step by sending to the server an IQ ...
... functionality; it completes this step by sending to the server an IQ stanza of type "set" containing an empty <session/> child element qualified by the 'urn:ietf:params:xml:ns:xmpp-session ...
... session/> child element qualified by the 'urn:ietf:params:xml:ns:xmpp-session' namespace: ...
... Step 1: Client requests session with server: <iq to='example.com' ...
... type='set' id='sess_1'> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> ...
... <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> </iq> ...
... Step 2: Server informs client that session has been created: ...
... id='sess_1'/> Upon establishing a session, a connected resource (in the terminology of [XMPP-CORE]) is said to be an "active ...
... error conditions are possible. For example, the server may encounter an internal condition that prevents it from creating the session, the username or authorization identity may lack permissions ...
... authorization identity may lack permissions to create a session, or there may already be an active resource associated with a resource identifier ...
... If the server encounters an internal condition that prevents it from creating the session, it MUST return an error. Step 2 (alt): Server responds with error (internal server error): ...
... <iq from='example.com' type='error' id='sess_1'> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> ...
... <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> <error type='wait'> ...
... If the username or resource is not allowed to create a session, the server MUST return an error (e.g., forbidden). ...
... username or resource not allowed to create session): <iq from='example.com' type='error' id='sess_1'> ...
... <iq from='example.com' type='error' id='sess_1'> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> ...
... <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> <error type='auth'> ...
... MUST either (1) terminate the active resource and allow the newly-requested session, or (2) disallow the newly-requested session and maintain the active ...
... active resource and allow the newly-requested session, or (2) disallow the newly-requested session and maintain the active resource. Which of these the server does is ...
... active resource, and return a IQ stanza of type "result" (indicating success) to the newly-requested session. In case #2, the server SHOULD send a <conflict/> stanza error to the ...
... case #2, the server SHOULD send a <conflict/> stanza error to the newly-requested session but maintain the XML stream for that connection ...
... XML stream for that connection so that the newly-requested session has an opportunity to negotiate a non-conflicting resource identifier before sending ...
... negotiate a non-conflicting resource identifier before sending another request for session establishment. Step 2 (alt): Server informs existing active ...
... stream> Step 2 (alt): Server informs newly-requested session of resource conflict (case #2): ...
... <iq from='example.com' type='error' id='sess_1'> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> ...
... <session xmlns='urn:ietf:params:xml:ns:xmpp-session'/> <error type='cancel'> ...
... </iq> After establishing a session, a client SHOULD send initial presence and request its roster as described below, although these actions are ...
... Note: Before allowing the creation of instant messaging and presence sessions, a server MAY require prior account provisioning. Possible methods for account provisioning include account creation by a server ...


... domain/resource> (e.g., within the context of a chat session), the value of the 'to' address SHOULD be of the form <user@domain ...
... outside the context of any existing chat session or received message, the value of the 'to' address SHOULD be of the form <user@domain ...


... After establishing a session, a client SHOULD send initial presence to the server in order to signal its availability for communications. ...
... update its presence information for broadcasting at any time during its session by sending a presence stanza with no 'to' address ...
... notifications, and (3) from whom the server has not received a presence error during the user's session (as well as to any of the user's other available resources). If the presence stanza ...
... presence stanza to all entities that fit the above description, as well as to any entities to which the user has sent directed available presence during the user's session (if the user has not yet sent directed unavailable presence to that entity ...
... subject to privacy lists in force for each session). ...
... Before ending its session with a server, a client SHOULD gracefully become unavailable ...
... to whom the user has not blocked outbound presence, and (3) from whom the server has not received a presence error during the user's session; the user's server MUST also send that unavailable presence stanza ...
... any entities to which the user has sent directed presence during the user's session for that resource (if the user has not yet sent directed unavailable presence to that entity ...


... entity is said to have a subscription to the user's presence information. A subscription lasts across sessions; indeed, it lasts until the subscriber unsubscribes ...


... client's request for the roster is OPTIONAL). If an available resource does not request the roster during a session, the server MUST NOT send it presence subscriptions and associated roster updates. ...


... included, their values SHOULD be the full JID of the resource for that session. A client MUST acknowledge each roster push with an IQ stanza ...
... subject to privacy lists in force for each session): <iq type='set'> ...


... 1. If there is an active list set for a session, it affects only the session(s) for which it is activated, and only for the duration ...
... active list set for a session, it affects only the session(s) for which it is activated, and only for the duration of the session(s); the server MUST apply the active list ...
... session(s) for which it is activated, and only for the duration of the session(s); the server MUST apply the active list only and MUST NOT apply the default list ...
... if there is no active list set for the target session/resource to which a stanza is addressed, or if there are no current sessions ...
... session/resource to which a stanza is addressed, or if there are no current sessions for the user. ...
... 3. If there is no active list set for a session (or there are no current sessions for the user), and there is no default list ...
... active list set for a session (or there are no current sessions for the user), and there is no default list, then all stanzas ...
... active or default list occurs during a user's session, subsequent processing based on that list MUST take into account the changed state or group ...


... XML Namespace Name for Session Data ...
... A URN sub-namespace for session-related data in the Extensible Messaging and Presence Protocol (XMPP) is defined as follows. (This ...
... URI: urn:ietf:params:xml:ns:xmpp-session Specification: RFC 3921prop ...
... 3921prop Description: This is the XML namespace name for session-related data in the Extensible Messaging and Presence Protocol (XMPP ...


... B.3 session ...
... xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='urn:ietf:params:xml:ns:xmpp-session' xmlns='urn:ietf:params:xml:ns:xmpp-session ...
... session' xmlns='urn:ietf:params:xml:ns:xmpp-session' elementFormDefault='qualified'> ...
... <xs:element name='session' type='empty'/> <xs:simpleType name='empty'> ...


... C.1 Session Establishment ...
... IM client and therefore initiated an IM session upon successful authentication and resource binding, which are performed simultaneously (documentation of this ...
... functionality and IM functionality; therefore, an IM session is not created until the client ...
... created until the client specifically requests one using the protocol defined under Session Establishment (Section 3). ...


... Working Group has concentrated especially on IM session establishment and communication blocking (privacy lists); the session establishment ...
... session establishment and communication blocking (privacy lists); the session establishment protocol was mainly developed by Rob Norris and Joe Hildebrand, and the privacy lists ...



Google
Web
RFC-Ref