Question

In ejabberd.cfg I have the following

{host_config, "thisislove-MacBook-2.local", [{auth_method, [internal, anonymous]},
                          {allow_multiple_connections, false},
                          {anonymous_protocol, both}]}.

but when using speeqe javascript client (speeqe.com) to connect, I see it sends

<body rid='1366284187' xmlns='http://jabber.org/protocol/httpbind' to='thisislove-macbook-2.local' xml:lang='en' wait='60' hold='1' window='5' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/>

and the server responds with

<body xmlns='http://jabber.org/protocol/httpbind' sid='f89bf034b02fa6b884bb0c55be3f1f69e45e3866' wait='60' requests='2' inactivity='30' maxpause='120' polling='2' ver='1.8' from='thisislove-macbook-2.local' secure='true' authid='353072658' xmlns:xmpp='urn:xmpp:xbosh' xmlns:stream='http://etherx.jabber.org/streams' xmpp:version='1.0'><stream:features xmlns:stream='http://etherx.jabber.org/streams'><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism></mechanisms><register xmlns='http://jabber.org/features/iq-register'/></stream:features></body>

Notice the mechanisms, DIGEST-MD5 & PLAIN. If I'm not mistaken it should have ANONYMOUS as a mechanism as well. So what happens is that speeqe simply terminates the connection.

As such I'm thinking i must be missing something in the anonymous configuration or the muc config. In the mod_muc configg, I have

{mod_muc,      [
      %%{host, "conference.@HOST@"},
      {access, muc},
      {access_create, muc},
      {access_persistent, muc},
      {access_admin, muc_admin},
      {max_room_name, 190},
      {max_room_desc, 190},
      {max_users, 500}
     ]}

So what am I missing?

Thanks

Was it helpful?

Solution

This might help someone in the future so here's what was happening. I had

{auth_method, internal}. 

instead of

{auth_method, [internal, anonymous]}.

I also had

{access, muc_create, [{allow, local}]}.

instead of

{access, muc_create, [{allow, all}]}.

And finally, the room name in local_settings.js of speeqe had to have the chat server as well: alpha@conference.domain.com (and not alpha@domain.com).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top