This page describes the interserver protocol currently used for bidirectionally subscribing to the presence of a user. It will be merged into the more generic Subscription protocol in the future. Client developers please use the _request_do_friend command instead of this. See also Presence.

Contents

1 Establishing a friendship

The equivalent group communication action is a bidirectional permanent membership. It looks similar to the process of entering a group but is something different. For example a group enter requires tagging, these subscriptions do not, as the subscription state is stored by the UNI.

psyc://host1/~user seeks to establish a friendship with psyc://host2/~anotheruser :

:_source	psyc://host1/~user
:_target	psyc://host2/~anotheruser

:_nick	user
_request_friendship
.
 und natürlich muss sich die UNI von ~user merken, dass sie dem die Freundschaft angeboten hat (subscription state -> 'offered')

If psyc://host2/~anotheruser decides to accept the request, he will send back a

:_source	psyc://host2/~anotheruser
:_target	psyc://host1/~user

:_nick	user
_notice_friendship_established
.
 das ganze hat nur dann auswirkungen, wenn der subscription state auch 'offered' oder höher ist.

2 Cancelling a friendship

:_source	psyc://host2/~anotheruser
:_target	psyc://host1/~user

:_nick	user
_notice_friendship_removed
.

In return, anotheruser sends

:_source	psyc://host2/~anotheruser
:_target	psyc://host1/~user

:_nick	anotheruser
_notice_friendship_removed_implied
.
 wieso issn das kein _echo_friendship_removed_implied

3 multicasted presence announcements

See presence.

4 shouting to your friends

See friendcast.