[jdev] Why is my jabber server kicking out a remote user on an error?

Tom Kalafut tommyk at tridsys.com
Mon Feb 18 15:33:12 CST 2008


We have developed some middleware that handles some errors.  When it
does, it reverses the from and to elements and adds an error element to
form an "error message".  But the jabber server is kicking the remote
user out of the chat room where the original message came from.

 

Original message:

 

<message xmlns="jabber:client"
from="relroom at conference.cglow.reldomain.com/reluser1" id="Gh7px-26"
to="secuser1 at cghigh.secdomain.com/TransVerse" type="groupchat"
xml:lang="en"><body xml:lang="en">confidential message 9</body><x
xmlns="urn:us:gov:ic:ism:v2" classification="U"
declassManualReview="true" ownerProducer="USA"
x-label_bg_color="#006400" x-label_fg_color="#FFFFFF"
x-portionMarking="U" x-securityBanner="UNCLASSIFIED"
xml:lang="en"/><addresses
xmlns="http://jabber.org/protocol/address"><address delivered="true"
jid="reluser1 at cglow.reldomain.com/BuddySpace2.5Plus JFCOM/J9"
type="to"/><address delivered="true"
jid="secuser1 at cghigh.secdomain.com/TransVerse"
type="to"/></addresses></message>

 

[Error detected and handled]

 

Returned "error message":

 

<message xmlns="jabber:client"
from="secuser1 at cghigh.secdomain.com/TransVerse" id="Gh7px-26"
to="relroom at conference.cglow.reldomain.com/reluser1" type="error"
xml:lang="en"><body xml:lang="en">confidential message
9</body><addresses xmlns="http://jabber.org/protocol/address"><address
delivered="true" jid="reluser1 at cglow.reldomain.com/BuddySpace2.5Plus
JFCOM/J9" type="to"/><address delivered="true"
jid="secuser1 at cghigh.secdomain.com/TransVerse"
type="to"/></addresses><error type="cancel"
code="404"><remote-server-not-found
xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/><text
xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Message rejected by
DSG</text></error><x xmlns="urn:us:gov:ic:ism:v2" classification="U"
declassManualReview="true" ownerProducer="USA"
x-label_bg_color="#006400" x-label_fg_color="#FFFFFF"
x-portionMarking="U" x-securityBanner="UNCLASSIFIED"
xml:lang="en"/></message>

 

The next packet that gets sent is a presence-unavailable packet from the
jabber server, kicking out remote user (secuser1 at cghigh.secdomain.com)
from the local chat room (relroom at conference.cglow.reldomain.com):

 

<presence xmlns="jabber:client"
from="relroom at conference.cglow.reldomain.com/secuser1" id="heAq5-27"
to="reluser1 at cglow.reldomain.com/BuddySpace2.5Plus JFCOM/J9"
type="unavailable"
xml:lang="en"><status>Online</status><priority>0</priority><x
xmlns="http://jabber.org/protocol/muc#user"><item affiliation="none"
jid="secuser1 at cghigh.secdomain.com/TransVerse" role="none"/></x><x
xmlns="urn:us:gov:ic:ism:v2" classification="U" ownerProducer="USA"
x-label_bg_color="#006400" x-label_fg_color="#FFFFFF"
x-portionMarking="U" x-securityBanner="UNCLASSIFIED"
xml:lang="en"/><addresses
xmlns="http://jabber.org/protocol/address"><address delivered="true"
jid="reluser1 at cglow.reldomain.com/BuddySpace2.5Plus JFCOM/J9"
type="to"/><address delivered="true"
jid="secuser1 at cghigh.secdomain.com/TransVerse"
type="to"/></addresses></presence>

 

It doesn't seem to matter which error code I send back, my remote user
(secuser1) gets kicked out of my local chat room (relroom).  The "error
message" never makes it to my XMPP client (Transverse).

 

Any ideas?  What can I do so that the remote user (secuser) doesn't get
kicked out and my "error message" makes it to my XMPP client
(Transverse)?

 

Thanks,

Tom K.

 

 

Tom Kalafut

I3/CG Crew Member

Trident Systems Inc.

tommyk at tridsys.com <mailto:tommyk at tridsys.com> 

(919)388-1264

 

============

The opinions expressed in this e-mail may not necessarily reflect the
opinions of Trident Systems Inc.

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jdev/attachments/20080218/65e2e2ea/attachment-0002.htm>


More information about the JDev mailing list