Description
The Original Dialog Identifier (ODI) is a parameter within the Session Initiation Protocol (SIP) signaling framework of the 3GPP IP Multimedia Subsystem (IMS). It is used to uniquely identify the initial SIP dialog that established a communication session (e.g., a voice or video call). When subsequent SIP transactions or dialogs are spawned from this original session—such as during call transfers, session updates, or forking scenarios—they carry the ODI parameter. This allows various IMS network elements, particularly Application Servers (AS) and the Serving-Call Session Control Function (S-CSCF), to correlate all related signaling messages back to the originating session context.
Architecturally, the ODI is inserted into SIP messages by the IMS core network. Typically, when an initial INVITE request creates a dialog, the S-CSCF or an AS involved in service logic may assign and record an ODI. This identifier is then included in specific SIP header fields, such as the P-Asserted-Identity header or a proprietary header, within subsequent related requests. For example, if a call is forked to multiple devices (parallel ringing), each forked leg will contain the ODI of the original INVITE. This enables service logic on an AS to recognize that multiple incoming INVITEs (with the same ODI) correspond to the same original call attempt and apply consistent routing, billing, or feature policies.
How it works involves the S-CSCF's role as the session state anchor. Upon receiving an initial INVITE for a registered user, the S-CSCF executes initial filter criteria (iFC) which may trigger a service on an AS. The AS, if needed for session correlation, can generate an ODI and include it in the SIP response back to the S-CSCF. The S-CSCF then stores this ODI in the session state and ensures it is propagated to all subsequent SIP messages related to this session. When a later request, like a re-INVITE or a REFER (for call transfer), is processed, network nodes check for the presence of the ODI. They use it to retrieve the correct session context, ensuring that features like call forwarding, mid-call services, and lawful interception are applied accurately to the correct end-to-end session, even if the signaling path has branched or been modified.
Purpose & Motivation
The ODI was created to solve the problem of session correlation and service continuity in complex IMS signaling scenarios. In a traditional telephony switch, a call is a single, stateful circuit. In IMS, which is based on SIP, a session can spawn multiple dialogs due to features like call forking (ringing multiple devices simultaneously), call transfer (REFER method), and third-party call control. Without a common identifier, network elements, especially Application Servers hosting value-added services (like voicemail, prepaid charging, or number translation), cannot reliably associate these separate SIP dialogs with the original call. This could lead to incorrect service execution, billing errors, or broken features.
Its introduction in Release 8 was motivated by the increasing complexity of IMS services and the need for robust service orchestration. Prior approaches might have relied on correlating Call-ID or From/To tags, but these are not guaranteed to be preserved or unique across all forked legs or transferred sessions. The ODI provides a stable, network-assigned anchor point. It addresses the limitation of SIP's inherent dialog-oriented model by providing a session-oriented identifier, ensuring that service logic applied at the start of a call (e.g., applying a toll-free routing rule) remains correctly associated throughout the call's lifetime, regardless of how many signaling dialogs are created. This is fundamental for commercial telephony services requiring precise charging and consistent feature behavior.
Key Features
- Uniquely identifies the initial SIP dialog that established a communication session.
- Enables correlation of multiple forked SIP dialogs or transaction legs to a single session.
- Critical for consistent execution of service logic across Application Servers (AS).
- Supports session continuity features like call transfer, diversion, and mid-call services.
- Used by the S-CSCF to maintain and propagate session context.
- Facilitates accurate charging and lawful interception for complex call flows.
Evolution Across Releases
Introduced the Original Dialog Identifier within the IMS Service Control architecture specifications. Defined its role in correlating SIP dialogs for services triggered by initial filter criteria, establishing the mechanism for AS and S-CSCF to assign and use the ODI for session-aware service execution.
Defining Specifications
| Specification | Title |
|---|---|
| TS 23.218 | 3GPP TS 23.218 |