because the protocol isn't always XMPP