3.1.2.1 Abstract Data Model
This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This protocol does not mandate that implementations adhere to this model, as long as their external behavior is consistent with that described in this protocol.
The registrar SHOULD keep the following states for each UAC:
SIP Endpoint identifier: An identifier for a UAC. It MAY be a structure with the combination of an EPID, as described in [MS-SIPRE] section 3.2, a SIP.INSTANCE, as described in [MS-SIPRE] section 3.2, and a GRUU, as described in [MS-SIPRE] section 3.4.
Routable: A Boolean flag that is set to "true" whenever a valid registration is associated with the UAC, and is set to "false" whenever the registration associated with the UAC ceases to exist.
Presence-Service-Available:<154> A Boolean flag that is set to "true" when the presence service associated with the user is available, and is set to "false" whenever the presence service associated with the user is unavailable.
Primary-Cluster-Type:<155> An identifier for the user associated with the UAC that is set to "central" if the user’s home server is located in a central site, and is set to "remote" if the user’s home server is located in a remote site.
Is-Connected-to-Primary:<156> A Boolean flag that is set to "true" when the server accepting the registration is the user’s home server, and is set to "false" when the server accepting the registration is not the user’s home server.
Supports survivable mode:<157> A Boolean flag that is set to "true" when the UAC indicates support for registration without the availability of the presence component, as defined in section 2.2.1.5, and is set to "false" when the UAC does not support registration without the availability of the presence component.