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