top button
Flag Notify
    Connect to us
      Facebook Login
      Site Registration Why to Join

Facebook Login
Site Registration

Information on the PCRF, mainly the Sp, Rx and Gx interface.

+3 votes

Looking for the information related to PCRF.

Another specific question. When the PCRF decides on a QOS and sends across to P-GW. P-GW might not have got any info related to Dedicated bearer to be established earlier. So how does it map this newly sent QOS for the new dedicated bearer to the one it requested by P-CSCF.

I am trying to understand, how to map the QOS info sent by PCRF to the "dedicated bearer request by the P-CSCF. Can PCRF on sending the QOS, also create the new dedicated bearer id, which is sent back to P-CSCF ?

Any info regarding with is very helpful.

posted Nov 15, 2014 by Pdk

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

+1 vote
Best answer


Bearer binding in EPC is done by PDN-GW. When AAR is sent by P-CSCF to PCRF, based on the Media-Component PCRF sends RAR message to PDN-GW(after evaluating policies for service or subscriber).

PDN-GW then does the bearer binding based on the QCI and ARP values. If there is an existing bearer which has the same QCI & ARP values then the rule is applied to the same bearer otherwise a new bearer is created.

In case of EPC LTE bearer id not sent by PCRF when the resource allocation is done by it, it is called network initiated resource allocation.

It is the duty of PDN-GW to do the traffic shaping and QoS management of the packet filters.

Hope that helps.

P.S. You can read about more about in 29.212 and 29.214 3gpp specs

Peeyush Sharma

answer Nov 16, 2014 by Peeyush Sharma

Thanks a lot for the reply and information.

I am moving from UE side(3g) to n/w side, so sorry for the naive questions, trying to understand the basics.

In one of the implementations, I saw when the SIP initiates the Voice call, it calls the P-GW code, with the some QOS parameters. P-GW blindly creates the Dedicated bearer for that QOS, and also holds the instance of SIP to know that it is initiated by this instance.

Now we have to replace this architecture with the Gx interface and Rx interface.

If we replace this with Gx/Rx interface: While the SIP trying to initiate the voice call, it may ask PCRF to get the QOS and TFT. And when the SIP on getting the reply back, and tries to ask P-GW to initiate the call.
So P-GW stored the SIP instance to map this call to the bearer. I donot see why this is done. It may be because the SIP stops the call and may need to indicate to P-GW to terminate that bearer.

As per my understandin when UE 1 tries to call UE 2 P-CSCF send AAR message to PCRF either on 100 Trying if early media is enabled or on 200 Ok and that is when the dedicated bearers will be created. PCRF will send RAR to do so and PDN-GW will either bind that rule to existing bearer or create a new bearer.
Once the bearer has been established and SDP negotiation has happend in the SIP part, the traffic will start to flow. PDN-GW will wrap in the UDP packet and send it across to SGW via the dedicated bearer tunnel created.
When the use has to terminate the call at then P-CSCF will send STR and PCRF will send RAR to remove the rules installed for that call.

Peeyush Sharma
Thanks a lot again.
Yes, not sure why the SIP instance is stored in P-GW code !
As per what I can make out, if P-CSCF asks lets say for voice related QOS, it should send this request to PCRF with the CC-Request message. And PCRF defines new PCC Rule and send it PCEF, in the CCA message.
Now P-GW decides whether to create a new dedicated bearer or use the existing one (depending on QOS and ARP as per what you indicated in  earlier response.)
Lets say a another VOIP call is already ongoing with same QCI and ARP, so it doesnot add a new bearer.
P-GW, just needs to add another table, saying that whatever packets come from this src (2nd voip call), needs to go throguh same bearer. I think (may be somebody can comment), both VOIP 1 call and VOIP 2 call packets with different source IP addresses go through the same dedicated bearer. But it is for the UE to using the UL TFT to send it to appropriate application.
Now, after the call is ended, lets say detected by P-GW,  sends the CCR to PCRF. PCRF identifies the AF involved. So PCRF needs to have a table of active sessions and IP addresses of AF. So it sends the STR to the AF.

So my doubt, is what is the database at the PCRF looks like. What informations it needs to hold ? These are the initial design questions ? May be initially it is better to have a PCRF implemented with ordinary functions calls (which replicate the diameter messages). Later may be replace these messages with the proper diameter calls ?

Thanks a lot , Any inputs design thoughts, corrections to my ideas.understandings are much appreciated
One thing i would like to correct is that P-CSCF will send AAR message to PCRF not CCR.

When the call will be terminated P-CSCF will send STR as there will be exchange of BYE message. PCEF will not send CCR to remove the bearer in this case.

PCRF is connected to SPR which store information of the customer for authorization like quota as a whole or quota based on the service etc.

Yes for multiple VOIP calls a same bearer can be used if QCI and ARP are matching.
Yes PCRF as well as PGW both will have to maintain context.
There can be multiple Rx context for one Gx session

Please brief about your doubts in points, it will easier for me to get back according.

Yes you are correct. Actually i meant the PCEF,not P-CSCF. I was referring to section 4.1 of 29.213.
What I am struggling while trying to redesign the code, to get the basic params right initially . I donot find any of these in any documents.
Moreover, the current code, there is no separate PCRF, the SIP directly gets the QOS and sends across to PGW.

I am struggling to get the basic params and context, right in the PCRF. There is no document which gives this.

Just thinking aloud
I think it needs to store the IP address of the P-CSCF(lets say there is only one APP), when P-CSCF requests for the session to be established. P-CSCF might also give the IP address and the IMSI of the mobile it want to talk to. It also might send the QOS, needed for the application.
PCRF stores this info. It gets the QOS this IMSI is subscribed to from the SPR.
Derives the final QOS and TFT, and sends across to PCEF. and forgets abt it.
It is upto P-GW and applicaion to talk to each other.

thanks for the inputs earlier, much appreciated.
In order to do mapping between Gx and Rx Framed-Ip-Address (IP address of UE) is used. Other possiblities of the same could be combination of Framed-IP-Address, Subscriber-Info and APN.

PDN-GW get the P-CSCF address in PCO IE in Create Session Response.(Need to check once though).

Yes P-CSCF send QoS parameters through Media-Sub-Component AVP inside Media-Component AVP in AAR message. It is upto PCRF then to authorize that QoS.

QoS from SPR is basically fetched for different kind of services.

I am not a developer however I believe PCRF stores the info about the rules it install otherwise how would it be able to remove those rules from PGW.

Peeyush Sharma
Btw Thanks a lot for all the replies and clarifications.. Helped a lot. Sorry for the delay..
Any idea abt minimum amount of subscriber info needs to be in SPR (or HLR) ?

By the query minimum amount of subscirber info you mean per subscriber or the number of subscribers
Sorry for the confusion. I meant per subscriber , what all information needs to be stored ?
Gimme some time i'll try to get back by tomorrow..

Meanwhile what i remember is like
Billing Cycle date could be there
Threshold Quota
Service based Quota
Services that are supported for the subscriber are few things that could be there
Thankyou for the quick replies ..take your pbm at all,
Hi   Nice explanation.  For volte call how pcrf linked to P Gw . Wht is the key element to map .
Similar Questions
+2 votes

I am trying to handle all the error scenarios seen while testing the Gx with the third party. As of now I had coded for just the successful scenarios.

I am looking for some of inputs on these error scenarios and how to proceed and exit gracefully (rather than crashing the code)

  • Dynamic rule config with wrong parameters., PGW sends CCR with the CCR type=TERMINATION_REQUEST. How can PCRF respond (just log error and comeout ?)

  • Static rule config with the "wrong rule name". When the PCRF sends CCA-I with the wrong rule name, PGW sends CCR-U with the Charging Rule Report with the "Rule-Failure-Code" as "Unknown Rule Name". In this case remove those rules and continue OR just comeout with just logging error)

+4 votes


I have been able to write a standalone basic PCRF code in our software.

I had also written them using the Gx and RX interfaces (i.e using the diameter protocol). There was no time to test this feature.

Now I find flaws in my design regarding the Diameter while testing.

Initially the SIP (i.e ike IMS) was sending the request to PGW to create the voice bearer. Now my initial implemetation of Rx i thought the TFT was calculated in the SIP and sent across in the RX, but now when revisiting the code, i feel, that there was no such parameter to pass this info to the PCRF from SIP.

Now my doubt is, how this info related to TFT is being passed across to PCRF. Is it through the "Flows".
If so how to get the TFT in the PCRF to send back to PGW...I have missed this part of the design as i was looking more into the QOS..

Any help is greatly appreciated.


+2 votes

Looking at interoperability issues.
The CCRequest message sent from PGW to PCRF during attach. Does the CCA sent back from PCRF to PGW needs to have TFT info?

+1 vote

Hi all,

We have complexity linked to Gy and Gx interfaces.

Let's say that we have two rules configured as static on PGW with :

Rule1= Reports RatingGroup1
Rule2= Reports RatingGroup2

When PCRF install Rule 1 on Gx, the ratingGroup reported by PGW to OCS is RatingGroup1
When PCRF uninstal Rule1 then install Rule2, the ratingGroup reported by PGW remain RatingGroup1 till a Gy trigger is reached (revalidation time, GSU consumption...).
Then the problem on our system is that when PCRF change the rules on Gx interface the PGW keep reporting the old rating group on Gy interface ie: Gx change do not lead to a Gy change similtanously. I m wondering if there is a standard behaviour for such a use case?

Thanks a lot

Contact Us
+91 9880187415
#280, 3rd floor, 5th Main
6th Sector, HSR Layout
Karnataka INDIA.