As you may know, to be a robust meeting entity, we must take good care of compatibility requirements for different facilities from different manufacturers.
In H.323 protocol, we can use fields like Vendor ID, Product ID, Version ID in the signaling commands.
But how to do this when you are using SIP protocol?
- Definitions in RFC 3261
20.35 Server
The Server header field contains information about the software used
by the UAS to handle the request.
Revealing the specific software version of the server might allow the
server to become more vulnerable to attacks against software that is
known to contain security holes. Implementers SHOULD make the Server
header field a configurable option.
Example:
Server: HomeServer v2
20.41 User-Agent
The User-Agent header field contains information about the UAC
originating the request. The semantics of this header field are
defined in [H14.43].
Revealing the specific software version of the user agent might allow
the user agent to become more vulnerable to attacks against software
that is known to contain security holes. Implementers SHOULD make
the User-Agent header field a configurable option.
Example:
User-Agent: Softphone Beta1.5
- [H14.43] User-Agent definition in RFC2616
14.43 User-Agent
The User-Agent request-header field contains information about the user agent originating the request. This is for statistical purposes, the tracing of protocol violations, and automated recognition of user agents for the sake of tailoring responses to avoid particular user agent limitations. User agents SHOULD include this field with requests.
The field can contain multiple product tokens (section 3.8) and comments identifying the agent and any subproducts which form a significant part of the user agent. By convention, the product tokens are listed in order of their significance for identifying the application.
User-Agent = “User-Agent” “:” 1*( product | comment )
Example:
User-Agent: CERN-LineMode/2.15 libwww/2.17b3
- How TANDBERG and Polycom implemented?
POLYCOM:
So, jump to the conclusion:
- As UAC, identify yourself in User-Agent field.
- As UAS, identify yourself in Server field.
Comparing with TANDBERG and POLYCOM’s implementation, TANDBERG format is more proper.