Unavailable
Click on the red underlined text to get to the source
... MUST have one of the following values:
o unavailable -- Signals that the entity is no longer available for
communication.
...
... elements (note that the <status/> child MAY be
sent in a presence stanza of type "unavailable" or, for historical
reasons, "subscribe"):
...
... notifications (i.e., presence stanzas with
no 'type' or of type "unavailable" and with no 'to' address) are sent
from a client ...
... presence stanza with no 'to' address and either no 'type'
attribute or a 'type' attribute with a value of "unavailable". (Note:
A user's client SHOULD NOT send a presence update ...
... If the presence stanza has a 'type' attribute set to a value of
"unavailable", the user's server MUST broadcast the full XML of that
...
... presence during the user's session (if the user has not yet sent
directed unavailable presence to that entity).
...
... full XML of the last presence stanza of type "unavailable"
received by the server from the contact, or (2) not reply at all.
...
... entity and with either no 'type' attribute or a 'type' attribute
whose value is "unavailable"). There are three possible cases:
1. If the user sends directed presence ...
... directed presence to a contact that is in the
user's roster with a subscription type of "from" or "both" after
having sent initial presence and before sending unavailable
presence broadcast, the user's server MUST route or deliver the
...
... entity that is not in
the user's roster with a subscription type of "from" or "both"
after having sent initial presence and before sending unavailable
presence broadcast, the user's server MUST route or deliver the
...
... by the
user); however, if the available resource from which the user
sent the directed presence become unavailable, the user's server
MUST broadcast that unavailable presence ...
... unavailable, the user's server
MUST broadcast that unavailable presence to the entity (if the
user has not yet sent directed unavailable presence ...
... unavailable presence to the entity (if the
user has not yet sent directed unavailable presence to that
entity).
...
... 3. If the user sends directed presence without first sending initial
presence or after having sent unavailable presence broadcast
(i.e., the resource is active ...
... Unavailable Presence ...
... session with a server, a client SHOULD gracefully
become unavailable by sending a final presence stanza that possesses
no 'to' attribute and that possesses a 'type' attribute whose value
...
... presence stanza that possesses
no 'to' attribute and that possesses a 'type' attribute whose value
is "unavailable" (optionally, the final presence stanza MAY contain
one or more <status/> elements ...
... receiving final presence from an available resource, since the
resource may become unavailable unexpectedly or may be timed out by
the server. If one of the user's resources becomes unavailable for
...
... resource may become unavailable unexpectedly or may be timed out by
the server. If one of the user's resources becomes unavailable for
any reason (either gracefully or ungracefully), the user's server
MUST broadcast ...
... any reason (either gracefully or ungracefully), the user's server
MUST broadcast unavailable presence to all contacts (1) that are in
the user's roster with a subscription type of "from" or "both", (2)
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 to any of the user's other available resources, as well as to
...
... user's session for that resource (if the user has not yet sent
directed unavailable presence to that entity). Any presence stanza
...
... presence stanza
with no 'type' attribute and no 'to' attribute that is sent after
sending directed unavailable presence or broadcasted unavailable
presence MUST be broadcasted ...
... sending directed unavailable presence or broadcasted unavailable
presence MUST be broadcasted by the server to all subscribers ...
... broadcasts final presence:
<presence from='juliet@example.com/balcony' type='unavailable'/>
Example 11: Contact's server sends unavailable presence ...
... unavailable'/>
Example 11: Contact's server sends unavailable presence information
to user:
...
...
<presence
type='unavailable'
from='juliet@example.com/balcony'
to='romeo@example.net/orchard'/>
...
...
<presence from='romeo@example.net/orchard'
type='unavailable'
xml:lang='en'>
...
...
Example 13: User's server broadcasts unavailable presence information
to contact as well as to the person to whom the user sent directed
presence:
...
...
<presence
type='unavailable'
from='romeo@example.net/orchard'
to='juliet@example.com'
...
... The server MUST NOT send presence subscription requests or roster
pushes to unavailable resources, nor to available resources that have
not requested the roster.
...
... roster item for the user with the 'subscription' attribute set to
a value of "none" (if the contact is unavailable or has not
requested the roster, the contact's server MUST modify the roster
item and send that modified item the next time the contact
...
... presence stanza of type
"unsubscribed" to the user; and (2) SHOULD send unavailable
presence from all of the contact's available resources to the
user:
...
... from='contact@example.org/resource'
to='user@example.com'
type='unavailable'/>
6. When the user's server receives the presence stanzas ...
... presence stanzas of type
"unsubscribed" and "unavailable", it MUST deliver them to the
user:
...
... from='contact@example.org/resource'
to='user@example.com'
type='unavailable'/>
7. Upon receiving ...
... roster item for the user with the 'subscription' attribute set to
a value of "to" (if the contact is unavailable or has not
requested the roster, the contact's server MUST modify the roster
item and send that modified item the next time the contact
...
... presence stanza of type
"unsubscribed" to the user; and (2) SHOULD send unavailable
presence from all of the contact's available resources to the
user:
...
... from='contact@example.org/resource'
to='user@example.com'
type='unavailable'/>
6. When the user's server receives the presence stanzas ...
... presence stanzas of type
"unsubscribed" and "unavailable", it MUST deliver them to the
user:
...
... from='contact@example.org/resource'
to='user@example.com'
type='unavailable'/>
7. Upon receiving ...
... JID
(<contact@example.org>) of the contact; and (3) SHOULD send
unavailable presence from all of the contact's available
resources to the user:
...
... from='contact@example.org/resource'
to='user@example.com'
type='unavailable'/>
3. Upon receiving ...
... roster item for the
contact with the 'subscription' attribute set to a value of
"none" (if the user is unavailable or has not requested the
roster, the user's server MUST modify the roster item and send
...
... notification to
all of the user's available resources; and (3) MUST deliver the
unavailable presence to all of the user's available resources:
<iq type='set'>
...
... from='contact@example.org/resource'
to='user@example.com'
type='unavailable'/>
4. Upon receiving ...
... JID
(<contact@example.org>) of the contact; and (3) SHOULD send
unavailable presence from all of the contact's available
resources to all of the user's available resources:
...
... from='contact@example.org/resource'
to='user@example.com'
type='unavailable'/>
3. Upon receiving ...
... roster item for the
contact with the 'subscription' attribute set to a value of
"from" (if the user is unavailable or has not requested the
roster, the user's server MUST modify the roster item and send
...
... notification
to all of the user's available resources; and (3) MUST deliver
the unavailable presence to all of the user's available
resources:
...
... from='contact@example.org/resource'
to='user@example.com'
type='unavailable'/>
4. Upon receiving ...
... roster item removal; (3) MUST inform the resource
that initiated the removal of success; and (4) SHOULD send
unavailable presence from all of the user's available resources to
the contact:
...
... from='user@example.com/resource'
to='contact@example.org'
type='unavailable'/>
Upon receiving ...
... roster item for the user with the
'subscription' attribute set to a value of "to" (if the contact is
unavailable or has not requested the roster, the contact's server
MUST modify the roster item and send that modified item the next time
...
... roster item for the user with the
'subscription' attribute set to a value of "none" (if the contact is
unavailable or has not requested the roster, the contact's server
MUST modify the roster item ...
... Upon receiving the presence stanza of type "unavailable" addressed to
the contact, the contact's server MUST deliver the unavailable
presence to all of the user's available resources:
...
... presence stanza of type "unavailable" addressed to
the contact, the contact's server MUST deliver the unavailable
presence to all of the user's available resources:
<presence
...
... from='user@example.com/resource'
to='contact@example.org'
type='unavailable'/>
Note: When the user removes ...
... subscribed to a user's presence information. Thus this includes
presence stanzas with no 'type' attribute or of type='unavailable'
only.
...
... Thus this includes presence stanzas with no 'type' attribute or of
type='unavailable' only.
Example: User blocks based on JID ...
... information. Thus this includes presence stanzas with no 'type'
attribute or of type='unavailable' only.
Example: User blocks based on JID ...
... neither deliver it nor return an error) if it is a presence
stanza, (b) MUST return a <service-unavailable/> stanza error to
the sender ...
... stanza, and (c) SHOULD return a
<service-unavailable/> stanza error to the sender if it is a
...
... presence stanza, (b) MUST return
a <service-unavailable/> stanza error to the sender if it is an
...
... stanza on behalf of the user; if not, the server
MUST reply with a <service-unavailable/> stanza error.
...
... sender a
<service-unavailable/> stanza error. (Note: Offline message
storage and message forwarding are not defined in XMPP ...
... stanza on behalf of the user; if not, the server MUST reply
with a <service-unavailable/> stanza error.
...
... o When a server processes an outbound presence stanza with no type
or of type "unavailable", it MUST follow the rules defined under
Client and Server Presence Responsibilities (Section 5.1) in order
...
... stanza for a user who does not exist, the use of the
<service-unavailable/> error condition helps protect against
well-known ...
... subscribe'/>
<xs:enumeration value='subscribed'/>
<xs:enumeration value='unavailable'/>
<xs:enumeration value='unsubscribe'/>
...
... subscribe'/>
<xs:enumeration value='subscribed'/>
<xs:enumeration value='unavailable'/>
<xs:enumeration value='unsubscribe'/>
...
