I\'ve managed to set up a SIP call using the JAIN-SIP API for Java.
Now I would like to stream some video once a dialog has been established. I\'ve read that this is pos
You need an RTP stack. As you are starting out, it would be best to keep everything together in the same app. JMF(Java Media Framework),(JMF-RTP Architecture) is a good place to start, though there are others like JRTP. JMF video specifics can be found here
Try to search on keyword "re-INVITE" and appropriate examples. As soon as you found yourself in need of another audio / video stream into existing SIP call with already established media you need to start new INVITE / OK / ACK sequence. New streams could replace your existing media streams or could be added. It's your choice and this depends on signalling. Of course you need RTP stack with capability / codecs supported to satisfy your actual needs.
People often implement this to handle T.38 fax switching inside SIP calls. You can obtain required reference logs dumping call from device which supports T.38 (or actually having any modem over IP support). Remember your voice streams should be LBR (low bit rate) codecs such as G.729 or G.723.1. This could bring you with many answers at least 'when' to start RTP and how to signal this. At least initiating INVITE with proposed new RTP stream you should be ready to receive this stream right from the start. You can start sending RTP after OK with proposed ports 'where' to send RTP.