How to change setup from "user@sub.example.tld" to "user@example.tld"?

Love openfire. Thx much to Jive. Thx much to community. Grt stuff. Really. Thx.

Due to some legacy DNS issues that can never be changed ever, we had to setup our internal jabber server as “sub.example.org” instead of simply “example.org” and now we have a large number of users setup in this way. Which is fine, it works fine, users are OK with it, outside systems are OK with it, etc, etc, etc. But, we now need to use conference rooms & prefer not to do “conference.sub.example.org”. Is there a way to do “conference.example.org”? We would like to now have to touch the clients at all. Can this be done with SRV records in DNS? Any one who has ever undertaken any changes similar to this … we would be most appreciative of any and all advice on how best to proceed, no matter how seemingly trivial the issues might be, we want to know all the pitfalls & options & tips we can possibly know before we take this on, since it will be so highly visible to so many people worldwide.

Thanks again to all.

Sjobeck

Hi,

I can;t say that this is perfect, as I have recently done it and have still lingering issues, but largely it works

Try at your own risk… here is what I did.

In DNS, make sure you have a SERVICE RECORD for Jabber pointing to your domain/server… in our case:

_jabber._tcp.nyp.org. 86400 IN SRV 5 0 5269 talk.nyp.org.
        _xmpp-server._tcp.nyp.org 86400 IN SRV 5 0 5269 talk.nyp.org.
        _xmpp-client._tcp.nyp.org. 86400 IN SRV 5 0 5222 talk.nyp.org.

Now, in the server config, change the server domain from sub.domain.com to domain.com. In our case: talk.nyp.org —> nyp.orgShutdown the server…

Backup your database. I use embedded DB so I simply edited the "openfire.script" file and replaced ALMOST every instance of @talk.nyp.org to @nyp.org and that seems to have set everyone to @nyp.org
Now, I said ALMOST because when I did a global search and replace, it completely killed the server. It would not start. So I systematically started to replace this in sections. Ultimately, the file is too big to edit manually so I simply just  changed the ROSTER entries

This should be enough, but, I am still having users who have DEAD rosters. Or actually, no presence status for their rosters.All their entries show as OFF LINE when indeed the buddy is ON-LINE. This does not happen to all.

I am still trying to figure out what is causing these issues. The database is incomprehensible to me, so right now
I am trying to learn what all the sections do etc. I still have a lot of places in the DB referencing the server hostname "@talk.nyp.org" instead
of "@nyp.org" but all communications seem to still work.

Good luck, and let us know how it goes.

Hi Sjobeck,

do you want change the xmpp.domain? Or is it “only” for conference rooms?

While one can modify all occurrences of $xmpp.domain within the database this will lead to trouble if rosters contain remote users. The remote users will get problems as “user@sub.example.tld” does no longer exist.

So a good thing which does as far as I know not exist would be a plugin which sends unsubscribe requests to all remote contacts using the old JID and sends subscription requests with the new JID.

LG