Scenario: I am trying to develop a web site which features a chat widget. I am using ASP.NET, C#, agsXMPP library as my tools in achieving this purpose. I use Openfire jabber server for XMPP server.
Problem: When I access the widget on the website and start chatting, I send a message with message type "chat" and thread set. I receive this message on the client in this case Spark. When I reply to this message, I see that the thread value is not the same as the one I sent? According to RFC 3921 section 2.1.2.3, The value of the element is generated by the sender and SHOULD be copied back in any replies. However, I don't see this happening.This means, I cannot link the response with the message I sent.
Can anyone help me with what I am missing? The following is the message sent and received.
Sent Message:
<message type="chat" to="[email protected]/spark" id="agsXMPP_6" from="[email protected]/CPWebchat"><thread>d6ddeebe-f23f-4854-a315-2a9de32906b8</thread><subject>Ramjee Ganti</subject><body>An Anonymous user via the web is attempting to contact you. Name: Ramjee Ganti Email: [email protected] Issue: Sample Test</body></message>
Received Message:
<message id="BTqN4-34" to="[email protected]/CPWebchat" from="[email protected]/spark" type="chat"><body>Hello</body> <thread>42MtKq</thread><x xmlns="jabber:x:event"><offline/> <composing/></x></message>
The RFC says the "thread" element SHOULD (see https://www.rfc-editor.org/rfc/rfc2119) be returned in replies. It may be that this client just didn't implement it.