Manpage logo

Protocol::XMPP::IQ::Roster - (unknown subject)

NAME  SYNOPSIS  VERSION  DESCRIPTION  AUTHOR  LICENSE 

NAME

SYNOPSIS

VERSION

Version 0.006

DESCRIPTION

Example from RFC3921:

<iq from='[email protected]/balcony'
id='bv1bs71f'
type='get'>
<query xmlns='jabber:iq:roster'/>
</iq>

Response from server:

<iq id='bv1bs71f'
to='[email protected]/chamber'
type='result'>
<query xmlns='jabber:iq:roster' ver='ver7'>
<item jid='[email protected]'/>
<item jid='[email protected]'/>
</query>
</iq>

IQ start − stash current IQ on stream Query start − set IQ query type to xmlns

Each item is parsed as a roster entry.

A roster request for a user that does not exist will return an error as follows:

<iq id='bv1bs71f'
to='[email protected]/chamber'
type='error'>
<error type='auth'>
<item−not−found
xmlns='urn:ietf:params:xml:ns:xmpp−stanzas'/>
</error>
</iq>

Updates:

An update request is as follows:

<iq from='[email protected]/balcony'
id='rs1'
type='set'>
<query xmlns='jabber:iq:roster'>
<item jid='[email protected]'/>
</query>
</iq>

Pass "subscription='remove'" as the item attribute to remove rather than adding the contact.

More detailed example:

C: <iq from='[email protected]/balcony'
id='ph1xaz53'
type='set'>
<query xmlns='jabber:iq:roster'>
<item jid='[email protected]'
name='Nurse'>
<group>Servants</group>
</item>
</query>
</iq>
Server push requests can be sent through as follows:
<iq id='a78b4q6ha463'
to='[email protected]/chamber'
type='set'>
<query xmlns='jabber:iq:roster'>
<item jid='[email protected]'/>
</query>
</iq>

with the client reponse being an empty result:

<iq from='[email protected]/balcony'
id='a78b4q6ha463'
type='result'/>

Until the client sends the initial roster request, it will not receive any server push information.

Subscribe by sending something like this:

UC: <presence id='xk3h1v69'
to='[email protected]'
type='subscribe'/>
Requesting a new contact will cause the server to send out an ask request:
US: <iq id='b89c5r7ib574'
to='[email protected]/foo'
type='set'>
<query xmlns='jabber:iq:roster'>
<item ask='subscribe'
jid='[email protected]'
subscription='none'/>
</query>
</iq>
=head1 METHODS

AUTHOR

Tom Molesworth <[email protected]>

LICENSE

Copyright Tom Molesworth 2010−2014. Licensed under the same terms as Perl itself.


Updated 2026-06-01 - jenkler.se | uex.se