2009-08-18 6 views
8

J'ai réussi à configurer un appel SIP à l'aide de l'API JAIN-SIP pour Java.Comment lancer un flux RTP dans un appel SIP/SDP

Maintenant, je voudrais diffuser de la vidéo une fois qu'une boîte de dialogue a été établie. J'ai lu que c'est possible avec SDP et RTP, et j'ai trouvé plusieurs exemples sur la façon de définir un corps SDP/RTP dans un paquet SIP.

Mais une fois que vous avez négocié la capacité etc. sur les noeuds, comment lancez-vous réellement le flux RTP? Est-ce que vous démarrez un serveur de diffusion RTP en dehors ou à l'intérieur de votre application Java? Si c'est le cas, comment? Quel est le lien?

Dans ce que je suis en mesure de trouver en ligne, les nœuds "commencent juste à échanger des paquets RTP".

Merci.

Répondre

4

Vous avez besoin d'une pile RTP. Comme vous commencez, il serait préférable de tout garder ensemble dans la même application. JMF (Java Media Framework), (JMF-RTP Architecture) est un bon point de départ, bien qu'il existe d'autres comme JRTP. Les caractéristiques vidéo JMF peuvent être trouvées here

0

Essayez de rechercher le mot-clé "re-INVITE" et les exemples appropriés. Dès que vous avez besoin d'un autre flux audio/vidéo dans un appel SIP existant avec un média déjà établi, vous devez lancer une nouvelle séquence INVITE/OK/ACK. De nouveaux flux pourraient remplacer vos flux multimédias existants ou pourraient être ajoutés. C'est votre choix et cela dépend de la signalisation. Bien sûr, vous avez besoin d'une pile RTP avec capacité/codecs supportés pour satisfaire vos besoins réels.

Les gens implémentent souvent ceci pour gérer la commutation de fax T.38 dans les appels SIP. Vous pouvez obtenir les journaux de référence requis en ignorant l'appel de l'appareil qui prend en charge le protocole T.38 (ou en prenant en charge un modem sur IP). N'oubliez pas que vos flux vocaux doivent être des codecs LBR (Low Bit Rate) tels que G.729 ou G.723.1. Cela pourrait vous apporter de nombreuses réponses au moins «quand» pour lancer RTP et comment le signaler. En initiant au moins INVITE avec le nouveau flux RTP proposé, vous devriez être prêt à recevoir ce flux dès le début. Vous pouvez commencer à envoyer RTP après OK avec les ports proposés 'où' envoyer RTP.

Questions connexes