rfc-5373

Requesting Answering Modes for the Session Initiation Protocol (SIP)

D. Willis (Editor), A. Allen
date2008-11 streamIETF arearai wgsip statusPROPOSED STANDARD pages24 canonicalhttps://www.rfc-editor.org/rfc/rfc5373 doi10.17487/RFC5373
This document extends SIP with two header fields and associated option tags that can be used in INVITE requests to convey the requester's preference for user-interface handling related to answering of that request. The first header, "Answer-Mode", expresses a preference as to whether the target node's user interface waits for user input before accepting the request or, instead, accepts the request without waiting on user input. The second header, "Priv-Answer-Mode", is similar to the first, except that it requests administrative-level access and has consequent additional authentication and authorization requirements. These behaviors have applicability to applications such as push-to-talk and to diagnostics like loop-back. Usage of each header field in a response to indicate how the request was handled is also defined. [STANDARDS-TRACK]

Extracted elements (23)

design-rationale §4.4.2 RECOMMENDED

Auto-answer is NOT RECOMMENDED in environments with parallel forking because forking can cause multiple UASs to auto-accept simultaneously, exacerbating the multiple-acceptance problem. The document suggests early media or dynamic conferencing as alternatives.

sip, realtime

design-rationale §1

Priv-Answer-Mode is not an assertion of privilege but a request for privileged treatment, modeled after the UNIX 'sudo' pattern. This design allows the same caller to make both ordinary (Answer-Mode) and urgent/privileged (Priv-Answer-Mode) requests, receiving different handling based on which header is used rather than solely on identity.

sip, realtime, security

design-rationale §1

The specification deliberately excludes 'Alerting Mode' (how the UAS notifies its user of an incoming request) and addresses only 'Answering Mode' (whether user interaction is required before accepting). This distinction was debated in the working group and kept scope narrow to avoid conflating two separate concerns.

sip, realtime

interoperability-note §3

Answer-Mode and Priv-Answer-Mode are defined only for initial (dialog-forming) INVITE requests and 200 OK responses to those requests. Usage in ACK, CANCEL, re-INVITE, or any mid-dialog context is explicitly not defined and such headers in other requests are ignored.

sip, realtime

normative-requirement §4.3.1 SHOULD

A UA supporting Answer-Mode and Priv-Answer-Mode SHOULD indicate support by including the option tag 'answermode' in the Supported header of all requests it sends.

sip, realtime

normative-requirement §4.1 SHOULD

A UAS SHOULD apply a stricter authorization policy to requests with Priv-Answer-Mode than to requests with Answer-Mode. The default policy SHOULD be to refuse Priv-Answer-Mode requests unless the requester is authenticated and specifically authorized.

sip, security, realtime

normative-requirement §4.5.1 MUST NOT

For a request with Answer-Mode: Auto and the 'require' parameter, the UAS MUST NOT allow manual answer; if it chooses not to accept automatically for any reason, it MUST reject the request, SHOULD use 403 Forbidden, and MAY include reason phrase 'automatic answer forbidden'.

sip, realtime

normative-requirement §4.5.1 MUST

For a request with Answer-Mode: Manual and the 'require' parameter, the UAS MUST defer accepting until the user confirms. If the UAS cannot answer manually, it MUST reject the request, SHOULD respond with 403 Forbidden, and MAY include reason phrase 'manual answer forbidden'.

sip, realtime

normative-requirement §2 MUST

Implementations MUST ignore unknown answer-mode-value tokens (forward compatibility hook). The specification defines behavior only for 'Manual' and 'Auto' values.

sip, realtime

normative-requirement §4.4.1 MUST NOT

Proxies MUST NOT insert, delete, or alter Answer-Mode or Priv-Answer-Mode header fields unless explicitly authorized by an external agreement between the proxy operator and the user of the UA being served.

sip, security, realtime

normative-requirement §5.1 SHOULD

UASs supporting this specification SHOULD include appropriately configurable policy mechanisms for deciding whether to include Answer-Mode or Priv-Answer-Mode in responses, and the default configuration SHOULD be to exclude this header from responses (to avoid revealing whether a human is present).

sip, privacy, realtime

normative-requirement §4 MUST NOT

When making an authorization decision for automatic answering, the UAS MUST consider the risk model of the media session and MUST NOT answer without user input where the privacy or security of the user would be compromised.

sip, security, realtime

protocol-element §2

The Answer-Mode header field is used in SIP INVITE requests to request specific user-interface handling. Its values are 'Manual' (defer acceptance until user confirms) or 'Auto' (accept without user input). It may also appear in 200 OK responses to indicate how the UAS handled the request.

sip, realtime

protocol-element §2

The Priv-Answer-Mode header field operates identically to Answer-Mode but requests privileged/administrative-level treatment, subject to stricter authorization policy at the UAS. It is analogous to 'sudo' in UNIX: it requests escalated privilege rather than asserting it.

sip, realtime

protocol-element §4.2

The 'require' modifier on Answer-Mode or Priv-Answer-Mode (e.g., 'Answer-Mode: Auto;require') instructs the UAS to reject the call if it cannot or will not answer in the requested mode, rather than answering in an alternate mode. The modifier is evaluated only after the UAS has selected an answering mode.

sip, realtime

protocol-element §2

The SIP option tag 'answermode' indicates support for the Answer-Mode and Priv-Answer-Mode extensions. A supporting UA SHOULD include this in the Supported header of all requests and MAY advertise it via the extensions parameter in Contact headers of REGISTER requests.

sip, realtime, registry

protocol-element §4.1

When both Answer-Mode and Priv-Answer-Mode are present in a request, the UAS first tests authorization for Priv-Answer-Mode. If authorized, it processes as if only Priv-Answer-Mode was present; otherwise it falls back to processing as if only Answer-Mode was present.

sip, realtime

registry §8

This document registers two new SIP header fields ('Answer-Mode' and 'Priv-Answer-Mode') in the SIP Header Fields registry, two 'require' parameter entries in the SIP Header Field Parameters and Parameter Values registry, and one new SIP option tag ('answermode') in the SIP Option Tags registry.

sip, registry, realtime

security-consideration §7

Potential attacks enabled by automatic answering include turning a phone into a remote listening device ('bug-my-phone'), reverse charge fraud, spam over push-to-talk (SPTT), denial-of-service via battery rundown or 'forced busy', and phishing via session insertion. The security model is completely dependent on transitive trust across SIP proxies since end-to-end message protection is not commonly implemented.

sip, security, realtime

security-consideration §7.4 MUST NOT

The minimal policy requires that UAs MUST NOT establish a session providing outbound or bidirectional media without explicit user acceptance. This prevents the extension from being used to activate a remote microphone ('bug'). Additionally, if a session was auto-answered with inbound-only media, the UAS MUST NOT transition to outbound/bidirectional media without explicit user acceptance.

sip, security, privacy, realtime

security-consideration §7.3 MUST

UAs implementing these extensions MUST be equipped with and MUST exercise a request-identity mechanism (e.g., SIP Digest Authentication, SIP Identity [RFC4474], or asserted identity [RFC3325]). Failure to verify caller identity either opens the door to a wide range of attacks or requires policy so tight as to make the extensions useless.

sip, security, realtime

security-consideration §7.4 SHOULD NOT

UAs SHOULD NOT establish a session providing inbound media without explicit user acceptance where the requesting user is unknown or unauthorized. This is intended to prevent unsolicited media playout ('SPAM broadcast' / 'whoopee-cushion') attacks.

sip, security, realtime

wire-format §2

The ABNF syntax defines Answer-Mode and Priv-Answer-Mode as header-name HCOLON answer-mode-value *(SEMI answer-mode-param), where answer-mode-value is 'Manual' / 'Auto' / token and answer-mode-param is 'require' / generic-param. Header field names and values are compared case-insensitively.

sip, realtime