On 9/30/16 3:52 PM, Roman Shpount wrote:
Well, I agree with you in theory, but this is one of those horses which has been out of the barn for a long time. No amount of standards clarifications will resolve this now due to how common it is to add customer parameters to SIP headers and how many of those parameters are now used in legacy applications. It might be a good idea to test and warn of such custom header use during SipIt events to avoid them in the future.
Note that I didn't say that receivers should stop ignoring and forwarding these values.
The existing implementations can keep doing what they're doing. Its just that anybody that wants to can call them out as violating the specs, and be justified in doing so.
But we could define a compliant way to do this and then start encouraging implementations to do that instead.
The only actual danger in what is going on now is that there is no policing for uniqueness of the parameter names. That *could* cause a problem someday, though the odds of that probably aren't very high.
Thanks, Paul
As far as Via is concerned, the better and standard compliant practice is to encode any application specific data in VIA tag parameter using some sort of proprietary encryption scheme. It is guaranteed that Via tag will be returned to the proxy unmodified. Regards, _____________ Roman Shpount On Fri, Sep 30, 2016 at 3:16 PM, Paul Kyzivat <pkyzi...@alum.mit.edu <mailto:pkyzi...@alum.mit.edu>> wrote: Roman, On 9/30/16 2:27 PM, Roman Shpount wrote: On Fri, Sep 30, 2016 at 2:03 PM, Paul Kyzivat <pkyzi...@alum.mit.edu <mailto:pkyzi...@alum.mit.edu> <mailto:pkyzi...@alum.mit.edu <mailto:pkyzi...@alum.mit.edu>>> wrote: The inclusion of generic-param is a provision for future extensions with backward compatibility. It doesn't mean that anybody is *permitted* to add whatever they want. (It takes a published RFC to validly define a new header field parameter.) So if you *insert* values that haven't been properly defined and registered then you are violating the specs. This interpretation would break a lot of SIP implementations. The reason for this is that Via and Route generic parameters are used by stateless proxies to store application specific state. There is no other place to put it. Skype for business was one example. I can probably find another 10-15 examples similar to that from other products. Maybe it would. But I think it is more than simply *my* interpretation. RFC3427 says: Anyone who thinks that the existing SIP protocol is applicable to their application, yet not sufficient for their task must write an individual Internet-Draft explaining the problem they are trying to solve, why SIP is the applicable protocol, and why the existing SIP protocol will not work. And RFC3968 says: SIP header field parameters and parameter values MUST be documented in an RFC in order to be registered by IANA. This documentation MUST fully explain the syntax, intended usage, and semantics of the parameter or parameter value. The intent of this requirement is to assure interoperability between independent implementations, and to prevent accidental namespace collisions between implementations of dissimilar features. How can you read those to allow use of unregistered values? If there is need for this, then there ought to be a revision to carve out a namespace for proprietary header field parameters, in general, or perhaps only for Via. Thanks, Paul
_______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors