Binding-Capable Sessions

A binding is a relationship stored in the Binding SBR between various subscriber data session identities, such as MSIDN/IP Address(es)/IMSI and the assigned PCRF. A session is a relationship stored in the Session SBR that associate additional sessions with a binding.

Policy DRA allows distribution of Gx, Gxx, and S9 Policy binding-capable sessions and distribution of Gx-Prime and Rx Policy binding-dependent sessions across available PCRFs.

Binding-capable Session Initiation Request Processing Rules and Requirements

Rules apply to the selection of a suggested PCRF Pool or Sub-Pool upon receipt of a binding-capable session initiation request. The request might be routed to an existing binding; only new bindings are guaranteed to route to the suggested PCRF Pool or Sub-Pool.
  • Upon receipt of a binding-capable session initiation request containing no Called-Station-Id AVP (for example, no APN), Policy DRA generates and sends a binding-capable session initiation answer message using the Result Code configured for the Diameter interface for the Missing Or Unconfigured APN condition in the Error Codes GUI. The answer message shall include an Error-Message AVP with the 3-digit error code suffix of 500.
  • Upon receipt of a binding-capable session initiation request containing no Called-Station-Id AVP (for example, no APN), Policy DRA asserts alarm-ID 22730 and increments measurement RxBindCapMissingApn by one.
  • Upon receipt of a binding-capable session initiation request containing a Called-Station-Id AVP (for example, APN) that is not configured on the Access Point Names screen, Policy DRA generates and sends a binding-capable session initiation answer message using the Result Code configured for the Diameter interface for the Missing Or Unconfigured APN condition on the Error Codes screen. The answer message includes an Error-Message AVP with the 3-digit error code suffix of 501.
  • Upon receipt of a binding-capable session initiation request containing a Called-Station-Id AVP (for example, APN) that is not configured on the Access Point Names screen, Policy DRA asserts Alarm-ID 22730 and increments measurement RxBindCapUnknownApn by one.
  • Upon receipt of a binding-capable session initiation request containing a Called-Station-Id AVP (for example, APN) that is configured on the Access Point Names screen, the Policy DRA application performs PCRF Pool selection. Measurement RxBindCapApn2PcrfPool is incremented by one for the APN.
  • If no PCRF Sub-Pool Selection rule matches, the suggested PCRF Pool is the PCRF Pool configured for the APN on the Access Point Names screen.
  • If no PCRF Sub-Pool Selection Rule exists for the PCRF Pool that was assigned to the APN from the bindng-capable session initiation request, no match exists in the PCRF Sub-Pool Selection Rules.
  • If no PCRF Sub-Pool Selection Rule exists where the PCRF Pool that was assigned to the APN from the binding-capable session initiation request matches and with an operator and value that match the Origin-Host of the binding-capable session initiation request, no match exists in the PCRF Sub-Pool Selection Rules.
  • A PCRF Sub-Pool Selection Rule using the Equals operator is considered as a match if all conditions are true:
    • The PCRF Pool assigned to the APN from the binding-capable session initiation request matches.
    • All characters of the Origin-Host from the binding-capable session initiation request match the Value specified in the rule, ignoring case (for example, a.b.c is equivalent to A.B.C).
  • A PCRF Sub-Pool Selection Rule using the Starts With operator is considered as a match if all conditions are true:
    • The PCRF Pool assigned to the APN from the binding-capable session initiation request matches.
    • All characters of the Value specified in the rule match the leading characters in the Origin-Host from the binding-capable session initiation request, ignoring case (for example, Fred is equivalent to FRED).
  • A PCRF Sub-Pool Selection Rule using the Ends With operator is considered as a match if all conditions are true:
    • The PCRF Pool assigned to the APN from the binding-capable session initiation request matches.
    • All characters of the Value specified in the rule match the trailing characters in the Origin-Host from the binding-capable session initiation request, ignoring case (for example, Fred is equivalent to FRED ).
  • If more than one PCRF Sub-Pool Selection Rule matches and the matching rules have equal priority, the Policy DRA application prefers rules with the Equals operator to rules with the Starts With and Ends With operators.

    Note:

    The GUI prevents ambiguous Starts With and Ends With rules.
  • If more than one PCRF Sub-Pool Selection Rule matches according to requirements, the Policy DRA application selects the match having the highest priority (for example, the lowest numeric priority value).

    Note:

    The GUI prevents creation of ambiguous, conflicting and duplicate rules.
  • If a PCRF Sub-Pool Selection Rule matches according to requirements, Policy DRA application uses the PCRF Sub-Pool from the matching rule as the suggested PCRF Pool. Measurement RxBindCap2PcrfSubPool is incremented by one for the PCRF Sub-Pool Selection Rule that was matched.
  • If a binding-capable session initiation request is received that would result in a new binding and no PCRFs are configured at the site, Policy DRA generates an error response with the 3002 Diameter Response-Code and Error-Message AVP including the string No PCRFs configured at this site.

    Note:

    This requirement does not apply if a binding already exists for the IMSI and APN, or IMSI and PCRF Pool.
  • If a binding-capable session initiation request is received and no PCRFs are configured at the site, Policy DRA generates timed alarm 22730, which indicates that no PCRFs are configured.

    Note:

    The alarm is only generated if the binding-capable session initiation request results in a new binding being created.
The requirements describe handling of binding-capable session initiation requests after a suggested PCRF Pool or Sub-Pool has been successfully selected.
  • Upon receipt of a binding-capable session initiation request for an IMSI that has an existing Final binding, measurement SbrFinalBindingsFollowed is incremented by one and the Policy DRA application attempts to route the request to the PCRF from the selected binding.
  • When checking for an existing binding, the Policy DRA searches in a specific order, using the first binding that matches:
    • A binding for the IMSI and APN (from the ImsiApnAnchorKey table)
    • A binding for the IMSI and suggested PCRF Pool or Sub-Pool (from the ImsiApnAnchorKey table)
  • Upon receipt of a binding-capable session initiation request for an IMSI for which no existing binding is found, the Policy DRA attempts to route the request using the suggested PCRF Pool or Sub-Pool.
  • Upon receipt of a binding-capable session initiation request for an IMSI for which no existing binding is found, a new binding is created using the IMSI, APN, and suggested PCRF Pool or Sub-Pool.
  • If, when creating the new binding, the record for the IMSI already contains 10 session references, the Policy DRA generates a Diameter error response using the response code configured for the SBR Error condition.

    Note:

    The Error-Message AVP contains the reason for the failure.
  • When a binding-capable session initiation request results in a new binding, the binding-capable session initiation request is routed to the Peer Routing Table mapped to the PCRF Pool or Sub-Pool at the site where the request was received. When the PCRF Pool or Sub-Pool is mapped to a configured PRT table, measurement RxBindCapPcrfPool2Prt is incremented by one for the PCRF Pool or Sub-Pool.
  • If the PCRF Pool or Sub-Pool is not mapped to a Peer Routing Table (for example, is mapped to the -Select- entry) at the site processing the request, the request shall be routed according to the routing layer PRT precedence. Measurement RxBindCapPcrfPoolNotMapped is incremented by one.

    Note:

    When the PCA does not specify a PRT table to use, DRL looks for a PRT in the ingress Peer Node configuration; then, if still not specified, in the Diameter Application-Id configuration. This behavior is necessary for backwards compatibility for cases where the pre-PCRF Pooling release had the Site Options PRT table for new bindings set to -Not Selected-.
  • If a new binding is created after PCRF Pooling is Enabled and the GLA feature is activated in the Policy DRA Network, Policy DRA stores the Origin-Host of the Policy Client that originated the binding-capable session initiation request in the binding record for use by GLA.

PCRF Pool Selection

The configuration data are needed to support the PCRF Pools feature:
  • PCRF Pool Definition - Definition of the logical concept of a PCRF pool. This includes configuring the information about PCRF pools:
    PCRF Pool Name
    A string naming the PCRF Pool.
    PCRF Pool Description
    A string describing the PCRF Pool.
    Subpool Indicator
    An indicator that a sub-pool is defined for this PCRF Pool.
    PRT Table ID
    The PRT Table to be used for this PCRF pool.
  • PCRF Sub-Pool Selection Rules - Rules to determine the PCRF sub-pool, if any, to which a new-session CCR-I is routed. This further qualifies the PCRF Pool based on the Origin-Host of the PCEF that originates the CCR-I. Note that absence of sub-pool rules for a PCRF Pool means that there are no sub-pools for the PCRF Pool and all new-session CCR-Is are routed to the PCRF Pool selected using the PCRF Pool Selection rules.
    PCRF Pool
    One of the PCRF Pools in the PCRF Pool Selection Rules. This is used as a key to determine a new PCRF Pool to be used for the subpool.
    Priority
    Rule priority
    FQDN (PCEF Origin-Host FQDN)
    An FQDN value or partial match.
    PCRF Sub-Pool
    One of the configured PCRF Pools.
A default PCRF Pool will be configured into the system upon installation of the PCRF Pool Feature. All configured APNs will be configured to map to the default PCRF Pool.

If there is an existing binding for the IMSI that matches the APN, the existing binding will always be used. This occurs even if there is a more specific rule that was configured after the binding was created. This avoids a split-binding scenario. A split binding exists when more than one PCRF is managing Gx sessions for the same PCEF.

If there are no existing bindings that match the Gx session, Policy DRA uses the PCRF Pool Selection Rules to determine the PCRF Pool to which the CCR-I message is to be routed.

After selecting the PCRF Pool, Policy DRA determines whether there are PCRF sub-pool rules for the selected PCRF Pool. The PCRF Sub-Pool rules consist of the FQDN of the Diameter peer that originated the new-binding CCR-I and a priority. If multiple rules match, the highest priority rule is used. If all of the matching rules have the same priority, the more specific rule takes precedence.

Note:

The PCA GUI ensures no two rules with the same specificity have the same priority.
There is an order of precedence, from most specific to least:
  1. Origin-Host full FQDN value
  2. Origin-Host partial match

If there is a matching PCRF sub-pool rule then the PCRF pool id indicated in the PCRF sub-pool rules is used for routing the CCR-I. If there are no matching PCRF sub-pool rules then the CCR-I is handled based on the PCRF Pool selection rules.

Finding or Creating a Binding

Figure 3-7 shows the logic used for this task.

Figure 3-7 Find or Create a Binding

img/findorcreateabinding.png

Routing to the selected PCRF Pool

If an existing binding is to be used to route a CCR-I, then the PCRF in that binding is used. If a new binding is to be created, after Policy DRA has selected PCRF Pool through a combination of the PCRF Pool Selection Rules and the PCRF Sub-Pool selection rules, then Policy DRA must select the PCRF peer that will own the binding.

The PRT Table ID mapped to the PCRF Pool points to the PRT table to be used for routing the CCR-I message.

All existing PRT functionality, including all valid PRT rules and load balancing capabilities, can be used for routing of the CCR-I to an instance within the PCRF pool.

Binding-capable Session Initiation Answer Processing

If a success response (for example, 2xxx) is received in a binding-capable session initiation answer (for example, CCA-I) certain actions occur:
  • The answer message is relayed to the Policy Client that sent the request.
  • A Session record is created with information related to the Diameter session.
  • Alternate key binding records are created for the intersection of alternate keys configured in Policy and Charging, and then Configuration, and then Policy DRA, and then Binding Key Priority and alternate keys present in the binding-capable session initiation request.
  • If the binding-capable session initiation request created a new binding, the early binding record is updated with the PCRF identified in the Origin-Host of the answer message and marked as a final binding.
If a failure response (for example, non 2xxx) is received in a binding-capable session initiation answer (if example, CCA-I) certain actions occur:
  • The answer message is relayed to the Policy Client that sent the request.
  • No session or alternate key records are created.
  • If the binding-capable session initiation request created a new binding, the early binding record is removed.

Related Topic

The P-DRA Database