Can I know if I already logged on from another point.

I have follow problem - I have flash client that automatically reconnect to the jabber client if connection lost. If open two such clients, that clients will be kicked one by one. Can I know if I already connected at the server side or disable possibility to login if I already logged in? Thanks.

You can limit to 1 session, and ejabberd will close old

In Jabber, the user bob@example.org can login to his account multiple times if he uses different resources. For example bob@example.org/Home and at the same time bob@example.org/Work and bob@example.org/laptop.

In ejabberd 2.0.0 it is possible to limit how many different sessions, check 'Limiting Opened Sessions with ACL' in the ejabberd guide. If you only want 1 session allowed, you can put:

{access, max_s2s_connections, [{1, all}]}.

In Jabber, the user bob@example.org can only have one session with a specific resource. For example, he can only have one session bob@example.org/laptop . If he tries to login with another client in another machine to bob@example.org/laptop, then ejabberd will close the old session and allow the new session.

It is not configurable in ejabberd wether to close the old or the new session: ejabberd will always close the old session. Check the related feature request ticket: Option to disallow new session if resource conflict

Is there any way to know why

Is there any way to know why the old session is being closed? Such as "User Logged on Another Machine" or something? The Exception I get on connectionClosedOnError does not really tell me anything.
.....
Thanks,
D

Syndicate content