>>>>> 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
