Hello,
I installed ejabberd on my little server and it works well! But now, I want to install/configure a gateway for MSN so I chose pyMSN-t. Don't have problem to execute it... But I don't see the service in «service discovery». I don't see error messages too...
So I'll put the config files so if you see an error or something that's weird, would be nice to say it to me :).
% $Id: ejabberd.cfg.example 448 2005-12-06 19:32:50Z alexey $
%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, "aleksey"}}.
%{acl, admin, {user, "ermine"}}.
{acl, admin, {user, "maximead"}}.
% 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*"}}.
% 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 Jabber Service. "
% "For information about Jabber visit http://jabber.org"}}.
% 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@localhost",
% "admin2@localhost"]}.
% 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
{shaper, normal, {maxrate, 1000}}.
% 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}]}.
% Authentification method. If you want to use internal user base, then use
% this line:
{auth_method, internal}.
% For LDAP authentification use these lines instead of above one:
%{auth_method, ldap}.
%{ldap_servers, ["localhost"]}. % 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 authentification via external script use the following:
%{auth_method, external}.
%{extauth_program, "/path/to/authentification/script"}.
% For authentification via ODBC use the following:
%{auth_method, odbc}.
%{odbc_server, "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"}.
% Host name:
{hosts, ["maximead.net", "maximead.is-a-geek.com"]}.
% Default language for server messages
{language, "fr"}.
% Listened ports:
{listen,
[{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper},
starttls, {certfile, "/home/ejabberd/server.pem"}]},
{5223, ejabberd_c2s, [{access, c2s},
tls, {certfile, "/home/ejabberd/server.pem"}]},
% Use these two lines instead if TLS support is not compiled
%{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper}]},
%{5223, ejabberd_c2s, [{access, c2s}, ssl, {certfile, "./ssl.pem"}]},
{5269, ejabberd_s2s_in, [{shaper, s2s_shaper}]},
{5280, ejabberd_http, [http_poll, web_admin]},
{8888, ejabberd_service, [{access, alli},
{hosts, ["icq.localhost", "sms.localhost"],
[{password, "secret"}]}]},
{5347, ejabberd_service, [{host, "msn.maximead.net",
[{password, "secret"}]}]}
]}.
% Use STARTTLS+Dialback for S2S connections
{s2s_use_starttls, true}.
{s2s_certfile, "/home/ejabberd/server.pem"}.
%{domain_certfile, "example.org", "./example_org.pem"}.
%{domain_certfile, "example.com", "./example_com.pem"}.
% If SRV lookup fails, then port 5269 is used to communicate with remote server
{outgoing_s2s_port, 5269}.
% Used modules:
{modules,
[
{mod_register, [{access, register}]},
{mod_roster, []},
{mod_privacy, []},
{mod_configure, []},
{mod_configure2, []},
{mod_disco, []},
{mod_stats, []},
{mod_vcard, []},
{mod_offline, []},
{mod_announce, [{access, announce}]},
{mod_echo, [{host, "echo.localhost"}]},
{mod_private, []},
% {mod_irc, []},
% 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_pubsub, []},
{mod_time, []},
{mod_last, []},
{mod_version, []}
]}.
% Local Variables:
% mode: erlang
% End:
And the config.xml of pyMSNt is here (I didn't put it here because there was XML tag):
I don't see what is wrong in those files.
Thank you for helping me and sorry for this long post.
I'll add some
I'll add some informations... (It could maybe help).
This is a part of the sasl.log file from ejabberd:
2006/01/10 17:34 EST [-] Log opened.
2006/01/10 17:34 EST [-] twistd 1.3.0rc1 (/usr/bin/python2.3 2.3.5) starting up
2006/01/10 17:34 EST [-] reactor class: twisted.internet.default.SelectReactor
2006/01/10 17:34 EST [-] Loading PyMSNt.tac...
2006/01/10 17:34 EST [-] WARNING! Only PNG avatars will be understood by this transport. Please install the Python Imaging Library.
2006/01/10 17:34 EST [-] Trying to import XML DOM
2006/01/10 17:34 EST [-] /usr/lib/python2.3/site-packages/twisted/words/__init__.py:21: exceptions.UserWarning: twisted.words will be undergoing a rewrite at some point in the future.
2006/01/10 17:34 EST [-] Checking Twisted version...
2006/01/10 17:34 EST [-] Using Twisted < 2.0, Internal patched DOM & Jabber
2006/01/10 17:34 EST [-] INFO :: :: :: __init__ :: :: {'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: __init__ :: :: {'pytrans': , 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'http://jabber.org/protocol/disco', 'jid': 'msn.maximead.net', 'handler': None, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'http://jabber.org/protocol/disco', 'jid': 'USER', 'handler': None, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addIdentity :: :: {'category': 'gateway', 'jid': 'msn.maximead.net', 'name': 'MSN Transport', 'ctype': 'msn', 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addIdentity :: :: {'category': 'conference', 'jid': 'msn.maximead.net', 'name': 'MSN Transport Chatrooms', 'ctype': 'text', 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'jabber:x:conference', 'jid': 'msn.maximead.net', 'handler': None, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'jabber:iq:conference', 'jid': 'msn.maximead.net', 'handler': None, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'jabber:iq:register', 'jid': 'msn.maximead.net', 'handler': >, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: __init__ :: :: {'pytrans': , 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'jabber:iq:gateway', 'jid': 'msn.maximead.net', 'handler': >, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'jabber:iq:version', 'jid': 'msn.maximead.net', 'handler': >, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'jabber:iq:version', 'jid': 'USER', 'handler': >, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'http://jabber.org/protocol/commands', 'jid': 'msn.maximead.net', 'handler': >, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addNode :: :: {'node': 'http://jabber.org/protocol/commands', 'jid': 'msn.maximead.net', 'name': 'command_CommandList', 'self': , 'handler': >, 'rootnode': True}
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'vcard-temp', 'jid': 'USER', 'handler': >, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'vcard-temp', 'jid': 'msn.maximead.net', 'handler': >, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'jabber:iq:avatar', 'jid': 'USER', 'handler': >, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addFeature :: :: {'var': 'storage:client:avatar', 'jid': 'USER', 'handler': >, 'self': }
2006/01/10 17:34 EST [-] INFO :: :: :: addNode :: :: {'node': 'connectusers', 'jid': 'msn.maximead.net', 'name': 'command_ConnectUsers', 'self': , 'handler': >, 'rootnode': False}
2006/01/10 17:34 EST [-] INFO :: :: :: addNode :: :: {'node': 'stats', 'jid': 'msn.maximead.net', 'name': 'command_Statistics', 'self': , 'handler': >, 'rootnode': False}
2006/01/10 17:34 EST [-] Starting factory
2006/01/10 17:34 EST [-] Loaded.
It's another long post but it could maybe help.
Thank you for helping me again.
Maxime Amyot-Desmarais
http://maximead.is-a-geek.com:8080/maximead
mainServer: server IP address!
How can you explain that?
...
% Host name:
{hosts, ["maximead.net", "maximead.is-a-geek.com"]}.
% Listened ports:
{listen,
...
{5347, ejabberd_service, [{host, "msn.maximead.net", [{password, "secret"}]}]}
]}.
...
<!-- The JabberID of the transport -->
<jid>msn.maximead.net</jid>
<!-- The IP address of the main Jabber server to connect to -->
<mainServer>msn.maximead.net</mainServer>
<!-- The JID of the main Jabber server -->
<mainServerJID>maximead.net</mainServerJID>
<!-- The TCP port to connect to the Jabber server on (this is the default for Jabberd2) -->
<port>5347</port>
<!-- The authentication token to use when connecting to the Jabber server -->
<secret>secret</secret>
Why did you put 'msn.maximead.net' when asked for 'The IP address of the main Jabber server to connect to'? I guess it should be 127.0.0.1.
You're right. Yesterday I
You're right. Yesterday I tried a lot of variation of the config and it's not working neither.
I changed msn.maximead.net to 127.0.0.1 and it doesn't work too. But I've found a beautiful config.py file (Who is not supposed to be used anymore but if I delete what's in the file, the script gives some errors.)
# This file contains the default settings for various options.
# Please edit config.xml instead of this file
configFile = "config.xml"
jid = "msn.maximead.net"
compjid = ""
spooldir = "/usr/local/PyMSNt"
mainServer = "127.0.0.1"
mainServerJID = "maximead.net"
website = ""
port = "5347"
secret = "secret"
name = "MSN transport"
lang = "fr"
mailNotifications = False
sessionGreeting = ""
registerMessage = ""
allowRegister = True
getAllAvatars = False
useXCP = False
admins = ["maximead@maximead.net"]
And, am I obligated to restart ejabberd at each time I change the config of PyMSN-t and I restart it?
Thank you
http://maximead.is-a-geek.com:8080/maximead
Maxime Amyot-Desmarais
Re: You're right. Yesterday I
You're right. Yesterday I tried a lot of variation of the config and it's not working neither.
Are you trying to use it under Windows maybe? (just guessing)
And, am I obligated to restart ejabberd at each time I change the config of PyMSN-t and I restart it?
No, when PyMSN-t is offline, it will disappear from ejabberd's Service Discovery items list. And when it goes online again, it will automagically appear again.
Ok thank you for the tip and
Ok thank you for the tip and no, I didn't try on Windows.. I just remove it, reinstall it, change the config file etc....
I will do it again but I'll try other transports too.
Maxime Amyot-Desmarais