В спецификации говорят, что:
A Jingle RTP session SHOULD use a datagram transport method (e.g. Jingle Raw UDP Transport Method [4] or the «ice-udp» method specified in Jingle ICE-UDP Transport Method [5]), but MAY use a streaming transport if the end-to-end link has minimal latency and the media negotiated is not unduly heavy (e.g., it might be possible to use a streaming transport for audio, but not for video).
Однако я никак не могу найти подходящий документ, где было бы описано как использовать TCP для подключения. Скачал libjingle, от mediasessionclient_unittest.cc у меня встают волосы, но пользы это не принесло. Пытался читать спеку по RTP/AVC, а там еще страшнее:
Under special circumstances, it may be necessary to carry RTP in protocols offering a byte stream abstraction, such as TCP, possibly multiplexed with other data. The application MUST define its own method of delineating RTP and RTCP packets (RTSP [23] provides an example of such an encapsulation specification).
Но ведь обещали работу по TCP! Задача то элементарная: в TCP-соединение отдаем PCMU (RTP type=0), осталось понять как к этому прикрутить XMPP.