Openfire Voice/Video Stream via StunServer with NAT enabled network

I want to establish a video/voice connection between two clients behind NAT. I have learned some technologies such as STUN, TURN ,ICE which are used to make voice chat possible between clients behind NAT.

I have many question about this configuration.

1- I have installed jingle node, and stun plugin. So How client detects which jingle node will be used? As far as I know STUN server detect media server which is jingle node itself so which STUN configuration is send to the clients?

2- How client get media server from STUN server? What is the additional features of client have for this kind of network topology?

Can you give me an step by step infomation about that conguration and draw a picture for this network topology?

Thanks.