Yes, Jitsi has a substantial code base. I'm sure there will be many new
things to learn, and I think that's a good thing. I hope you too are exited
Yes, I'm exited about it :)!
In addition to jitsi itself, you will likely need to build libjitsi and
ice4j. Try to get a custom build running.
What do you mean with a custom build exactly?
RFC5245 will be an important reference, but it may be a tough read. It has
a lot of details which you won't really care about, so don't worry if you
don't understand absolutely everything.
The following article is still a good introduction to the high-level
structure of Jitsi:
I'll make sure to read 5245 and the article about the high-level structure,
but I'm not sure when because I also need to read for and work on Camel.
I don't think 2663 will be of any use. You'll be better off consulting
something less formal (and more current) for NATs in general. Do you
already know what a NAT does and why it presents a challenge for
I think we can start without any TURN support, and maybe add it later.
I did not know what NAT did, so I did some initial reading, mainly wikipedia
and these articles [1,2]. As far as I understand NATs currently, a NAT
functions as a single, registered ip address for multiple devices with
non-registered ip addresses in a local network. The problem with
audio/video calls is that a device inside the local network has to
initialize the call. If a device on the Internet sends a call request to
the NAT, the NAT doesn't know to which device to send the call requests and
discards it. Is this correct?
 = http://computer.howstuffworks.com/nat.htm/printable
 = https://www.grc.com/nat/nat.htm