[ejabberd] Gtalk and Gaim using ejabberd MUC implementation

Daniel Starin ds708 at columbia.edu
Fri Jan 25 23:13:43 MSK 2008


>
> I said make sure your *MUC component* has a FQDN. Eg.
>
> jabber server:          unstable.nl
> its muc component:      muc.unstable.nl
>
> The fact that the MUC has a FQDN makes sure it's reachable by the gtalk
> servers.  If your MUC component has a local address like "muc", or points to
> a local IP like 192.168.1.100, it will only be reachable by your own jabber
> server.
>

I have used the default configuration and it's my understanding that
my MUC component is running at conference.<server name>.  I did look
in the ejabberdctl script and notice that host=localhost as opposed to
my servername... but when I changed this I still had a problem..

% Default options for mod_muc:
%   host: "conference." ++ ?MYNAME
%   access: all
%   access_create: all
%   access_admin: none (only room creator has owner privileges)
  {mod_muc,        [{access, muc}, {access_create, muc},
{access_admin, muc_admin}]},

Below is my complete ejabberd.cfg


% $Id: $

%override_acls.

% Users that have admin access.  Add line like one of the following after you
% will be successfully registered on server to get admin access:
{acl, admin, {user, "admin"}}.

% Blocked users:
%{acl, blocked, {user, "test"}}.

% Local users:
{acl, local, {user_regexp, ""}}.

% Another examples of ACLs:
%{acl, jabberorg, {server, "jabber.org"}}.
%{acl, aleksey, {user, "aleksey", "jabber.ru"}}.
%{acl, test, {user_regexp, "^test"}}.
%{acl, test, {user_glob, "test*"}}.

% Everybody can create pubsub nodes
{access, pubsub_createnode, [{allow, all}]}.

% Only admins can use configuration interface:
{access, configure, [{allow, admin}]}.

% Every username can be registered via in-band registration:
% You could replace {allow, all} with {deny, all} to prevent user from using
% in-band registration
{access, register, [{allow, all}]}.

% After successful registration user will get message with following subject
% and body:
%{welcome_message,
% {"Welcome!",
%  "Welcome to Instant Messaging server localhost. "
%  "For information about ejabberd visit http://www.process-one.net/"}}.
% Replace them with 'none' if you don't want to send such message:
{welcome_message, none}.

% List of people who will get notifications about registered users
%{registration_watchers, ["admin1 at server1.dstarin.com",
%                         "admin2 at server1.dstarin.com"]}.

% Only admins can send announcement messages:
{access, announce, [{allow, admin}]}.

% Only non-blocked users can use c2s connections:
{access, c2s, [{deny, blocked},
               {allow, all}]}.

% Set shaper with name "normal" to limit traffic speed to 1000B/s

% Set shaper with name "fast" to limit traffic speed to 50000B/s
{shaper, fast, {maxrate, 50000}}.

% For all users except admins used "normal" shaper
{access, c2s_shaper, [{none, admin},
                      {normal, all}]}.

% For all S2S connections used "fast" shaper
{access, s2s_shaper, [{fast, all}]}.

% Admins of this server are also admins of MUC service:
{access, muc_admin, [{allow, admin}]}.

% All users are allowed to use MUC service:
{access, muc, [{allow, all}]}.

% This rule allows access only for local users:
{access, local, [{allow, local}]}.


% Authentication method.  If you want to use internal user base, then use
% this line:
{auth_method, internal}.

% For LDAP authentication use these lines instead of above one:
%{auth_method, ldap}.
%{ldap_servers, ["server1.dstarin.com"]}.    % List of LDAP servers
%{ldap_uidattr, "uid"}.            % LDAP attribute that holds user ID
%{ldap_base, "dc=example,dc=com"}. % Search base of LDAP directory
%{ldap_rootdn, "dc=example,dc=com"}. % LDAP manager
%{ldap_password, "******"}. % Password to LDAP manager

% For authentication via external script use the following:
%{auth_method, external}.
%{extauth_program, "/path/to/authentication/script"}.

% For authentication via ODBC use the following:
%{auth_method, odbc}.
%{odbc_server, "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"}.

% Host name:
{hosts, ["server1.dstarin.com"]}.

%% Define the maximum number of time a single user is allowed to connect:
{max_user_sessions, 10}.

%% Anonymous login support:
%%  auth_method: anonymous
%%  anonymous_protocol: sasl_anon|login_anon|both
%%  allow_multiple_connections: true|false


% Default options for mod_muc:
%   host: "conference." ++ ?MYNAME
%   access: all
%   access_create: all
%   access_admin: none (only room creator has owner privileges)
  {mod_muc,        [{access, muc}, {access_create, muc},
{access_admin, muc_admin}]},
%  {mod_muc_log,    []},
%  {mod_shared_roster, []},
  {mod_pubsub,     [{access_createnode, pubsub_createnode}]},
  {mod_time,       []},
  {mod_last,       []},
%  {mod_xmlrpc,[{port, 4560},{timeout, 5000}]},
  {mod_version,    []}
 ]}.

% Local Variables:
% mode: erlang
% End:


More information about the ejabberd mailing list