< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

RE: [reSIProcate] Proposal for adding STUN client support


Bruce,
 
thanks very much for your comments. I agree that the
StunAddress4 should be avoided. The testnum could be
an optional parameter. (Without the testnum it wouldn't
be possible to determine the type of NAT.)
 
bool stunQueryMapped(const Tuple&  dest, int testNum = 1);

bool stunResult(Tuple& mappedAddress);
 

Coincidentally, you don't actually need a stun server to do that (you do to determine NAT type).  If all you want is your mapped address, any resiprocate stack that you can communicate with can determine your mapped address for you.  All that's missing is the client interface.  
How could this work before a message is sent? I can't see any 
mechanism for it. If I fire up the stack and prepare the first invite 
message to be sent I would need to know the mapped public IP
address before actually sending it in order to replace the via
header and contact field. Am I missing something?
 
Best regards,
 
Matthias