I am trying to create a simple application to perform screen sharing from
one computer to another using LIBJITSI API.
I successfully created a Transmitter and a Receiver using libjitsi API,
where the Transmitter shares the desktop screen to the Receiver. I was also
able to add a video listener to the Receiver, so the Receiver is notified
of the video event and I could display the Transmitter desktop in a frame
on the Receiver computer.
So far so good, but my only concern is what would happen if the Transmitter
and Receiver would be behind NAT or Firewall.
I read that libjitsi uses ice4j api for ICE protocol (Interactive
Connectivity Establishment (ICE) protocol) in order to handle different
policies regarding NAT, but what I think I am missing is a RELAY server
somewhere, for cases when ICE rules are failing and somehow it needs to
fallback to a RELAY in order to still ensure Media transfer
I glanced through Jitsi Code and I noticed that for example, when the
signaling protocol used is XMPP, Jingle Nodes is used for RELAY
Given the fact that I don't have a XMPP server behind, what do you advice
me to do? Is there any open-source RELAY servers that I can use. And how
should I embed a RELAY server in my code (I have only few lines of code and
I was mostly inspired from AVReceive2 and AVTransmit2 examples from
Thanks you very much in advance