|
Page 1 of 16 Header Fields in SIP he general syntax for header fields is covered in Section 7.3. This section lists the full set of header fields along with notes on syntax, meaning, and usage. Throughout this section, we use [HX.Y] to refer to Section X.Y of the current HTTP/1.1 specification RFC 2616 [8]. Examples of each header field are given.
Information about header fields in relation to methods and proxy processing is summarized in Tables 2 and 3.
The "where" column describes the request and response types in which the header field can be used. Values in this column are:
R: header field may only appear in requests;
r: header field may only appear in responses;
2xx, 4xx, etc.: A numerical value or range indicates response codes with which the header field can be used;
c: header field is copied from the request to the response.
An empty entry in the "where" column indicates that the header field may be present in all requests and responses.
The "proxy" column describes the operations a proxy may perform on a header field:
a: A proxy can add or concatenate the header field if not present.
m: A proxy can modify an existing header field value.
d: A proxy can delete a header field value.
r: A proxy must be able to read the header field, and thus this header field cannot be encrypted.
The next six columns relate to the presence of a header field in a method:
c: Conditional; requirements on the header field depend on the context of the message.
m: The header field is mandatory.
m*: The header field SHOULD be sent, but clients/servers need to be prepared to receive messages without that header field.
o: The header field is optional.
t: The header field SHOULD be sent, but clients/servers need to be prepared to receive messages without that header field.
If a stream-based protocol (such as TCP) is used as a transport, then the header field MUST be sent. *: The header field is required if the message body is not empty. See Sections 20.14, 20.15 and 7.4 for details.
-: The header field is not applicable.
"Optional" means that an element MAY include the header field in a request or response, and a UA MAY ignore the header field if present in the request or response (The exception to this rule is the Require header field discussed in 20.32). A "mandatory" header field MUST be present in a request, and MUST be understood by the UAS receiving the request. A mandatory response header field MUST be present in the response, and the header field MUST be understood by the UAC processing the response. "Not applicable" means that the header field MUST NOT be present in a request. If one is placed in a request by mistake, it MUST be ignored by the UAS receiving the request. Similarly, a header field labeled "not applicable" for a response means that the UAS MUST NOT place the header field in the response, and the UAC MUST ignore the header field in the response.
A UA SHOULD ignore extension header parameters that are not understood.
A compact form of some common header field names is also defined for use when overall message size is an issue.
The Contact, From, and To header fields contain a URI. If the URI contains a comma, question mark or semicolon, the URI MUST be enclosed in angle brackets (< and >). Any URI parameters are contained within these brackets. If the URI is not enclosed in angle brackets, any semicolon-delimited parameters are header-parameters, not URI parameters.
|