Как запустить поток RTP внутри вызова SIP/SDP

Мне удалось настроить SIP-вызов с помощью JAIN-SIP API для Java.

Теперь я хотел бы передать какое-то видео после установления диалога. Я читал, что это возможно с SDP и RTP, и я нашел несколько примеров того, как определить тело SDP/RTP в пакете SIP.

Но как только вы договорились о возможностях и т. д. на узлах, как вы на самом деле запускаете поток RTP? Запускаете ли вы сервер потоковой передачи RTP снаружи или внутри вашего Java-приложения? Если да, то как? Какая ссылка?

В том, что я могу найти в Интернете, узлы просто «начинают обмениваться RTP-пакетами».

Спасибо.


person Community    schedule 18.08.2009    source источник


Ответы (2)


Вам нужен стек RTP. Когда вы начинаете, было бы лучше хранить все вместе в одном приложении. JMF(Java Media Framework),< хотя href="http://www.cs.odu.edu/~cs778/jmflects/lect7RTPArchitecture.html" rel="nofollow noreferrer">(архитектура JMF-RTP) — хорошее место для начала есть и другие, такие как JRTP. Особенности видео JMF можно найти здесь

person Community    schedule 26.09.2009

Попробуйте выполнить поиск по ключевому слову "re-INVITE" и соответствующим примерам. Как только вы обнаружили, что вам нужен еще один аудио/видеопоток в существующий вызов SIP с уже установленным медиа, вам необходимо запустить новую последовательность INVITE/OK/ACK. Новые потоки могут заменить ваши существующие медиапотоки или могут быть добавлены. Это ваш выбор, и это зависит от сигнализации. Конечно, вам нужен стек RTP с поддержкой возможностей/кодеков, чтобы удовлетворить ваши реальные потребности.

Люди часто реализуют это для обработки переключения факсов T.38 внутри SIP-вызовов. Вы можете получить необходимые справочные журналы вызовов дампа с устройства, которое поддерживает T.38 (или фактически имеет любой модем с поддержкой IP). Помните, что ваши голосовые потоки должны быть кодеками LBR (низкая скорость передачи данных), такими как G.729 или G.723.1. Это может дать вам много ответов, по крайней мере, «когда» запускать RTP и как сигнализировать об этом. По крайней мере, инициируя INVITE с предложенным новым потоком RTP, вы должны быть готовы получить этот поток с самого начала. Вы можете начать отправку RTP после OK с предложенными портами, «куда» отправлять RTP.

person Roman Nikitchenko    schedule 06.11.2009