I'm using the jabber-net library, trying to connect to a prosody
server. I've verified that the account and server work using the
Empathy client and things seems to be ok.
However, the jabber-net library fails to complete authentication at
the resource bind step. It seems that the server doesn't like the
request or something else is making it respond with an <error
type="cancel"> stanza. Here's a debug out of the conversation:
The server I'm connecting to is located at: lurr.redfusionstudios.com
(a server on my internal network). I've verified that the jabber-net
client can connect successfully and authenticate with Google Talk.
RCVD: <?xml version='1.0'?><stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams' id='e0d8b72b-
ba1a-48c3-84fa-25ebde94d6ca' from='lurr.redfusionstudios.com'
version='1.0' xml:lang='en'><stream:features><auth xmlns='http://
jabber.org/features/iq-auth'/><starttls
xmlns='urn:ietf:params:xml:ns:xmpp-tls'/><mechanisms
xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>SCRAM-SHA-1</
mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></
stream:features>
SEND: <stream:stream xmlns:stream="http://etherx.jabber.org/streams"
id="b0d84b4b" xmlns="jabber:client" to="lurr.redfusionstudios.com"
version="1.0">
SEND: <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
RCVD: <proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
SEND: <stream:stream xmlns:stream="http://etherx.jabber.org/streams"
id="c6ca639b" xmlns="jabber:client" to="lurr.redfusionstudios.com"
version="1.0">
RCVD: <?xml version='1.0'?><stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams' id='cbae5bef-0c24-47e1-
a828-7a1117815053' from='lurr.redfusionstudios.com' version='1.0'
xml:lang='en'><stream:features><auth xmlns='http://jabber.org/features/
iq-auth'/><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-
sasl'><mechanism>PLAIN</mechanism><mechanism>SCRAM-SHA-1</
mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></
stream:features>
SEND: <auth mechanism="DIGEST-MD5" xmlns="urn:ietf:params:xml:ns:xmpp-
sasl" />
RCVD: <challenge xmlns='urn:ietf:params:xml:ns:xmpp-
sasl'>cmVhbG09Imx1cnIucmVkZnVzaW9uc3R1ZGlvcy5jb20iLG5vbmNlPSI5ZjVhMWY1Mi0xMDQ3LTRlZjQtOWNjOC03YWNhODZlY2ZhODUiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</
challenge>
SEND: <response xmlns="urn:ietf:params:xml:ns:xmpp-
sasl">dXNlcm5hbWU9InR1c2VyMSIscmVhbG09Imx1cnIucmVkZnVzaW9uc3R1ZGlvcy5jb20iLG5vbmNlPSI5ZjVhMWY1Mi0xMDQ3LTRlZjQtOWNjOC03YWNhODZlY2ZhODUiLGNub25jZT0iMzIzNzMwM2E3NDc1NzM2NTcyMzEzYTc0NjU3Mzc0IixuYz0wMDAwMDAwMSxxb3A9YXV0aCxkaWdlc3QtdXJpPSJ4bXBwL2x1cnIucmVkZnVzaW9uc3R1ZGlvcy5jb20iLHJlc3BvbnNlPTBmZjQxZWUyYTgyNDdjMzNmZmM4YjBkMTYyMTZhMmY4LGNoYXJzZXQ9dXRmLTg=</
response>
RCVD: <challenge xmlns='urn:ietf:params:xml:ns:xmpp-
sasl'>cnNwYXV0aD1jNmUzOTE3MTQ2ODI3ZmQ3YjdhNTQwZTAwNGNkNDIzYw==</
challenge>
SEND: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />
RCVD: <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'></success>
SEND: <stream:stream xmlns:stream="http://etherx.jabber.org/streams"
id="383cabdd" xmlns="jabber:client" to="lurr.redfusionstudios.com"
version="1.0">
RCVD: <?xml version='1.0'?>
<stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'
id='9fbcd2c3-31cc-42c9-96ac-9120f13bb8e4'
from='lurr.redfusionstudios.com'
version='1.0'
xml:lang='en'>
<stream:features>
<ver xmlns='urn:xmpp:features:rosterver'><optional/></ver>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><required/></
bind>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'><optional/
></session>
<c hash='sha-1' ver='k07nuHawZqmndRtf3ZfBm54FwL0=' node='http://
prosody.im' xmlns='http://jabber.org/protocol/caps'/>
</stream:features>
SEND: <iq id="JN_1"
type="set"
to="lurr.redfusionstudios.com">
<bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">
<resource>JabberClient</resource>
</bind>
</iq>
RCVD: <iq id='JN_1'
type='error'
from='lurr.redfusionstudios.com'>
<error type='cancel'><service-unavailable
xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
</error>
</iq>
Error: jabber.connection.sasl.AuthenticationFailedException: Error
binding resource: <error type="cancel"><service-unavailable
xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /></error>