Add and manage domain on XMPP service on your own from the XMPP client.

For everybody interested in using our service to host own XMPP domain I have good news. You do not have to ask administrator to add your domain or add users for your domain anymore. You can do it on your own.

Please note, this is very new stuff. Something may go wrong or may not be polished. Please report any problems, notices or suggestions.

This is the guide to walk you through new functions and describes how to add a new domain and new users within your domain.

Firstly, maybe not so good news. There is no web interface yet. You have to do all the stuff from your XMPP client. I recommend Psi because of its excellent support for parts of the XMPP protocol which are used for domains and users management. You may use any other client as well, there is no limitation but I can only offer support and help if you use Psi client.

Secondly, you need an account on the server. This is because all the commands and features described here are available to local users only. Therefore, if you do not have a registered domain with us yet, please go ahead and register an account on the website either the Jabber.Me or Tigase.IM.

Adding a new domain

Once you register an account on one of the websites connect to the XMPP server using the account on the Psi client. I have an example, nice account: green [at] tigase [dot] im which is used for this guide.

MenuMenuWhen you are ready right click on the account name in Psi roster window to bring up context menu. Select Service Discovery element.

Service DiscoService DiscoA new windows pops up as in the example on the right. Service discovery window is where all the stuff installed on XMPP service should show up. Most of elements on the list are well known transports, MUC and PubSub components. The new stuff on the list, which is interesting for us now, are 2 elements: VHost Manager and Session Manager.

VHost Manager component in the Tigase is responsible for managing and controlling virtual hosts on the installation. It provides virtual hosts information to all other parts of the system and also allows you to add new hosts and remove/update existing virtual hosts.

Session Manager component in the Tigase is responsible for managing users. In most cases online users but it can also perform some actions on user repository where all user data is stored.

Menu Add VHostMenu Add VHostSelect VHost Manager and double click on it. A new windows shows up (might be hidden behind the service discovery window). The window contains another menu with a few items: Add..., Remove... and Update.... These are for adding, removing and updating VHost information. For now, just select the first element Add....

Add VHost WindowAdd VHost WindowPress Execute and you get a new window where you can enter all of your VHost configuration details. I think all the fields are pretty much self explanatory. Leave blank field for Other parameters for now. Owner is you, that is Jabber ID which controls the domain and can change the domain configuration settings or can remove the domain from the service. Administrators field can be left blank or can contain comma separated list of Jabber IDs for people who can manage users within the domain. Of course the owner can always manage users for his domain too.

When you are ready press Finish button. All done, hopefully. You can get either a window confirming everything went well or a window printing an error message if something went wrong. What can be wrong? There are some restrictions I decided to put on the service to prevent abuse. One of the restrictions is the maximum number of domains a user can register for himself which is 25 right now. Another restriction is that the domain which you add must have a valid DNS entry pointing to our service. The guide here describes all the details about DNS settings. Please refer to these instructions if you need more details.

Adding a new user

SM SelectedSM SelectedAdding a new user process is quite similar, almost identical to adding a new domain. This time, however we have to select Session Manager in the service discovery window.

Command Menu Add UserCommand Menu Add UserDouble click on the Session Manager and a window with SM's commands list shows up. Right now, there is only one command available to domain administrators - Add user. I am going to make available more commands in the future and I am waiting for your suggestions.

add_user_windowadd_user_windowIf you press Execute a window presented on the left shows up. Fill all fields accordingly and press Finish.

If everything went well you have just added a new user and you should get a window confirming successful operation. If something was wrong a window with an error message should show up. What can be wrong? You may try to add a user which is already added, you may try to add a user for a domain to which you do not have permission or to non-existen domain. I hope nothing more.

What else?

Well, there are plans, very close plans, to add SSL certificates management for your domains. I want to also add more user administration commands but for this I am waiting for your suggestions. You are users, you tell me what you want.

One more thing.
There is quite a few domains already registered by an administrator for people who asked for it using website form. These people cannot control their domains right now. Everybody who is interested in taking control over his domain, please send me an e-mail with his domain details and account for which the ownership should be granted and I will update domain configuration. To make sure the correct person asks for this I require you to send the request as a response to the e-mail I sent you after the domain has been registered in our service.

Your rating: None Average: 2 (3 votes)

Comments

Server configuartion in the client

Hi,

Thanks for a great service!
If I use another client to connect as a user in my domain. What do I use for the server when I connect? tigase.me? tigase.im? or something on my domain?

Thanks,
Elisha Klein

You can use any Jabber/XMPP

You can use any Jabber/XMPP client to connect to the service. Psi is only required for administrator tasks.
As a domain part you should use your account domain for which you created account. Please note, account: kleine222 AT tigase.im is different from kleine222 AT jabber.me or kleine222 AT your-domain.com even if it is on the same service. So make sure you use a correct domain for which you have created account.
I think your primary administrator account is probably kleine222 AT tigase.im but then when you register own domain on our service and add accounts for this domain, you have to use your own domain for these accounts.

xmpp: admin AT tigase.im

Thanks

Thanks a lot for the quick reply!

To be sure I understand.
My domain is mezumanet.co.il
I want to connect as user1 [at] mezumanet [dot] co [dot] il in another client.

Obviously that will be the user - jid (user1 [at] mezumanet [dot] co [dot] il)
The password will be this users password
The server to connect to will be mezumanet.co.il ? Is that correct?

Thanks again
Elisha

Yes, if you registered domain

Yes, if you registered domain mezumanet.co.il on our service then it has DNS set properly so you should have no problems connecting to it. I have just run a quick check myself:

$ domains-check.sh mezumanet.co.il
OK, _xmpp-client._tcp.mezumanet.co.il points correctly to tigase.me
OK, _xmpp-server._tcp.mezumanet.co.il points correctly to tigase.me

So, everything is OK. The server to connect to can be mezumanet.co.il.

xmpp: admin AT tigase.im

I am trying to understand the

I am trying to understand the "domain registration" part of XMPP. I found at many places that u need to execute command $ domain-check.sh domain name to find whether domain is registered or not , but I am unable to run this command. Where should I find this domain-check.sh script ? Also I want to add other domains to it ? How should I do that?

domains-check.sh is my own,

domains-check.sh is my own, internal script I use to check domain's DNS settings. It is very simple script which runs host commands described in the article above and verifies results. So it allows me to quickly check potential problems with domains we host here.

You do not really need the script as you can manually run the host command described above.

Please note, the script does not check whether the domain is registered or not. It only checks DNS settings for the domain. Once you have DNS sorted for the domain follow this guide to complete domain registration.

xmpp: admin AT tigase.im

resource and stream

OK. Doesn't seem to be working.

Getting the messages in PSI but not in the other client (actually a c# program).

Does it matter what I put for the resource and the stream?

Thanks a lot for your help on this.
This is the code - do you see any problems?

jabberClient1.AutoReconnect = 30F;
jabberClient1.AutoStartCompression = true;
jabberClient1.AutoStartTLS = true;
jabberClient1.InvokeControl = this;
jabberClient1.KeepAlive = 30F;
jabberClient1.LocalCertificate = null;
jabberClient1.Password = "password";
jabberClient1.Server = "mezumanet.co.il";
jabberClient1.User = "user1 [at] mezumanet [dot] co [dot] il";
//jabberClient1.StreamID = "3E7514BEA322149A";
jabberClient1.Resource = "9876";
jabberClient1.Connect();

Thanks again

I am sorry but I really

I am sorry but I really cannot offer you any help for custom client. My suggestion would be to look at the http://www.tigase.org and https://projects.tigase.org where the Tigase development takes place. There are people who might help, however, as far as I know they use only Java.

xmpp: admin AT tigase.im

Thanks

Thanks a lot in any case!

is in band registration

is in band registration supported for creation of new users within a custom domain?

Yes, it is. You can

Yes, it is. You can enable/disable in-band registration for your domain on the domain configuration form. If you disable in-band registration you can create users via ad-hoc commands.

xmpp: admin AT tigase.im

removing users

what about removing users? now it's not possible..

Good point, I am going to add

Good point, I am going to add more user management commands soon. I am quite busy right now so this may come with a delay. If there is somebody willing to help with this I am more than happy to give all the information.
There is actually no requirement for high programming skills. All the management in the Tigase is done via scripts which are exposed as ad-hoc commands. Currently we implement our scripts in Groovy. Therefore I think basic Groovy knowledge with example code form existing scripts would be more than enough.

xmpp: admin AT tigase.im

Max users

Does "Max users" refers to the number of users who can be registered, or who can be signed in? Also, does a value of "0" mean "unlimited"?

This limit only applies to

This limit only applies to the user in-band registration. If there are more users registered within the domain no more users will be able to register themselves. This is assuming the in-band registration is enabled for the domain.

The limit does no affect number of online users nor it affects adding more users by an admin.

And yes, the value 0 means unlimited.

xmpp: admin AT tigase.im