[EMAIL PROTECTED] wrote:
>    From: Jagan Mohan Reddy S <[EMAIL PROTECTED]>
> 
>    What is the behavior of UAS on invalid sent-by field in the
>    incoming request?
> 
> It is probably unwise for a UAS to respond to a message that is so
> damaged that the message does not clearly specify the way it is to be
> responded to.  But since any such message is outside of specification,
> the UAS can respond to it in any way it chooses.
> 
>    My phone is sending respone to the ipaddr on which it received an
>    INVITE.
> 
> However, I would check to see why the phone is doing that.  There is
> no circumstances under which the phone may deduce that the correct
> address to send the response is the one which sent the request -- the
> sent-by field is the only way to determine the proper address to send
> the response.  So I suspect that the phone is not properly reading and
> acting on *valid* sent-by fields, either.

I think that 'no circumstances' is a little strong.  From RFC3261
Section 18.2.1:

   When the server transport receives a request over any transport, it
   MUST examine the value of the "sent-by" parameter in the top Via
   header field value.  If the host portion of the "sent-by" parameter
   contains a domain name, or if it contains an IP address that differs
   from the packet source address, the server MUST add a "received"
   parameter to that Via header field value.  This parameter MUST
   contain the source address from which the packet was received.  This
   is to assist the server transport layer in sending the response,
   since it must be sent to the source IP address from which the request
   came.

This clearly indicates that sending a response to the source IP of the
request is the desired action, and that storing the information in the
'received' parameter is necessary if the 'sent-by' parameter is
insufficiently accurate.  (More details on sending responses are in the
following section, 18.2.2).

By extension, I think it is reasonable to say that if the 'sent-by' is
invalid in some way, then sending a response to the source IP is an
acceptable way of rejecting the request.  That is assuming you want to
send a response at all to such a request.

Regards,

Michael

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to