If you’re a Google Apps for Your Domain user then, there are 99% chances that you can’t interoperate with non-Google Jabber users. Why ? In Jabber technology (or precisely XMPP protocol), user of one server can IM to user of another server. e.g. The process that takes when email@example.com wants to talk to firstname.lastname@example.org is illustrated below:
- Client of email@example.com sends message destined to firstname.lastname@example.org to gmail.com jabber server i.e. talk.google.com server.
- talk.google.com then starts search for the jabber server handling jabber.org domain. It first performs a DNS query for SRV record of _xmpp-server._tcp.jabber.org domain name. It recieves
30 30 5269 jabber.org.(as of now). Now from this reply, it deduces that jabber.org is the jabber server handling jaber.org domain.
- It then sends this message to jabber.org jabber server.
- From jabber.org jabber server, the message gets delivered to email@example.com.
Now if firstname.lastname@example.org wants to talk to email@example.com (a Google Apps for Your Domain user), then 99% of chances are that he can’t. Why ? Because there is no SRV record for XMPP service (i.e. SRV record corresponding to _xmpp-server._tcp.jnoiyunrn027n47jlsu.com) present in the domain nameserver of jnoiyunrn027n47jlsu.com domain. So if firstname.lastname@example.org wants to enable Jabber service (provided by Google Apps for Your Domain) fully, he needs to add a SRV record in domain nameserver of jnoiyunrn027n47jlsu.com.
This is neither mentioned in any of Google’s FAQ for Google Apps for Your Domain. I found this after failing to inviting one of my friend (who is a Google Apps for Your Domain user) to a Jabber conference hosted at jabber.org. Thanks to users at jabber channel jdev in jabber.org server for explaining me how Jabber server discovery for a domain takes place (which prevented me from looking into its RFCs ;)).