Paul, Providing the Via is intact then the response can be routed back to the UAC. There is probably also a good chance that the errant UAC can match the response to the request, especially for RFC3261 where only the Via branch needs to be used to correlate requests and responses. For this reason I would contend that sending a response is sensible.
If the UAS does not send a response, the UAC might never know that the UAS doesn't like the requests because the CSeq (or some other header) is invalid. It just looks like the UAS is down and not responding if it doesn't send a response. Paul DS. Paul D.Smith Network Protocols Group Data Connection Ltd (DCL) Tel: +44 20 8366 1177 Email: [EMAIL PROTECTED] Fax: +44 20 8363 1039 Web: http://www.dataconnection.com -----Original Message----- From: Paul Kyzivat [mailto:[EMAIL PROTECTED] Sent: 21 January 2004 18:55 To: SIP (E-mail) Subject: [Sip-implementors] Response to request with invalid CSeq? A question came up about this locally, and then I noticed something similar in the torture tests: If a request is received with an invalid CSeq value (e.g. value too large, or containing invalid characters), what should the response be? Section 3.1.2.4 of the torture test says the receiving element should respond with a 400. But I question this. It forces the receiving element to format and send an incorrectly formatted response. I wonder if it might be as good or better to simply drop the request. A slightly different case occurs if the request has no CSeq at all. What should be done then? Sending a response with no CSeq seems even worse than sending one with an invalid CSeq. It seems unlikely that it could ever be matched to the sender's transaction, so it be worthless to send. Paul _______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors _______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
