I am trying to use Jabber/Smack as a message transport for a groupware app. There are a number of broadcast messages on various different ‘‘channels’’. I am looking at GroupChat as a means of delivering each channel, but need to make sure that only authorized people are in the chat room. Is there any mechinism tailored to this already?
You can use the MultiUserChat to achieve what you are looking for. You can create a Members-Only Room where a user cannot enter without being on the member list. (http://www.jabber.org/jeps/jep-0045.html#enter-members). You could have a Members-Only Room for each channel that you need.
Since you are using jabberd you will also need to install the mu-conference component.
Another mechanism to consider would be pubsub. I’‘m not positive pub-sub has support for JMS style topics like what you’'re looking for, but I thought it did.