Hello,
I recently installed ejabberd 1.1.3 on my Windows 2003 box. I also have Python 2.5, Twisted (Python 2.5), pyaim-t, pyicq-t, and pymsn-t.
I can use my jabber clients normally but when I try to register with a transport I have problems, eventually it works though. In Pandion it gives an error code 501. I just hit cancel and keep clicking it until it allows me to give my username/password, it then gives the error code 501 a few more times when it registers with the server, so I have to keep doing it, usually after 10-15 times it goes through. After it registers I have no issues with the transports.
I tried Spark and it says "Unable to register with gateway". I keep doing it 10 times or so and it'll finally register me.
With Exodus it says "The agent you are trying to register with returned an error". It doesn't say which error, just an error. I again try a few times and it finally works.
I do all of those testings on and off the server, to make sure it isn't a timeout issue with my network. It doesn't sit and think about it either, it just gives the error messages instantly.
Does anyone have suggestions?
Thanks!
Here is my ejabberd.cfg file:
% $Id: $
%override_acls.
{acl, admin, {user, "admin"}}.
{acl, local, {user_regexp, ""}}.
{access, pubsub_createnode, [{allow, all}]}.
{access, configure, [{allow, admin}]}.
{access, register, [{allow, all}]}.
{welcome_message, none}.
{access, announce, [{allow, admin}]}.
{access, c2s, [{deny, blocked},
{allow, all}]}.
{shaper, normal, {maxrate, 1000}}.
{shaper, fast, {maxrate, 50000}}.
{access, c2s_shaper, [{none, admin},
{normal, all}]}.
{access, s2s_shaper, [{fast, all}]}.
{access, muc_admin, [{allow, admin}]}.
{access, muc, [{allow, all}]}.
{access, local, [{allow, local}]}.
{auth_method, internal}.
{hosts, ["jabber2.domain.com"]}.
{max_user_sessions, 10}.
{language, "en"}.
{listen,
[{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper}]},
{5269, ejabberd_s2s_in, [{shaper, s2s_shaper}]},
{5280, ejabberd_http, [http_poll, web_admin]},
{8888, ejabberd_service, [{access, all},
{hosts, ["aim.jabber2.domain.com", "icq.jabber2.domain.com", "msn.jabber2.domain.com"],
[{password, "secret"}]}]}
]}.
{outgoing_s2s_port, 5269}.
{modules,
[
{mod_register, [{access, register}]},
{mod_roster, []},
{mod_privacy, []},
{mod_adhoc, []},
{mod_configure, []}, % Depends on mod_adhoc
{mod_configure2, []},
{mod_disco, []},
{mod_stats, []},
{mod_vcard, []},
{mod_offline, []},
{mod_announce, [{access, announce}]}, % Depends on mod_adhoc
{mod_echo, [{host, "echo.jabber2.domain.com"}]},
{mod_private, []},
{mod_irc, []},
{mod_muc, [{access, muc}, {access_create, muc}, {access_admin, muc_admin}]},
{mod_pubsub, [{access_createnode, pubsub_createnode}]},
{mod_time, []},
{mod_last, []},
{mod_version, []}
]}.
% Local Variables:
% mode: erlang
% End:
Try Multiple Ports
I am _not_ an expert on this, so please forgive me if I a spreading voodoo rather than accurate answers.
Recently, I had similar (but not identical) problems. I ended up splitting up the transports on to separate ports, one each. So, in your example above, you are connecting all three transports to port 8888. Try doing one on 8888, one on 8889, and one on 8890 (just examples for the port numbers), and fire them up again. You will need to edit the "config.xml" file for _each_ transport separately, and match up the correct port with the one you selected in your ejabberd.cfg file.
Anyway, all of my problems went away when I did that. Like I said, could be that I changed something else and didn't realize it, and the above is just superstition...
I am running on a CentOS 5.0 box, so it's not Windows, but I suspect that this isn't your problem.
P.S. A quick test would be to simply drop two of the three transports and leave just one running on port 8888, and see it that one behaves correctly. Also, I would _delete_ the files in the "ha" directory in the "spool" directory of the transports, because they may be _corrupt_ from the interactions on the same port!