java-bells is a "library" designed to wrap ice4j, libjitsi and smack and even contains a sample for making a connection. Since ice4j and libjitsi are, for all intents and purposes undocumented black-boxes, I created java-bells as a thin wrapper around those libraries to make them a bit easier to use. You could also think of it as a demonstration of how to use those libraries. In other words, you might choose to use java-bells directly as a library or just look at java-bells to see how it works and write your own code. Since trying to figure that out by using the jitsi source alone is an exercise in futility, and I don't know of any other approach, I think this is what you should do.
As for docs about the protocols themselves, I only know of the RFCs and the wikipedia pages.