rfc-4411

Extending the Session Initiation Protocol (SIP) Reason Header for Preemption Events

J. Polk
date2006-02 streamIETF arearai wgsipping statusPROPOSED STANDARD pages22 canonicalhttps://www.rfc-editor.org/rfc/rfc4411 doi10.17487/RFC4411
This document proposes an IANA Registration extension to the Session Initiation Protocol (SIP) Reason Header to be included in a BYE Method Request as a result of a session preemption event, either at a user agent (UA), or somewhere in the network involving a reservation-based protocol such as the Resource ReSerVation Protocol (RSVP) or Next Steps in Signaling (NSIS). This document does not attempt to address routers failing in the packet path; instead, it addresses a deliberate tear down of a flow between UAs, and informs the terminated UA(s) with an indication of what occurred. [STANDARDS-TRACK]

Extracted elements (20)

design-rationale §7

A new IANA Reason-Text registry (Section 7.2) was created because no existing registry accommodated human-readable default text strings for Reason header protocol namespaces other than SIP response codes or Q.850 cause codes.

sip, registry, realtime

design-rationale §2

Existing SIP response codes (410, 480, 486, 503) are inappropriate for preemption signaling because the session is already established when the BYE is issued. Q.850 cause=8 exists for preemption but lacks IP-specific semantics, and Q.850 cause=9 ('circuit reserved for reuse') has no IP equivalent.

sip, realtime

design-rationale §3

Separate cause codes for Access Preemption (UA-level, cause=1) versus Network Preemption (router-level, cause=2) are required because certain domains must distinguish the topological origin of preemption for traffic analysis, NM applications, and user notification.

sip, realtime

design-rationale §5.3

The Generic Preemption cause=3 exists as a policy tool for domains that want end users to remain unaware of whether preemption was access- or network-originated, while still propagating a known preemption indication through the SIP infrastructure.

sip, realtime

interoperability-note §4

A SIP Gateway bridging TDM and IP infrastructure must translate a non-IP preemption signal from the TDM side into a SIP BYE with Reason: preemption ;cause=4, propagating the event to the IP-side UA and any intermediate stateful SIP proxies.

sip, realtime

interoperability-note §3

RSVP ResvErr messages travel only downstream toward receivers and do not reach the upstream UA; therefore, the UA receiving the ResvErr is responsible for generating the SIP BYE with cause=2 to synchronize the upstream UA and all stateful SIP proxies.

sip, realtime, qos

interoperability-note §1

SIP itself does not initiate or terminate RSVP or NSIS reservation signaling; that is handled by a separate API within each UA, so both the reservation-layer error and a SIP BYE carrying the Preemption Reason header are needed to fully synchronize all SIP elements.

sip, realtime, qos

normative-requirement §7.1 MUST

Additional definitions of the Preemption namespace and new cause codes MUST be defined in Standards Track documents.

sip, registry, realtime

normative-requirement §5.3 SHOULD

If the Generic Preemption cause=3 is implemented, it SHOULD only be applied at the final SIP Proxy on the last hop to the preempted UA, replacing the specific cause value with the generalized code.

sip, realtime

normative-requirement §6 RECOMMENDED

Integrity protection is RECOMMENDED for the Preemption Reason header to prevent unwanted modification and snooping; the accepted SIP mechanisms are TLS and S/MIME.

sip, security, realtime

normative-requirement §5.3 MUST NOT

The Generic Preemption cause=3 MUST NOT be used as the initial preemption indication within a domain, because doing so also generalizes traffic analysis and network management information that depends on the specific cause code.

sip, realtime

normative-requirement §2.1 MUST

When a UA must preempt an active session to accept a higher-priority call, it MUST send a BYE to the active session; if the UA is the mixer of an ad hoc conference, it MUST send BYE to all participants of that conference.

sip, realtime

protocol-element §5.1

Access Preemption Event (cause=1): a UA that receives a higher-priority R-P session request and must tear down an existing session sends BYE with Reason: preemption ;cause=1 ;text="UA Preemption" to the preempted UA and all relevant SIP elements.

sip, realtime

protocol-element §5

Defines a new 'Preemption' protocol value for the SIP Reason header, carrying a cause parameter with four values: 1 (UA Preemption), 2 (Reserved Resources Preempted), 3 (Generic Preemption), and 4 (Non-IP Preemption). Syntax example: Reason: preemption ;cause=1 ;text="UA Preemption".

sip, realtime

protocol-element §5.3

Generic Preemption (cause=3): a generalized indication used by a final SIP Proxy to replace a specific preemption cause code before delivery to the preempted UA, for domains that do not wish to expose which type of preemption occurred.

sip, realtime

protocol-element §5.2

Network Preemption Event (cause=2): upon receipt of an RSVP ResvErr or NSIS NOTIFY (error 0x04000005) indicating router-level preemption, the receiving UA generates a BYE with Reason: preemption ;cause=2 ;text="Reserved Resources Preempted" toward the far-end UA and all stateful SIP proxies.

sip, realtime, qos

protocol-element §5.4

Non-IP Preemption (cause=4): used by a SIP Gateway to translate a preemption signal from a TDM or other non-IP portion of the call into a SIP BYE with Reason: preemption ;cause=4 ;text="Non-IP Preemption".

sip, realtime

registry §7.2

Creates a new IANA Default Reason-Text Registry for SIP Reason Header protocol namespaces beyond SIP response codes and Q.850, seeded with four Preemption entries: Cause=1 'UA Preemption', Cause=2 'Reserved Resources Preempted', Cause=3 'Generic Preemption', Cause=4 'Non-IP Preemption'.

sip, registry, realtime

registry §7

Extends the existing IANA SIP Reason Header registry by adding the 'Preemption' protocol value, with cause values defined in decimal and referenced to RFC 4411.

sip, registry, realtime

security-consideration §6

Eavesdropping on the Preemption Reason header does not prevent SIP from functioning, but domains relying on preemption signals for session management will want integrity assurance to prevent header tampering; TLS and S/MIME are the recommended protections.

sip, security, realtime