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="[EMAIL PROTECTED]/reluser1" id="Gh7px-26"
to="[EMAIL PROTECTED]/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="[EMAIL PROTECTED]/BuddySpace2.5Plus JFCOM/J9"
type="to"/><address delivered="true"
jid="[EMAIL PROTECTED]/TransVerse"
type="to"/></addresses></message>

 

[Error detected and handled]

 

Returned "error message":

 

<message xmlns="jabber:client"
from="[EMAIL PROTECTED]/TransVerse" id="Gh7px-26"
to="[EMAIL PROTECTED]/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="[EMAIL PROTECTED]/BuddySpace2.5Plus
JFCOM/J9" type="to"/><address delivered="true"
jid="[EMAIL PROTECTED]/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 ([EMAIL PROTECTED])
from the local chat room ([EMAIL PROTECTED]):

 

<presence xmlns="jabber:client"
from="[EMAIL PROTECTED]/secuser1" id="heAq5-27"
to="[EMAIL PROTECTED]/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="[EMAIL PROTECTED]/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="[EMAIL PROTECTED]/BuddySpace2.5Plus JFCOM/J9"
type="to"/><address delivered="true"
jid="[EMAIL PROTECTED]/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.

[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 

(919)388-1264

 

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

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

 

Reply via email to