Session
The Session table is keyed by a Diameter Session-Id, a long string that is defined by Diameter to be globally and eternally unique. In addition, the Session table stores the values of any Alternate Keys defined by binding-capable sessions. The relationship between Diameter sessions and Alternate Keys must be maintained so that the Alternate Keys can be removed when sessions defining those Alternate Keys are terminated.
The PCRF identifier to which a session is bound is stored in the Session record. This may be used to route in-session messages if topology hiding is enabled. In-session messages are not guaranteed to contain the same keys as session initiating messages.
Each Session record has a corresponding SessionRef record. The SessionRef provides a more compact means of uniquely identifying a Diameter Session-Id. This allows for a more compact Binding database. Session and SessionRef records are created and destroyed in unison.
The metadata captured by IDIH for the PCA includes the results of each query that Policy DRA makes to the session database and the associated result. Whenever the result of a database query is captured in PXA metadata, it will include the identity of the specific server that generated the response.
Session Reference
SessionRef records are used to tie Binding records to Diameter sessions. This allows P-DRA to know when a Binding record should be removed. IMSI and MSISDN records are removed when the last binding-capable session that referenced them is removed. IP Address records are removed when the only binding-capable session that referenced them is removed.
Because each Binding record must be associated with at least one valid Session record, a Binding record can be removed if it is not associated with any existing SessionRef. Removal of orphaned Binding records is one of the jobs of the P-DRA database audit. See PCA Data Auditing for more information about the database audit.