XMPP clients connect but messages never get through [SOLVED]

I am having some problems getting ejabberd 14.07 working on my CentOS 7 box. I got everything installed and it appears to be running properly from the server side, but now I am having problems getting messages through the system. I suspect it's a networking issue, but I don't know how to diagnose it. Any help would be greatly appreciated.

The basics:
CentOS 7 sitting at home behind a firewall/NAT router.
CentOS box has the following ports open in firewalld: 5222, 5269, 5280, 4369, 4560
My firewall/router is configured to route ports 4560, 5222, 5269 and 5280 to the CentOS box
I have SRV records configured for the domain:
_xmpp-client._tcp.mydomain.net 86400 IN SRV 0 5 5222 www.mydomain.net
_xmpp-server._tcp.mydomain.net 86400 IN SRV 0 5 5269 www.mydomain.net
www.mydomain.net has a DNS record that returns my external IP address
The CentOS box has an /etc/hosts entry that maps www.mydomain.net to its own address on the internal network (192.168.2.61)

When I tail /var/log/ejabberd/ejabberd.log, I can see the two clients connecting. When one of them tries to send a message to the other, I see the following:

2015-04-14 13:53:15.799 [debug] <0.446.0>@ejabberd_c2s:send_text:1820 Send XML on stream = <<"\nsadsadasd\n\ndread\n">>
2015-04-14 13:53:17.779 [info] <0.451.0>@ejabberd_s2s_out:handle_info:990 Reconnect delay expired: Will now retry to connect to www.mydomain.net when needed.

What am I doing wrong here? I have been beating my head against the wall since last night. I thought the SRV records would fix the problem, but so far no joy.

Thanks,
Dave

OK, got it working. I guess I

OK, got it working. I guess I did not understand that machine names are not the right thing to enter for the host. When I trimmed it to just the domain, cleaned out the mnesia folder and restarted ejabberd, it all started working perfectly. I'm still not sure why the configuration required the domain name instead of a machine name, but that's what fixed it.

Cheers,
D

Syndicate content