17

I've been seeing this behavior for some time now, but it wasn't really a problem. After I successfully authenticate in xmpp with my own app, an error close my connection:

<message from="chat.facebook.com" 
         to="-USERID@chat.facebook.com/RESOURCE" type="normal">   
   <subject>Lo sentimos, tu cuenta no está disponible</subject>
   <body>Your account is temporarily unavailable. Regain 
      access by logging into your account from your 
      computer&apos;s web browser: http://www.facebook.com/
   </body>
</message>

<stream:error>
   <conflict xmlns="urn:ietf:params:xml:ns:xmpp-streams"/>
   <text xml:lang="" xmlns="urn:ietf:params:xml:ns:xmpp-streams">
      Session terminated
   </text>
</stream:error>

Note the message stanza that I received before the disconnection.

Why is this happening?, have I hit some kind of undocumented limit?, and more than that, is there a way to differentiate between this error and a disconnection from the Facebook's web page?.

I used to check the texts that are received in that message stanza, but now they change almost weekly, and the stream:error's text is the same for both cases, so it's painful to change the app every time a text changes.

lmanohara
  • 77
  • 8
  • 3
    My guess is that some API activity for this user-id has been judged to be an attempt to hack the account, so the XMPP API is effectively disabled until you login on a Facebook web page where you'll have to solve a CAPTCHA, answer additional security questions, etc until they're satisfied you're the legitimate account owner. – Richard Barnett Jan 28 '13 at 12:31
  • I was using xmpp4r_facebook gem, and I have the same error... I searched online, and it seems like many others have the same problem. As far as I know, Facebook has no official explanation or work-around. – yangtheman Apr 24 '13 at 07:46
  • Taken from the documentation of MUC: http://xmpp.org/extensions/xep-0045.html "Inform user that his or her desired room nickname is in use or registered by another user" – alez007 Apr 01 '14 at 17:35

1 Answers1

2

Go to Facebook, Top right corner menu, settings. Navigate to Security. Disable Login Approval. If things won't work after that, go to FB in Privacy mode, you will end up with an approval dialog you have to accept.

Tom
  • 2,771
  • 20
  • 28