Hi all,
I have install ejabberd 2.0 on my computer, with a local domain and it works great into my LAN. However, I would like also to make my server reachable from internet, so as my company has a public domain (for example,
Next step, I add a new domain to my ejabberd.cfg, as:
{hosts, ["localdomain","mycompany.com"]}.
After that, I define new users for the new domain, but I can not connect succesfully. If I see XML debug console from Exodus, I get:
Looking up SRV: _xmpp-client._tcp.mycompany-id.com
Got A: XXX.XX.X.XX 5222 (X are mycompany ip, it shows it correctly)
But Exodus not arrive to connect... what I am missing??
Any contribution will be welcome.
Best Regards
If you want your Jabber
If you want your Jabber server to be 'mycompany.com', then you put in ejabberd.cfg
{hosts, ["mycompany.com"]}.
Then you must configure DNS properly. To try that, start ejabberd and try in some client computer to connect: telnet mycompany.com 5222
For example:
$ telnet jabber.org 5222
Trying 208.245.212.98...
Connected to jabber.org.
Escape character is '^]'.
eooooo
<?xml version='1.0'?><stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='none' from='jabber.org' version='1.0'><stream:error><xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error></stream:stream>Connection closed by foreign host.
You should see in the ejabberd log files that connection attempt. If you can't connect, and ejabberd log files don't indicate the connection attempt, the problem may be DNS or a firewall.
Once you can connect with telnet, you can proceed to test with a Jabber client.
Thanks for your response
Thanks for your response badlop. I have try to do telnets to my domain, at port 5222, and my ejabberd log file registers those attempts, so maybe it is all because of my ejabberd configuration, but I do not know why.
If I try to access to an existing account from a client, I obtain a socket error telling me server has refused the connection.
As I said, I have "{hosts, ["localdomain","mycompany.com"]}." at ejabberd.cfg, and
"ERLANG_NODE=ejabberd@localhost" at ejabberdctl.cfg files. Any comment will be welcome.
Thanks in advance
When you try to connect with
When you try to connect with a Jabber client, does the ejabberd log file show the connection attempt? Does it show any other message? Check ejabberd.log and sasl.log
Remember to setup in your Jabber client to connect to the server: mycompany.com
I try to resume what
I try to resume what happens:
I have a jabber server with two domains: "local"(it is equals than my machine name in LAN) and "mycompany.com"
If I try to connect to "local", putting on my jabber client server="local" and port =5222, it works as expected.
If I try to connect to "mycompany.com" putting server="mycompany.com" and port=5222, it does not work, and no log anywhere.
If I try to connect to "mycompany.com" putting server="local" and port=5222, it also works.
If I do a telnet to "mycompany.com 5222" it enters into jabber server of my machine, so it works, and it is registered in logs.
So, what it can be? does ERLANG_NODE in ejabberdctl.cfg affect in any way? (I have ejabberd@localhost in there, but if I change forejabberd@mycompany.com it does not work at all).
I am turning crazy with this problem... :-S
I am almost lost; problem in DNS or Jabber client?
does ERLANG_NODE in ejabberdctl.cfg affect in any way? (I have ejabberd@localhost in there, but if I change forejabberd@mycompany.com it does not work at all).
Does not affect to your problem. ERLANG_NODE is used for the database, ejabberdctl command line tool and clustering.
If I try to connect to "mycompany.com" putting server="mycompany.com" and port=5222, it does not work, and no log anywhere.
If I try to connect to "mycompany.com" putting server="local" and port=5222, it also works.
If I do a telnet to "mycompany.com 5222" it enters into jabber server of my machine, so it works, and it is registered in logs.
Oh, it's strange. As you said, the Jabber client doesn't even attempt to connect to ejabberd in the first case. Maybe it attempts to connect somewhere else? In the second it attempts (and succeeds). In the third case telnet attempts and succeeds.
It may be some DNS problem or in the Jabber client. You could try with other Jabber clients (Psi, Gajim, Tkabber). If that fails, try in other machine.