Subject: agsXMPP: how to connecto to openfire server
I have been trying for a couple of days to connect to an openfire server but so far the farthest I can get ends up with:
authentication error for agnt@jabber.myserver.com/agsXMPP : <failure xmlns="u
rn:ietf:params:xml:ns:xmpp-sasl"><not-authorized /></failure>
Note that "jabber.myserver.com" is a sanitized server name.
Very simple code and the whole XML dump is below.
I have tried many cominations of settings for xmpp.UseSSL, xmpp.UseStartTLS, xmpp.UseCompression, xmpp.SocketConnectionType, xmpp.AutoAgents, xmpp.AutoRoster, xmpp.AutoResolveConnectServer, all to no avail. Browsing through the forum here leads me to believe that others here have successfully connected to an openfire server, but for the life of me I cannot figure out how they did it.
Clients like Exodus connect to the server with no problem. I noticed from its debug facililty that it seems to use what I take to be the equivalent of agsXMPP UseStartTLS = true.
How does one connect to an openfire server using agsXMPP?
Elsewhere I have seen comments like "fix your server configuration" but I have no idea what that means in terms of what settings are "correct" of how to find documentation which provides that information.
Any help would be greatly appreciated.
Here is the relevant code snippet:
////////////////////////////////////////////////////////////////
string messageText = "test message using agsXMPP library";
string jabberServer = "jabber.myserver.com";
string jabberID = "agnt@jabber.myserver.com";
string jabberUser = "agnt";
string jabberPassword = "t";
XmppClientConnection xmpp = new XmppClientConnection(jabberServer);
xmpp.UseSSL = true; // tried both
xmpp.UseStartTLS = true; // tried both
xmpp.UseCompression = false; // tried both
xmpp.SocketConnectionType = agsXMPP.net.SocketConnectionType.Direct;
xmpp.AutoAgents = true; // tried both
xmpp.AutoRoster = true; // tried both
xmpp.AutoResolveConnectServer = false;
xmpp.OnAuthError += delegate(object o, Element e) { System.Console.WriteLine(string.Format("authentication error for {0} : {1}", xmpp.MyJID, e.ToString())); };
xmpp.OnLogin += delegate(object o) { xmpp.Send(new Message("wroom@customer.jabber", MessageType.chat, messageText)); };
xmpp.ClientSocket.OnValidateCertificate += CertificateValidationCallBack;
xmpp.ClientSocket.OnConnect += delegate(object o) { System.Console.WriteLine("clientSocket.OnConnect hit"); };
xmpp.ClientSocket.OnError += delegate(object o, Exception ex) { Console.WriteLine("ClientSocket.OnError hit, exception: " + ex.ToString()); };
xmpp.OnWriteXml += (_, xml) => System.Console.WriteLine(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>> " + System.Environment.NewLine + xml + System.Environment.NewLine + ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>> " + System.Environment.NewLine);
xmpp.OnReadXml += (_, xml) => System.Console.WriteLine("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< " + System.Environment.NewLine + xml + System.Environment.NewLine + "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< " + System.Environment.NewLine);
xmpp.Open(jabberUser, jabberPassword);
////////////////////////////////////////////////////////////////
Here is the XML I dumped:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<stream:stream to='jabber.myserver.com' xmlns='jabber:client' xmlns:stream='h
ttp://etherx.jabber.org/streams' version='1.0' xml:lang='en'>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
clientSocket.OnConnect hit
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<stream:stream xmlns:stream="http://etherx.jabber.org/streams" from="jabber" ver
sion="1.0" xml:lang="en" id="801a97e4" >
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<stream:features xmlns:stream="http://etherx.jabber.org/streams"><starttls xmlns
="urn:ietf:params:xml:ns:xmpp-tls" /><mechanisms xmlns="urn:ietf:params:xml:ns:x
mpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanis
m>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression
xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><
auth xmlns="http://jabber.org/features/iq-auth" /></stream:features>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<stream:stream to='jabber.myserver.com' xmlns='jabber:client' xmlns:stream='h
ttp://etherx.jabber.org/streams' version='1.0' xml:lang='en'>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<stream:stream xmlns:stream="http://etherx.jabber.org/streams" from="jabber" ver
sion="1.0" xml:lang="en" id="801a97e4" >
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<stream:features xmlns:stream="http://etherx.jabber.org/streams"><mechanisms xml
ns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanis
m>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanis
m></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>
zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth" /></
stream:features>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="DIGEST-MD5" />
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09ImphYmJlciIsbm9uY2U9
IlpOanhoUEV1UWpRQ1pyYlhid1hIUW1oWFdDcC84ODIrcVkvMDA5NVMiLHFvcD0iYXV0aCIsY2hhcnNl
dD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dXNlcm5hbWU9ImFnbnQiLHJlYWxtP
SJqYWJiZXIiLG5vbmNlPSJaTmp4aFBFdVFqUUNacmJYYndYSFFtaFhXQ3AvODgyK3FZLzAwOTVTIixjb
m9uY2U9ImU1MWQyNTVlZTY1NmIyOWUwYjU3NzNhZDk5ZTA5OWJmODk1OTI3NWFiNWVmNmRhNjYyYjNhZ
mM4ZDlkOTgyOGMiLG5jPTAwMDAwMDAxLHFvcD1hdXRoLGRpZ2VzdC11cmk9InhtcHAvamFiYmVyLnNtY
XJ0YWN0aW9uLmNvbSIsY2hhcnNldD11dGYtOCxyZXNwb25zZT01NjgyYzgzMmZmNjM1MTZmMTc1MjBjZ
GQ0MzczYTYwNg==</response>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized /></failure>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
authentication error for agnt@jabber.myserver.com/agsXMPP : <failure xmlns="u
rn:ietf:params:xml:ns:xmpp-sasl"><not-authorized /></failure>
press the enter key to exit
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
</stream:stream>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
authentication error for agnt@jabber.myserver.com/agsXMPP : <failure xmlns="u
rn:ietf:params:xml:ns:xmpp-sasl"><not-authorized /></failure>
Note that "jabber.myserver.com" is a sanitized server name.
Very simple code and the whole XML dump is below.
I have tried many cominations of settings for xmpp.UseSSL, xmpp.UseStartTLS, xmpp.UseCompression, xmpp.SocketConnectionType, xmpp.AutoAgents, xmpp.AutoRoster, xmpp.AutoResolveConnectServer, all to no avail. Browsing through the forum here leads me to believe that others here have successfully connected to an openfire server, but for the life of me I cannot figure out how they did it.
Clients like Exodus connect to the server with no problem. I noticed from its debug facililty that it seems to use what I take to be the equivalent of agsXMPP UseStartTLS = true.
How does one connect to an openfire server using agsXMPP?
Elsewhere I have seen comments like "fix your server configuration" but I have no idea what that means in terms of what settings are "correct" of how to find documentation which provides that information.
Any help would be greatly appreciated.
Here is the relevant code snippet:
////////////////////////////////////////////////////////////////
string messageText = "test message using agsXMPP library";
string jabberServer = "jabber.myserver.com";
string jabberID = "agnt@jabber.myserver.com";
string jabberUser = "agnt";
string jabberPassword = "t";
XmppClientConnection xmpp = new XmppClientConnection(jabberServer);
xmpp.UseSSL = true; // tried both
xmpp.UseStartTLS = true; // tried both
xmpp.UseCompression = false; // tried both
xmpp.SocketConnectionType = agsXMPP.net.SocketConnectionType.Direct;
xmpp.AutoAgents = true; // tried both
xmpp.AutoRoster = true; // tried both
xmpp.AutoResolveConnectServer = false;
xmpp.OnAuthError += delegate(object o, Element e) { System.Console.WriteLine(string.Format("authentication error for {0} : {1}", xmpp.MyJID, e.ToString())); };
xmpp.OnLogin += delegate(object o) { xmpp.Send(new Message("wroom@customer.jabber", MessageType.chat, messageText)); };
xmpp.ClientSocket.OnValidateCertificate += CertificateValidationCallBack;
xmpp.ClientSocket.OnConnect += delegate(object o) { System.Console.WriteLine("clientSocket.OnConnect hit"); };
xmpp.ClientSocket.OnError += delegate(object o, Exception ex) { Console.WriteLine("ClientSocket.OnError hit, exception: " + ex.ToString()); };
xmpp.OnWriteXml += (_, xml) => System.Console.WriteLine(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>> " + System.Environment.NewLine + xml + System.Environment.NewLine + ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>> " + System.Environment.NewLine);
xmpp.OnReadXml += (_, xml) => System.Console.WriteLine("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< " + System.Environment.NewLine + xml + System.Environment.NewLine + "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< " + System.Environment.NewLine);
xmpp.Open(jabberUser, jabberPassword);
////////////////////////////////////////////////////////////////
Here is the XML I dumped:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<stream:stream to='jabber.myserver.com' xmlns='jabber:client' xmlns:stream='h
ttp://etherx.jabber.org/streams' version='1.0' xml:lang='en'>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
clientSocket.OnConnect hit
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<stream:stream xmlns:stream="http://etherx.jabber.org/streams" from="jabber" ver
sion="1.0" xml:lang="en" id="801a97e4" >
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<stream:features xmlns:stream="http://etherx.jabber.org/streams"><starttls xmlns
="urn:ietf:params:xml:ns:xmpp-tls" /><mechanisms xmlns="urn:ietf:params:xml:ns:x
mpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanis
m>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression
xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><
auth xmlns="http://jabber.org/features/iq-auth" /></stream:features>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<stream:stream to='jabber.myserver.com' xmlns='jabber:client' xmlns:stream='h
ttp://etherx.jabber.org/streams' version='1.0' xml:lang='en'>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<stream:stream xmlns:stream="http://etherx.jabber.org/streams" from="jabber" ver
sion="1.0" xml:lang="en" id="801a97e4" >
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<stream:features xmlns:stream="http://etherx.jabber.org/streams"><mechanisms xml
ns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanis
m>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanis
m></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>
zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth" /></
stream:features>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="DIGEST-MD5" />
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09ImphYmJlciIsbm9uY2U9
IlpOanhoUEV1UWpRQ1pyYlhid1hIUW1oWFdDcC84ODIrcVkvMDA5NVMiLHFvcD0iYXV0aCIsY2hhcnNl
dD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dXNlcm5hbWU9ImFnbnQiLHJlYWxtP
SJqYWJiZXIiLG5vbmNlPSJaTmp4aFBFdVFqUUNacmJYYndYSFFtaFhXQ3AvODgyK3FZLzAwOTVTIixjb
m9uY2U9ImU1MWQyNTVlZTY1NmIyOWUwYjU3NzNhZDk5ZTA5OWJmODk1OTI3NWFiNWVmNmRhNjYyYjNhZ
mM4ZDlkOTgyOGMiLG5jPTAwMDAwMDAxLHFvcD1hdXRoLGRpZ2VzdC11cmk9InhtcHAvamFiYmVyLnNtY
XJ0YWN0aW9uLmNvbSIsY2hhcnNldD11dGYtOCxyZXNwb25zZT01NjgyYzgzMmZmNjM1MTZmMTc1MjBjZ
GQ0MzczYTYwNg==</response>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized /></failure>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
authentication error for agnt@jabber.myserver.com/agsXMPP : <failure xmlns="u
rn:ietf:params:xml:ns:xmpp-sasl"><not-authorized /></failure>
press the enter key to exit
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
</stream:stream>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<