Server drops random messages from muc with error 503.

I am running the latest svn release as of June 18th and I am dropping messages with error 503 when multiple users are in a chat. It doesn't happen for every message sent but only about 1/3 make it through. My client app is Adium, though iChat has the same problem but ignores the 503 error message. This may not be directly applicable to muc as I've seen messages drop between user conversations in the same fashion.

I have the following setup:

Solaris 10 Zone, erlang 5.6.3 (12B-3), ejabberd (svn checkout around r1358)

DNS SRV Records are in place for _xmpp-client, xmpp-server, _jabber (._tcp.uahirise.org)
They all point to "jabs.uahirise.org." (the ejabberd server) which has an IPv4 and IPv6 record associated with it. Also, conference.uahirise.org is a CNAME to jabs.uahirise.org.

The relevant portions of the config look something of the sort:

(..snip..)
{hosts, ["uahirise.org", "conference.uahirise.org"]}.
{route_subdomains, s2s}.
{listen, [
  {5222, ejabberd_c2s, [
                        {certfile, "/etc/ejabberd/certs/ejabberd.pem"}, starttls,
                        {access, c2s},
                        {shaper, c2s_shaper},
                        {max_stanza_size, 65536},
                        inet6
                       ]},

(..snip..)
{auth_method, ldap}. (...and the rest of the config params for LDAP...)

(..snip..)
{host_config, "uahirise.org", [{
   {add, modules}, [
... several modules, not including mod_muc/mod_muc_log ...
   ]}]}.

(..snip..)
{host_config, "conference.uahirise.org", [{
   {add, modules},
   [
    {mod_muc,      [
                    {host, "conference.uahirise.org"},
                    {access, muc},
                    {access_create, muc},
                    {access_persistent, muc},
                    {access_admin, muc_admin}
                   ]
    },
    {mod_muc_log,  []}
   ]}]}.
(..snip..)

When I run the server in the foreground at loglevel 4 I get no errors. When I run at loglevel 5 I get too much to parse without knowing what to look for.

Thanks in advance for any tips on solving this.

503 means

503 means 'service-unavailable'... strange.

You can try increasing the limits imposed by those options in the C2S listener: {shaper, c2s_shaper}, {max_stanza_size, 65536},

There are another limits configurable in mod_muc, described in the ejabberd Guide. But since you don't have those options defined, the mod_muc limits are not applied.

I joined a 'test' room in your MUC with two of my accounts (from jabber.org). Both participants could send messages. I tried sending many messages fast, and also with big messages. No error reported, and all messages where shown to both room participants.

I was also getting the 503

I was also getting the 503 message dropping when I was trying ejabberd 2.0.3 (from ubuntu).

I'd also set up my ejabberd.cfg file to specify my host and a sub-domain conference.host in the hosts list, e.g. {hosts, ["host", "conference.host"]}.

The 503's went away when I removed the conference.host from the list of virtual hosts, and just left the servers main hostname. e.g. {hosts, ["host"]}. Additional the conference rooms started showing up in the service discovery browser.

I am also getting this 503

I am also getting this 503 service unavailable response sometime while sending messages to chat room ,all these messages are dropped by the time .
Currently i am using ejabberd 15.09 , Asmack library as my android client and Xmpp Framework as ios client .

below is the config i am having currently:

Virtual host : ejabberd.xyz.com
Muc service host : conference.ejabberd.xyz.com

mod_muc config is:
[{db_type, odbc}, {access, muc},
{access_create, muc_create},
{access_persistent, muc_create},
{access_admin, muc_admin},
{max_users, 300},
{max_users_admin_threshold, 10},
{max_user_conferences, 20},
{history_size, 1000},
{default_room_options,
[{persistent, true}, {mam, true}]}]

Error log:

2015-11-07 18:06:27.070 [debug] <0.4634.4>@ejabberd_c2s:send_text:1901 Send XML on stream = <<"2">>

packet {xmlel,<<"message">>,[{<<"type">>,<<"error">>},{<<"from">>,<<"testmuc@conference.xyz.com">>},{<<"id">>,<<"1af4f538-e6b9-42cc-bdea-0e7eba558461-4C1">>},{<<"xml:lang">>,<<"en">>}],[{xmlel,<<"body">>,[],[{xmlcdata,<<"6">>}]},{xmlel,<<"error">>,[{<<"code">>,<<"503">>},{<<"type">>,<<"cancel">>}],[{xmlel,<<"service-unavailable">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[]}]}]}
2015-11-07 18:06:28.410 [debug] <0.4634.4>@ejabberd_c2s:send_text:1901 Send XML on stream = <<"6">>

is it necessary to change muc service host and muc service host should be different from virtual host ?

Syndicate content