Wie starte ich den RTP-Stream innerhalb eines SIP / SDP-Anrufs?

8

Ich habe es geschafft, mit der JAIN-SIP-API für Java einen SIP-Anruf einzurichten.

Jetzt möchte ich ein Video streamen, sobald ein Dialog erstellt wurde. Ich habe gelesen, dass dies mit SDP und RTP möglich ist, und ich habe mehrere Beispiele gefunden, wie man einen SDP / RTP-Körper in einem SIP-Paket definiert.

Aber sobald Sie die Fähigkeit usw. auf Knoten ausgehandelt haben, Wie starten Sie eigentlich den RTP-Stream? Starten Sie einen RTP-Streaming-Server außerhalb oder innerhalb Ihrer Java-Anwendung? Wenn das so ist, wie? Was ist der Link?

In dem, was ich online finden kann, beginnen Knoten einfach "RTP-Pakete auszutauschen".

Danke.

    
anderstornvig 18.08.2009, 13:07
quelle

2 Antworten

4

Sie benötigen einen RTP-Stack. Wenn Sie anfangen, ist es am besten, alles in der gleichen App zusammen zu halten. JMF (Java Media Framework), (JMF-RTP Architecture) ist ein guter Startpunkt, obwohl es auch andere gibt wie JRTP . JMF-Video-Details finden Sie hier

    
hplbsh 26.09.2009, 20:19
quelle
0

Versuchen Sie, das Stichwort "re-INVITE" und entsprechende Beispiele zu suchen. Sobald Sie einen anderen Audio- / Video-Stream in einem bestehenden SIP-Anruf mit bereits bestehenden Medien benötigen, müssen Sie die neue INVITE / OK / ACK-Sequenz starten. Neue Streams können Ihre vorhandenen Medienstreams ersetzen oder hinzugefügt werden. Es ist Ihre Wahl und das hängt von der Signalisierung ab. Natürlich benötigen Sie einen RTP-Stack mit Unterstützung von Funktionen / Codecs, um Ihre tatsächlichen Anforderungen zu erfüllen.

Dies wird oft implementiert, um das T.38-Fax-Switching innerhalb von SIP-Anrufen zu handhaben. Sie können den erforderlichen Referenzprotokoll-Dumping-Anruf von einem Gerät erhalten, das T.38 unterstützt (oder tatsächlich über eine Modem-über-IP-Unterstützung verfügt). Denken Sie daran, dass Ihre Sprachstreams LBR-Codecs (niedrige Bitrate) wie G.729 oder G.723.1 sein sollten. Dies könnte Ihnen viele Antworten geben, zumindest wenn Sie RTP starten und dies signalisieren möchten. Zumindest INVITE mit vorgeschlagenen neuen RTP-Stream initiieren, sollten Sie bereit sein, diesen Stream von Anfang an zu empfangen. Sie können beginnen, RTP nach OK zu senden, mit den vorgeschlagenen Ports 'where', um RTP zu senden.

    
Roman Nikitchenko 06.11.2009 10:46
quelle

Tags und Links