[Devel] rr-callbacks and dst-uri for Path and NAT
Andreas Granig
andreas.granig at inode.info
Thu Jan 26 14:41:17 CET 2006
Bogdan-Andrei Iancu wrote:
> I did some thinking on this matter and I think it might not be the case.
> If you have a PATH hdr stored on the contact record, means that there is
> a proxy (minimum) between the register and the UAC. Now, we have to cases:
> - that proxy has public address - in this case no received is set, so
> there is no problem
> - that proxy has private address and advertise it - in this case
> there is an received and for sure you want to use it to get to that
> proxy (and not to use the private advertised addr).
>
> please correct me if I'm wrong about something.
I'm not quite sure if we're talking exactly about the same here. Let me
give an example to clear this up:
If you have a REGISTER like "UAC1 -> (NAT) -> P1 -> R1", where P1 is the
outbound proxy of UAC and R1 is the Registrar, then P1 would add a Path
"Path: <sip:own-addr;lr;received=nat-addr>", and R1 would simply store that.
I assume here that P1 knows the address of R1 and it's directly
reachable. So R1 won't have a received-addr and would just store the
Contact of UAC with the Path of P1. This scenario (the handling of Path
in R1) is already covered by my previous patch.
Now assume a subsequent request "UAC2 -> R1 -> P1 -> (NAT) -> UAC1". In
this case, R1 recognizes the stored Path, inserts it as Route-HF and
sends the request to the first uri of the Path (not to the address in
the received-param of the Path nor to the received-address of the
previous REGISTER). P1 receives this request and uses the received-param
of the Route-HF, which it had inserted to Path during the registration,
as next hop address to traverse UAC1's NAT. And therefore it has to
parse the params of the first Route HF and set the destination-uri
according to the received-param.
This is the intention of the parameter, namely NAT-traversal for
outbound proxies which do not act as registrars but are only load
balancers for example. This has nothing to do with the Path handling on
R1, although the question there is if it's correct to use the Path-uri
in favour of the received-address for the next hop...
Hope this clears that up...
Andy
More information about the Devel
mailing list