>>>>> I??aki Baz Castillo <[EMAIL PROTECTED]> wrote:

> Hi, imagine a request from NAT received by a UAS with publi IP:

>   # INVITE from 80.80.80.80:5060
>   Via: SIP/2.0/UDP sip:192.168.0.100:5060

> The UAS converts t to:

>   Via: SIP/2.0/UDP sip:192.168.0.100:5060;received=80.80.80.80

> Now imagine the UAS replies a 404 but gets an ICMP error, so it must perform:

You touched the very complicated topic - how to deal with client
behind NAT. The answer for this particular case is: if you are
sure the client is behind NAT - _force_ adding rport to topmost
Via even if this Via doesn't contain it (with or without value).

>   18.2.2 Sending Responses

>       o Otherwise (for unreliable unicast transports), if the top Via
>          has a "received" parameter, the response MUST be sent to the
>          address in the "received" parameter, using the port indicated
>          in the "sent-by" value, or using port 5060 if none is specified
>          explicitly.  If this fails, for example, elicits an ICMP "port
>          unreachable" response, the procedures of Section 5 of [4]
>          SHOULD be used to determine where to send the response.
> So finally it would send the response to IP 192.168.0.100:5060

To 80.80.80.80:5060, if rport isn't added.

-- 
Valentin Nechayev
PortaOne Inc., Software Engineer
mailto:[EMAIL PROTECTED]
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to