Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have an XMPP (Jabber) application which talks to jabber servers.

It works great with accounts on gmail.com, but does not work at all with accounts on Google Apps hosted web sites.

Google says this is because special SRV records need to be created for Google Apps domains which point the XMPP service directly at the Google XMPP servers, ref:

http://www.google.com/support/a/bin/answer.py?hl=en&answer=34143

However, I can't ask each user to add these 10 SRV records to their domain.

Is there a way that I can configure my server, either through DNS or firewall, or some other means, to use Google's XMPP server for all domains? This would have the effect of making REAL jabber servers not work, but it would allow ALL Google Apps domains to interoperate with my program.

share|improve this question
    
This is a very interesting question, and a solution would be interesting to obtain, but PLEASE don't overwrite XMPP records for existing domains! Only do so if there are no XMPP records otherwise! Also, you best bet would probably be to modify the library that your client uses to talk to different jabber servers, to automatically fallback to google if none are found. –  cnst Mar 7 '13 at 3:50

1 Answer 1

Did you try substituting the SRV records from the point of view of your server using /etc/hosts ? Either it works, or the protocol / google's implementation defends against that and you'll have no choice but to add the records to public DNS.

share|improve this answer
1  
/etc/hosts is purely a name-to-IP mapping as far as I know. See serverfault.com/questions/54357/… –  Jonathan Yankovich Dec 6 '10 at 3:29
    
@Jonathan You're right, I missed that. I believe dnsmasq has support for srv records. –  Tobu Dec 6 '10 at 8:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.