Description
Resource List Meta-Information (RLMI) is an XML document defined in the IMS (IP Multimedia Subsystem) Presence service specifications, primarily within RFC 4662 and adopted by 3GPP. It is not a protocol but a data format carried within the body of SIP (Session Initiation Protocol) NOTIFY requests. Its primary role is to convey metadata about a resource list, which is essentially a subscription to the presence information of multiple users (a 'buddy list'). When a watcher (e.g., a user's client) subscribes to a resource list URI (managed by a Resource List Server - RLS), the RLS uses RLMI in its notifications to provide a summary of the entire list's state.
The RLMI document contains several key elements. The 'list' element has attributes like 'uri' (the URI of the resource list) and 'version' (a sequential version number for the list). Crucially, it contains a 'fullState' attribute which, when set to 'true', indicates that the notification contains information about every member of the list. This is used for initial notifications or after a list synchronization. Within the list element are one or more 'resource' elements, each representing a member of the list.
Each 'resource' element in the RLMI contains the URI of the member and a 'state' attribute indicating the subscription status between the RLS and that member's presence agent (e.g., 'active', 'pending', 'terminated'). Most importantly, each resource element can contain an embedded presence document (in PIDF format) for that member if there has been a state change, or it may be empty if the member's state is unchanged. This structure allows a single NOTIFY containing RLMI to provide a complete, incremental update for a large buddy list, indicating which members have changed and providing their new presence information, while implicitly indicating no change for others.
The use of RLMI enables scalability and network efficiency. Without RLMI, an RLS would need to send individual NOTIFY messages for each member of a list upon any change, or send a large aggregated document without clear metadata. RLMI provides a standardized, machine-readable index that allows the watcher's client to efficiently parse the notification, update its internal list version, and process only the changed member data. It is a foundational piece for the IMS Presence service's list management capabilities.
Purpose & Motivation
RLMI was created to solve the problem of efficiently notifying watchers about changes to a subscribed list of presence resources (a 'buddy list'). In early presence systems, managing lists often required multiple individual subscriptions or inefficient bulk data transfers. The primary motivation was to enable the Resource List Server (RLS) functionality defined in SIP for event notification, allowing a user to subscribe to a single list URI instead of subscribing to each contact individually.
The key problems RLMI addresses are network signaling load and client processing complexity. Without RLMI, if one member in a 100-contact list updated their presence, the RLS might need to send 100 individual notifications or a monolithic block of data forcing the client to parse everything. RLMI provides a structured summary. It tells the client the overall list version and, through the 'fullState' flag and per-resource state, exactly which list members have changed. This allows the RLS to send a single, compact NOTIFY that contains full presence data only for changed members, drastically reducing bandwidth and processing requirements. It was a critical enabler for scalable, carrier-grade presence services in IMS.
Key Features
- XML document format carried in SIP NOTIFY bodies for presence list subscriptions.
- Provides a 'version' attribute for the entire resource list, enabling synchronization.
- Includes a 'fullState' boolean attribute to distinguish partial from complete list updates.
- Contains a list of 'resource' elements, each with a member URI and subscription state.
- Allows embedding of actual presence information (PIDF) for changed members within each resource element.
- Enables efficient, incremental notifications for large presence lists, reducing network and client load.
Evolution Across Releases
Defining Specifications
| Specification | Title |
|---|---|
| TS 24.141 | 3GPP TS 24.141 |
| TS 24.841 | 3GPP TS 24.841 |