SIP headers and other SIP message elements. More...
|SIP Header X - Conventions|
For a SIP header X, there are types, functions, macros and global data declared in <sofia-sip/sip_protos.h> and <sofia-sip/sip_hclass.h> as follows:
The request line is first line in a SIP request message.
The status line is first line in a response message.
The payload structure contains the optional message body.
An empty line separates message headers from the message body (payload).
The unknown headers are handled with sip_unknown_t structure.
The erroneous headers are stored in sip_error_t structure.
The Call-ID header uniquely identifies a particular invitation or all registrations of a particular client.
The CSeq header (command sequence) uniquely identifies transactions within a dialog.
The Contact header contain a list of URLs used to redirect future requests.
The Content-Length header indicates the size of the message-body in decimal number of octets.
The Date header field reflects the time when the request or response was first sent.
The Expires header field gives the date and time after which the message content expires.
The From header indicates the initiator of the request.
The Max-Forwards header is used to limit the number of proxies or gateways that can forward the request.
The Min-Expires header is used to limit the number of proxies or gateways that can forward the request.
The Retry-After response-header field RFC 3261 section 20.33 can be used to indicate how long the service is expected to be unavailable or when the called party anticipates being available again.
The Route headers is used to store the route set of a transaction.
The Record-Route headers are used to establish a route for transactions belonging to a session.
The To header field specifies the "logical" recipient of the request.
The Via header indicates the path taken by the request so far.
The Request-Disposition header syntax is defined in RFC 3841 section 10 as follows:
The Accept-Contact syntax is defined in RFC 3841 section 10 as follows:
The Reject-Contact syntax is defined in RFC 3841 section 10 as follows:
The Event header is used to indicate the which event or class of events the message contains or subscribes.
The Allow-Events header is used to indicate which events or classes of events the notifier supports.
The Subscription-State header is used to indicate in which state a subscription is.
The Call-Info header provides additional information about the caller or callee.
The Error-Info header provides a pointer to additional information about the error status response.
When present in an INVITE request, the Alert-Info header field specifies an alternative ring tone to the UAS.
The Reply-To header field contains a logical return URI that may be different from the From header field.
The In-Reply-To request header field enumerates the Call-IDs that this call references or returns.
The Organization header field conveys the name of the organization to which the entity issuing the request or response belongs.
The Priority request-header field indicates the urgency of the request as perceived by the client.
The Server response-header field contains information about the software used by the user agent server to handle the request.
The Subject header provides a summary or indicates the nature of the request.
The Timestamp header describes when the client sent the request to the server, and it is used by the client to adjust its retransmission intervals.
The User-Agent header contains information about the client user agent originating the request.
The SIP-ETag header field identifies the published event state.
The SIP-If-Match header field identifies the specific entity of event state that the request is refreshing, modifying or removing.
The Suppress-Body-If-Match header field identifies a SIP event content already known by the watcher.
The Suppress-Notify-If-Match header is used to suppress superfluous NOTIFY transactions.
The syntax of the Remote-Party-ID header is described as follows:
The P-Asserted-Identity header is used used among trusted SIP entities (typically intermediaries) to carry the identity of the user sending a SIP message as it was verified by authentication.
The P-Preferred-Identity header is used used among trusted SIP entities (typically intermediaries) to carry the identity of the user sending a SIP message as it was verified by authentication.
The Allow header lists the set of methods supported by the user agent generating the message.
The Proxy-Require header is used to indicate proxy-sensitive features that MUST be supported by the proxy.
The Require header is used by clients to tell user agent servers about options that the client expects the server to support in order to properly process the request.
The Supported header enumerates all the capabilities of the client or server.
The Unsupported header lists the features not supported by the server.
The "Service-Route" is a SIP extension header field (RFC 3608), which can contain a route vector that will direct requests through a specific sequence of proxies.
The Accept request-header field can be used to specify certain media types which are acceptable for the response.
The Accept-Encoding header is similar to Accept, but restricts the content-codings that are acceptable in the response.
The Accept-Language header can be used to allow the client to indicate to the server in which language it would prefer to receive reason phrases, session descriptions or status responses carried as message bodies.
The Content-Disposition header field describes how the message body or, in the case of multipart messages, a message body part is to be interpreted by the UAC or UAS.
The Content-Encoding header indicates what additional content codings have been applied to the entity-body.
The Content-Language header RFC 2616 section 14.12 describes the natural language(s) of the intended audience for the enclosed entity.
The Content-Type header indicates the media type of the message-body sent to the recipient.
MIME-Version header indicates what version of the MIME protocol was used to construct the message.
The Warning response-header field is used to carry additional information about the status of a response.
The RAck header indicates the sequence number of the provisional response which is being acknowledged.
The RSeq header identifies provisional responses within a transaction.
The Reason header is used to indicate why a SIP request was issued or why a provisional response was sent.
The Refer-To header provides a URI to reference.
The Referred-By header conveys the identity of the original referrer to the referred-to party.
The Replaces header indicates that a single dialog identified by the header field is to be shut down and logically replaced by the incoming INVITE in which it is contained.
SIP header field Refer-Sub is meaningful and MAY be used with a REFER request and the corresponding 2XX response only.
The Authorization header consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.
The Proxy-Authenticate header consists of a challenge that indicates the authentication scheme and parameters applicable to the proxy.
The Proxy-Authorization header consists of credentials containing the authentication information of the user agent for the proxy and/or realm of the resource being requested.
The WWW-Authenticate header consists of at least one challenge that indicates the authentication scheme(s) and parameters applicable to the Request-URI.
The Authentication-Info header contains either a next-nonce used by next request and/or authentication from server used in mutual authentication.
The Proxy-Authentication-Info header contains either a next-nonce used by next request and/or authentication from proxy used in mutual authentication.
The Security-Client header is defined by RFC 3329, "Security Mechanism Agreement for the Session Initiation Protocol (SIP)".
The Security-Server header is defined by RFC 3329, "Security Mechanism Agreement for the Session Initiation Protocol (SIP)".
The Security-Verify header is defined by RFC 3329, "Security Mechanism Agreement for the Session Initiation Protocol (SIP)".
The Privacy header is used by User-Agent to request privacy services from the network.
The Session-Expires header is used to convey the lifetime of the session.
The Min-SE header is used to indicate the minimum value for the session interval.
SIP headers and other SIP message elements.
For each SIP header recognized by the SIP module, there is a header structure containing the parsed value. The header structure name is generated from the header name by lowercasing the name, replacing the non-alphanumeric characters (usually just minus "-") with underscore "_" characters, and then adding prefix
sip_ and suffix
_t. For instance, the contents of header "MIME-Version" is stored in a structure called sip_mime_version_t.