Search code examples
iosxmppejabberdmultiuserchat

Does Ejabberd/XMPP have a Limit on Auto-Join MUC?


I am currently in the process of developing an application that essentially offers multiple conferences/rooms to each user at once.

In other words, an individual user can be in as many rooms as they would like at any one time...

However, whilst this currently works for 10/11 (it varies) rooms, as soon as the user attempts to join more rooms, it fails.

Originally I thought this was as a result of the front-end iOS, but having now tested 10+ rooms with InstantBird (MacOS XMPP Client), I can confirm that the issue seems to be at the ejabberd end...

Thus far, I have been unable to extract any sort of error message returned. I have checked the logs and everything seems fine (I may be missing something as I am not really sure what to look for).

I have a couple of ideas as to what it might be but I don't really know where to start:

  • Does Ejabberd limit the number of rooms a user can join at any one time?
  • Does Ejabberd have a timeout that may be exceeded when trying to join multiple rooms (this would explain why it varies between 10 and 12 rooms max)?

Solution

  • Your answer is here: https://docs.ejabberd.im/admin/guide/configuration/#modmuc

    There is a config property

    max_user_conferences

    and as documentation tells us:

    This option defines the maximum number of rooms that any given user can join. The default value is 10. This option is used to prevent possible abuses. Note that this is a soft limit: some users can sometimes join more conferences in cluster configurations.