RE: [reSIProcate] Proposal for adding STUN client support
- From: "Matthias Moetje - TERASENS GmbH" <moetje@xxxxxxxxxxxx>
- Date: Thu, 9 Mar 2006 18:23:26 +0100
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