Я лично использовал emite с hablar. Хотя сейчас это может показаться устаревшим проектом, это открытый исходный код, и вы можете его оживить. Например, у меня есть запрос на извлечение данных для обоих проектов, где я взял код, который может подключаться только к одному серверу xmpp, и изменил его, чтобы он мог подключаться к нескольким серверам одновременно.
Emite - это хорошее начало, если вы хотите просто коммуникационный стек и хотите написать что-то более индивидуальное для пользовательского интерфейса, чем пакеты hablar.
Хаблар дает вам хорошую базу того, что вам нужно для пользовательского интерфейса.