I have been reading the NAT traversal requiring the use of an external STUN server. There are few public STUN servers but I do not know how to use them to find out my public IP that can be used by the other client to initiate the connection. Being a noob in this, I am not able to find out the correct documents for this using the BSD sockets. If someone can explain how can i find my public IP taking BSD sockets as base would be good. Also if you can provide good links for this, it wpuld also be appreciated.
It's in the STUN bind response. RFC 5389, the STUN specification, explains how on page 7: