Как упоминалось выше, вы можете использовать свой собственный jabber-сервер, создать учетную запись на этом сервере и затем добавить шлюз для каждого протокола IM, который вы хотите поддерживать. Таким образом, вы используете jabber api для отправки сообщений на одну учетную запись (локальную учетную запись jabber), а затем сервер будет проходить через шлюзы к различным протоколам.
Еще один способ сделать это - использовать libpurple . Эта библиотека используется для поддержки поддержки нескольких протоколов в pidgin и adium. Этот способ будет иметь меньше настроек, но, возможно, более высокую кривую обучения.