Project

General

Profile

XEP 0198 - Stream Management

Mauro Carrio
Added about 5 years ago

Hi team, I'm trying to implement XEP-0198 on the smack xmpp library. But the server answers with a "feature not supported yet" error when the client tries to enable it just after authentication. Below is the client log on connection:

11-29 14:20:46.496: 02:20:46 PM SENT: 
<stream:stream to="mydomain" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
11-29 14:20:47.546: 02:20:47 PM RCV : 
<?xml version='1.0'?><stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' from='mydomain' id='10f07a8a-01e0-4f6f-9cdd-4a030b3a8b88' version='1.0' xml:lang='en'>
11-29 14:20:48.181: 02:20:48 PM RCV : 
<stream:features><ver xmlns="urn:xmpp:features:rosterver"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><register xmlns="http://jabber.org/features/iq-register"/><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/></stream:features>
11-29 14:20:48.191: 02:20:48 PM SENT: 
<iq id="Wm932-18" type="get"><query xmlns="jabber:iq:auth"><username>5553626862</username></query></iq>
11-29 14:20:48.506: 02:20:48 PM RCV : 
<iq id="Wm932-18" xmlns="jabber:client" type="result"><query xmlns="jabber:iq:auth"><username/><password/><resource/></query></iq>
11-29 14:20:48.511: 02:20:48 PM SENT: 
<iq id="Wm932-19" type="set"><query xmlns="jabber:iq:auth"><username>5553626862</username><password>1111</password><resource>android</resource></query></iq>
11-29 14:20:49.236: 02:20:49 PM RCV : 
<iq id="Wm932-19" xmlns="jabber:client" type="result">Authentication successful.</iq>
11-29 14:20:49.241: User Logger.ed: 5553626862@mydomain@mydomain:5222/android
11-29 14:20:49.246: 02:20:49 PM SENT: 
<presence id="Wm932-20"></presence>
11-29 14:20:49.251: 02:20:49 PM Connection was Logger.ed in successfully
11-29 14:20:49.251: 02:20:49 PM SENT: 
<enable xmlns="urn:xmpp:sm:3" resume="true"/>
11-29 14:20:49.256: 02:20:49 PM SENT: 
<iq id="Wm932-21" type="get"><query xmlns="jabber:iq:roster" ></query></iq>
11-29 14:20:50.316: 02:20:50 PM RCV : 
<enable to="5553626862@mydomain/android" xmlns="urn:xmpp:sm:3" type="error"><error code="501" type="cancel"><feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" xml:lang="en">Feature not supported yet.</text></error></enable>

I've read the XEP specs and I know this feature is enabled on server by default, but I could not enable it from the client. I'm using tigase-server-5.2.0-RC1.

Any thoughts?

Thanks in advance.

Mauro


Replies (2)

Added by Andrzej Wójcik IoT 1 CloudTigaseTeam about 5 years ago

Hi,

From what I see in a code, Stream Management is disabled by default. You need to enable it in configuration before trying to use it from a client. Also client should check stream features sent by server after stream initiation to check if Stream Management is available on a server before trying to use it.

To enable Stream Management you need to add following line to etc/init.properties file to enable Stream Management processor in c2s component:

c2s/processors[s]=urn:xmpp:sm:3

Added by Mauro Carrio about 5 years ago

Ok, now it works.

Thanks a lot!

    (1-2/2)