Thanks, Paul for the detailed response, it more or less matches my own understanding. Do you think for the sake of implementation it can be compressed down to something like that:
- if you are making SIP RESPONSE to an incoming request use "Server", otherwise if generating new REQUEST use "User-Agent"? Are there any situations where a locally generated response to a transaction that comes from the outside world might need to use "User-Agent"? My understanding is no, since I don't know any scenarios where UAS issues a request, or UAC generates a response. -Max On Tue, Apr 28, 2020 at 10:35 AM Paul Kyzivat <pkyzi...@alum.mit.edu> wrote: > On 4/28/20 1:08 PM, Maxim Sobolev wrote: > > Hi, > > > > I've noticed that in the last few years few implementations have gained > > popularity who use User-Agent in both requests and responses. Instead of > > User-Agent in requests and Server in responses which I always believed > > (perhaps incorrectly) to be the right way of doing it. The argument there > > is that "oh, our implementation is an endpont/B2BUA, not an UAS". The > > question hence is it my reading of RFC wrong or theirs? Thanks! > > From 3261: > > The Server header field contains information about the software used > by the UAS to handle the request. > ... > The User-Agent header field contains information about the UAC > originating the request. > > And note that UAC and UAS are *roles*. If you initiating (not > forwarding) a SIP request then you are, at that moment, acting as a UAC. > And if you are initiating (not forwarding) a SIP response then you are > acting as a UAS. In practice it is really hard (probably impossible) to > find anything that is purely a UAC or UAS. > > So the usage you are seeing is *wrong*. > > This gets hazy with B2BUAs. Note that they have no official standing in > 3261. As far as 3261 is concerned something that thinks of itself as a > B2BUA is just two sip devices lashed together. When the B2BUA receives a > request on one side it is acting as a UAS and when it sends it out the > other side it is acting as a UAC. In principle that should be governing > its use of User-Agent and Server on each side. But often they try to act > as a Proxy. (Except when doing something that a Proxy isn't permitted to > do.) I think they hand wave around this by claiming that they are > sometimes acting as Proxies and other times are acting as UAs and so > pick whichever suits them when arguing that they are compliant. > > Thanks, > Paul > _______________________________________________ > Sip-implementors mailing list > Sip-implementors@lists.cs.columbia.edu > https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors > -- Maksym Sobolyev Sippy Software, Inc. Internet Telephony (VoIP) Experts Tel (Canada): +1-778-783-0474 _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors