2.2.1 Ms-Keep-Alive Header Field Syntax
This protocol extends the definition of message-header in [RFC3261] section 25 as follows. The Ms-Keep-Alive header field is the only field added to the list, along with the details for this field at the bottom.
-
message-header = (Accept
-
/ Accept-Encoding / Accept-Language / Alert-Info / Allow / Authentication-Info / Authorization / Call-ID / Call-Info / Contact / Content-Disposition / Content-Encoding / Content-Language / Content-Length / Content-Type / CSeq / Date / Error-Info / Expires / From / In-Reply-To / Max-Forwards / MIME-Version / Min-Expires / Ms-Keep-Alive / Organization / Priority / Proxy-Authenticate / Proxy-Authorization / Proxy-Require / Record-Route / Reply-To / Require / Retry-After / Route / Server / Subject / Supported / Timestamp / To / Unsupported / User-Agent / Via / Warning / WWW-Authenticate / extension-header) CRLF Ms-Keep-Alive = "ms-keep-alive" HCOLON ms-keep-alive-value ms-keep-alive-value = ms-keep-alive-role *(SEMI ms-keep-alive-capability) [ SEMI ms-keep-alive-timeout ] *(SEMI generic-param) ms-keep-alive-role = "UAC" / "UAS" ms-keep-alive-capability = ms-keep-alive-mechanism EQUAL BOOLEAN BOOLEAN = "yes" / "no" ms-keep-alive-mechanism = "hop-hop" / "end-end" / "tcp" / token ms-keep-alive-timeout = "timeout" EQUAL 1*DIGIT
The Ms-Keep-Alive header field SHOULD be present in a SIP request and in the corresponding SIP response for negotiating the keep-alive mechanism that is to be used on the TCP connection on which the SIP request is sent. The Ms-Keep-Alive header field MUST NOT appear more than once in a SIP request or SIP response.
The Ms-Keep-Alive header field MUST contain the ms-keep-alive-role parameter. This parameter identifies the role of the sender in the keep-alive negotiation. The value MUST be one of the following:
"UAC": The sender is the initiator of the keep-alive negotiation.
"UAS": The sender is the responder to the keep-alive negotiation.
ms-keep-alive-capability: Specifies the keep-alive capability of the involved party. This value has two parts.
ms-keep-alive-mechanism: Specifies the keep-alive mechanism. The value of ms-keep-alive-mechanism MUST be one of the following:
"hop-hop": The hop-by-hop keep-alive mechanism is specified in section 3.4.
"end-end": Reserved for future use.
"tcp": Reserved for future use.
Any token value as specified in [RFC3261] section 25: Reserved for future use.
BOOLEAN: Indicates whether the specified keep-alive mechanism is supported by the sending party. This value MUST be either "yes" or "no". If any mechanism other than "hop-hop" is present, the value of BOOLEAN MUST be "no".
The Ms-Keep-Alive header field MUST have an ms-keep-alive-timeout parameter if the UAS accepts the keepalive message sent for keep-alive negotiation. The parameter value MUST be an unsigned integer that indicates the time, in seconds, that the connection will be kept alive.
generic-param: Reserved for future use.