Sun Microsystems, Inc.  Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-72-2131086.1
Update Date:2018-03-01
Keywords:

Solution Type  Problem Resolution Sure

Solution  2131086.1 :   PCRF does not send SLR(Sy) to OCS leading to incorrect execution of the policy  


Related Items
  • Oracle Communications Policy Management
  •  
Related Categories
  • PLA-Support>Sun Systems>CommsGBU>Broadband Network Solutions>SN-SND: Tekelec Policy
  •  




In this Document
Symptoms
Changes
Cause
Solution
 Applies to:
References


Created from <SR 3-12429263293>

Applies to:

Oracle Communications Policy Management - Version POLICY 12.1.0 and later
Information in this document applies to any platform.

Symptoms

 PCRF does not send SLR to OCS leading to incorrect execution of the policy

Changes

 

Cause

 Following is the call flow during which the issue could be exposed.

1. Initial CCR-I comes from PCEF(Policy Control and Enforcement function) to PCRF and PCRF sent SNR(subscriber-notification-Request) to SPR/OCUDR and SLR(spending-Limit_request) to
OCS(Online Charging Server).
2. OCS replied with policy counter details in SLA(spending-Limit_Answer)
3. PCRF sent right PCC rule towards PCEF in CCA message by using policy
counter details received in SLA,
4. PCEF initiated CCR-T and PCRF initiated SNR towards SPR and STR towards OCS
5. PCRF sent CCA-T to PCEF.
6. Now immediately another CCR-I received within few seconds, PCRF sent SNR
to SPR but not sent SLR towards OCS
7. Because of not sending SLR towards OCS, PCRF dont have the information of
policy counter details.
8. If correct policy counter details not available then PCRF evaluates and executes policies incorrectly.

 

The root cause of the issue is -

 

SyManager has implemented a SpaceTimeLimitedMultiKeyedCache named pendingSessions to store PCRFDiameterSySession objects. One of the configurations for this cache is maxCacheAge and default value for it is 6 seconds. This value represents the time for which an entry will be kept in the cache and will be purged after that duration of its existence in the cache.Whenever a Gx CCR-I message is received and enters into the process of creation of Sy Request, before creating the request, an existence of the Sy session is checked in sessionDB and also in pendingSessions cache.If a session is found to exist at any one of these places, the request is
redirected internally and won¿t be sent out. Sy Manager is removing the entry from pendingSessions cache ONLY when there is an error is Sy session creation.Otherwise, an entry is left there to be removed automatically after 6 seconds by SpaceTimeLimitedCache infrastructure. This is helpful for creating a Sy session when such an attempt is made within 6 seconds of the failure of previous attempt.

The bug discovered herein was - Upon sending STR message (following Gx CCR-T), the corresponding Sy session entry was not removed from the cache but only from the sessionDB and hence any subsequent CCR_I's did not triggered the correct policies as it used old stored values for Sy counter.

Solution

This is a Software bug and is fixed in following releases:

11.5.2.2.0

12.1.1.1.0

12.2.0.0.0

 

 

 

  References

Created from <SR 3-12429263293>

Applies to:

Oracle Communications Policy Management - Version POLICY 12.1.0 and later
1-914CU

References

<BUG:22584936> - SLR NOT SENDING TOWARDS OCS - RESULTED TO CALL FAILED

Attachments
This solution has no attachment
  Copyright © 2018 Oracle, Inc.  All rights reserved.
 Feedback