Несколько вещей прямо сверху моей головы. Я отредактирую этот список, когда я буду думать о больше.
Вам нужен стек RTP. Когда вы только начинаете, было бы лучше хранить все вместе в одном приложении. JMF (Java Media Framework), (Архитектура JMF-RTP) - хорошее место для начала, хотя есть и другие, например JRTP . Специфика видео JMF может быть найдена здесь
Попробуйте выполнить поиск по ключевому слову «повторно ПРИГЛАСИТЬ» и подходящим примерам. Как только вы обнаружите, что вам нужен еще один аудио / видеопоток в существующий SIP-вызов с уже установленным носителем, вам необходимо запустить новую последовательность INVITE / OK / ACK. Новые потоки могут заменить существующие потоки мультимедиа или могут быть добавлены. Выбор за вами, и это зависит от сигнализации. Конечно, вам нужен стек RTP с возможностями / поддерживаемыми кодеками для удовлетворения ваших реальных потребностей.
Люди часто применяют его для обработки коммутации факсов T.38 внутри вызовов SIP. Вы можете получить требуемые справочные журналы сброса вызовов с устройства, которое поддерживает T.38 (или фактически имеет любой модем с поддержкой IP). Помните, что ваши голосовые потоки должны быть кодеками LBR (с низкой скоростью передачи), такими как G.729 или G.723.1. Это может дать вам множество ответов, по крайней мере, «когда» запускать RTP и как об этом сигнализировать. По крайней мере, инициируя INVITE с предложенным новым потоком RTP, вы должны быть готовы принять этот поток с самого начала. Вы можете начать отправку RTP после OK с предложенными портами, «куда» отправлять RTP.