I wish I found this post from the beginning. It summarizes what I've been searching for and trying for a week, in a few lines. Only until today morning that I managed to get ejabberd work with some jabber servers (jabber.org), but not with google talk.
I'm trying to get ejabberd to communicate with google talk, such that users on my domain (example.com) can chat with users on google talk (gmail.com). My domain is not a google apps domain.
When sending an invite from google talk to one of the users on my domain, I receive a Mail Delivery Subsystem mail saying:
Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the server for the recipient domain example.com by example.com. [IP_ADDRESS of example.com].
The error that the other server returned was:
550 5.7.1 Unable to relay for email@example.com
Another thing I noticed is that when sending an invite from google talk, it first checks if any of the invited emails are using an open communications service. For jabber.org users, it detects that they are using an open communications service, but not for users of my domain.
Do you happen to know about how to make this work?
Already configured DNS SRV records, enabled starttls, created a self-signed certificate for example.com, and set default s2s policy to allow. No firewall, and can telnet to the server with 5222 and 5269. Also explicitly allowed s2s connections for gmail.com, google.com, googlemail.com, and talk.google.com (even though this is redundant with default s2s policy set to allow).
Any help is appreciated. Thanks.