Google Talk and ejabberd

Google Talk officially announced on January, 2006 open federation with other Jabber servers. This allows users of any other Jabber server to chat with Google Talk users.

The only requirements for this is support for Dialback and DNS SRV. ejabberd includes support for the first requirement and Erlang/OTP includes support for the second. Erlang R10B-x has a bug that prevents the correct behaviour of DNS SRV.
If your Jabber server can't connect with Google Talk, please check this page: Fix DNS SRV bug.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Extra steps: Google Talk and ejabberd 2.0.1

Extra step #1
Server to server communication is NOT enabled when using the default ejabberd 2.0.1 configuration.
You need to turn it on to be able to have Google Talk (or any XMPP server) to connect to your server.

The following congif parameter should be set to appropriate value:
{s2s_use_starttls, true}.
{s2s_certfile, "/ejabberd-2.0.1/conf/server.pem"}.
{s2s_default_policy, allow}.

In that case, any server will be able to talk to your server. Read guide for other configuration parameters to limit access to your server.

Extra step #2 (if behind a firewall)
If your server is behind a firewall (like ours), then make sure that the s2s ejabberd port is open (5269 is default port).
Note: you may have to open other ports if you are not using ejabberd default port numbers.

Jocelyn

By default unencrypted S2S is enabled

jocelyncloutier wrote:

Server to server communication is NOT enabled when using the default ejabberd 2.0.1 configuration.
You need to turn it on to be able to have Google Talk (or any XMPP server) to connect to your server.

The following congif parameter should be set to appropriate value:
{s2s_use_starttls, true}.
{s2s_certfile, "/ejabberd-2.0.1/conf/server.pem"}.
{s2s_default_policy, allow}.

The default configuration in ejabberd 2.0.1 has S2S enabled. But STARTTLS encryption is disabled, because the certfile may or may not exist.

So, when ejabberd is just installed and the default config file is not modified, ejabberd behaves as if you configured this:

{s2s_use_starttls, false}.
{s2s_certfile, "/path/to/ssl.pem"}.
{s2s_default_policy, allow}.

This is enough to connect to many Jabber servers, but some Jabber servers require STARTTLS. If you have a certfile, it's obviously better to enable STARTTLS as explained by jocelyncloutier.

Another GTalk<>ejabberd issue

There is also another GTalk<>ejabberd problem besides the DNS SRV issue. Have a look at http://thread.gmane.org/gmane.network.jabber.devel/29105 for the description of the problem. It seems to be a problem in the GTalk implementation.

Don't forget what you need to do to your DNS

You also must add a SRV record to your DNS for your chat server's FQDN (Fully Qualified Domain Name)

Syndicate content