Не слишком много для моего собственного рога, но я мог бы рекомендовать попробовать IcedJava . (Это часть проекта SipTools) Он активно разрабатывается, имеет стабильную версию 0.9 и поддерживает сценарии использования, такие как потоковая передача RTP из коробки.
Что касается поддержки TCP, то это запланировано на более поздний выпуск, но вам будет трудно поддерживать TCP по симметричному nat из-за блокировки трехстороннего рукопожатия. Даже TCP-расширения спецификации ICE отмечают, что TCP-соединения с гораздо меньшей вероятностью будут успешными, чем UDP-соединения между узлами natted.
Тем не менее, вы можете обойти это путем маршрутизации пакетов TCP через мост UDP, включая все функции исправления ошибок и управления потоком. (Я забыл RFC для этого, но это окончательная спецификация) Тем не менее, все это относительно новые спецификации, а спецификация ICE-TCP еще не окончательная. Даже в активной разработке это займет время.