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
...
... authentication as documented in [XMPP-CORE] before attempting to
establish a session or send any XML stanzas.
2. Resource Binding ...
...
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 ...
... <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
...
... 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 ...
...
Step 1: Client requests session with server:
<iq to='example.com'
...
... 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'/>
...
... 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'/>
...
... 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'/>
...
... </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 ...
... 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 ...
...
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
...
... 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 ...
... 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 ...
