Configuration Guide for Access and Charging Control (Gx)
Ericsson Service-Aware Policy Controller

Contents

1Configure Access and Charging Overview
1.1Other Conventions

2

Configuration Prerequisites

3

Configure Gx Diameter Network Data
3.1Configure Gx PCEFs
3.1.1Support for Interoperability with PCEFs Handling Gx Rel9 Versions 9.1.0 or 9.0.0
3.2Configure PCEFs for Interworking with Clustered Diameter Systems
3.3Configure Multiple Gx Scenario

4

Configure Event Triggers Selection
4.1Provision Unconditionally Event Triggers Selection
4.2Provision Event Trigger Selection Policies
4.3Combining Static Qualification and Policies for Event Triggers

5

Provision Services
5.1Set PCC rules

6

Configure IP-CAN Session Access Control

7

Configure Service Access Control
7.1Provision Policies for Service Authorization
7.1.1Example of Service Authorization - Global Policy for Chat Service
7.1.2Example of Service Authorization - Subscriber Policy for Streaming Service
7.2Configure One Time Redirect
7.3Provision Static Service Policies
7.4Rule Spaces
7.4.1Provision Rule Spaces
7.4.2Policies for Rule Space Negotiation

8

Configure Service Charging Control
8.1Static Services
8.2Preconfigured Services

9

Provision Qualification Data for Subscriptions
9.1Provision Qualification for Subscriber or Subscriber Group Unconditionally
9.2Provision Qualification for Subscriber or Subscriber Group Conditionally (Depending on Policies)

10

Configure Subscriber Charging Control
10.1Provision Charging System Profiles
10.2Provision Subscriber Charging Profiles
10.3Configure Charging Characteristics Information
10.4Provision Unconditional Subscriber Charging Data to Subscriber or Subscriber Groups
10.5Provision Conditional Subscriber Charging Data with Policies

11

Configure Content Filtering Control
11.1Provision Content Filtering for Subscribers or Subscriber Groups
11.2Provision Content Filtering Policies

12

Configure Header Enrichment

13

Configure Presence Reporting Area
13.1Provision Presence Reporting Area
13.2Provision Unconditional Presence Reporting Area to Subscriber or Subscriber Groups
13.3Provision Conditional Presence Reporting Area with Policies
13.4Configure Event Triggers for Presence Reporting Area

14

Configuration Examples for Use Cases
14.1Roaming Conditions
14.2Cell Congestion
14.3PDN Type and UE IP Address Conditions
14.4Presence Area Status Conditions
14.4.1Use Case 1: Campus Zone Mobile Broadband
14.4.2Use Case 2: Home Zone Mobile Broadband
14.5Extended Event-Trigger for Tethering Detection Reporting over Gx

15

Appendix A. Access and Charging Policy Types

16

Appendix B. Policy Tags
16.1Time and Date Tags
16.2Tags Related to Access and Charging

Reference List

1   Configure Access andCharging Overview

Figure 1 shows the main parts related to configuration and provisioning in the SAPC.

Figure 1   Configuration and Provisioning Overview

The purpose of this document is to provide guidelines to configure the SAPC for Access and Charging Control by providing configuration examples.

This document is not intended as an exhaustive guide to configure the SAPC for every possible scenario.

To understand general provisioning concepts and details regarding subscriptions and policies, refer toConfiguration Guide for Subscription and Policies.

The complete parameter list and details of all configured options of the SAPC are included in separate documents, refer to Managed Object Model (MOM) and Provisioning REST API.

Examples in this document cover the case of data configured in the SAPC internal repository. If an external repository is used, refer to Database Access.

Table 1 summarizes the configuration elements in the SAPC related to access and charging control.

Table 1    The SAPC Configuration Elements for Access and Charging

Function

Unconditionally

Dynamically (Policies)

Applicable to Diameter Node Supporting Protocol

IP-CAN Session Access Control

No

Yes


Section 6

Standard 3GPP Gx Rel9 onwards

Service Access Control

Static Services

Yes

No

Standard 3GPP Gx Rel9 onwards

Preconfigured Services

Yes

No

Standard 3GPP Gx Rel9 onwards

Service Authorization

Yes


Section 7

Yes


Section 7.1

Standard 3GPP Gx Rel9 onwards

Rule Spaces

Yes


Section 7.4.1

No

Ericsson Gx+ interface

Rule Space Negotiation

No

Yes


Section 7.4.2

One Time Redirect

Yes

No

Service Charging Control

Static Services

Yes


Section 8.1

Yes


Dynamic Policy Control for Bandwidth Management and Service Charging (Policies for Static Access)


Section 7.3

Standard PCEF

Preconfigured Services

Yes


Section 8.2

Yes


Section 8.2

Standard PCEF

Subscriber Charging Control

Yes


Section 10.4

Yes


Section 10.5

Standard PCEF

Content Filtering Control

Yes


Section 11.1

Yes


Section 11.2

Ericsson Gx+ interface

Header Enrichment

Yes


Section 12

No

Ericsson Gx+ interface

Event Triggers

Yes


Section 5

Yes


Section 5

Standard 3GPP Gx Rel9 onwards

Presence Reporting Area

Yes


Section 13.2

Yes


Section 13.3

Standard 3GPP Gx Rel9 onwards

1.1   Other Conventions

This document refers to some configuration and provisioning data.

To clarify which detailed data is managed by COM or by the REST API, this document uses the following conventions:

2   Configuration Prerequisites

Before configuring the SAPC in an operational network, make sure that:

3   Configure Gx Diameter Network Data

Note:  
The Origin-Host, Origin-Realm, IP address and diameter port values are set during the SAPC installation procedure. Diameter data related to capabilities exchange (application and vendor identifiers) are provided at installation time, so that no manual procedure is needed.

3.1   Configure Gx PCEFs

The controls (for example IP-CAN Session Access Control, Service Access Control) that the SAPC execute when receiving Gx traffic, are configured at PCEF level. To define a PCEF, create a DiameterNode instance using the value sent by the PCEF in the Origin-Host AVP as the diameterNodeId key.

Note:  
The SAPC does not execute any default action for a control that is not configured on the Diameter node. The values in the controls attribute are detailed along SAPC Configuration Guide documents (including this document).

The following example shows a GGSN/PDN-GW configuration supporting IP-CAN Session Access Control, Service Access Control, and Bearer QoS Control:

Example 1   PCEF Configuration

<edit-config>
    <target>
        <running/>
    </target>
    <config>
    <ManagedElement xmlns="urn:com:ericsson:ecim:ComTop">
    <managedElementId>1</managedElementId>
    <dnPrefix>dc=ManagedElement</dnPrefix>
    <networkManagedElementId>1</networkManagedElementId>
    <userLabel>Managed Element</userLabel>
        <PolicyControlFunction xmlns="urn:com:ericsson:ecim:sapcmom">
        <policyControlFunctionId>1</policyControlFunctionId>
            <Network xmlns="urn:com:ericsson:ecim:networkmom">
            <networkId>1</networkId>
                <DiameterNodes>
                <diameterNodesId>1</diameterNodesId>
                    <DiameterNode xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="merge">
                    <diameterNodeId>ggsnHostname.operator.com</diameterNodeId>
                        <controls>IP_CAN_SESSION_ACCESS</controls>
                        <controls>SERVICE_ACCESS_PCEF_TOD</controls>
                        <controls>BEARER_QOS</controls>
                        <dynamicServiceSupport>true</dynamicServiceSupport>
                    </DiameterNode>		
                </DiameterNodes>        
            </Network>
         </PolicyControlFunction>
    </ManagedElement>
    </config>
</edit-config>

 

3.1.1   Support for Interoperability with PCEFs Handling Gx Rel9 Versions 9.1.0 or 9.0.0

To provide support for Gx Rel9 versions 9.1.0 and 9.0.0, the operator can enable the gxRel91OrLowerCompatibility attribute. This attribute is configured at the DiameterNode level of the PCEF configuration.

When this attribute is enabled (set to true):

3.2   Configure PCEFs for Interworking with Clustered Diameter Systems

A clustered system is a logical system (for example, different hardware boards handling the same pool of UE IP addresses) sending Diameter traffic to the SAPC with different Origin-Host, but that from the point of view of the SAPC works as a single entity. This way, the SAPC considers a single peer for the incoming Diameter messages coming from the different Diameter peers (different Origin-Host) belonging to the same logical cluster and avoids considering the PCEFs as Multiple Gx.

In the same way, PCEFs working in redundancy mode (for example, one acting as active, and another one acting in standby), where they send different Origin-Host to handle the same pool of UE IP addresses can be grouped in a logical cluster.

To configure the different Origin-Host as a single logical system in the SAPC, do the following:

  1. Create a single DiameterNode instance: the diameterNodeId attribute value (key), is the logical cluster identity that the SAPC internally considers as the PCEF identifier.
  2. Set the value of the pattern to be matched with all the received Origin-Host in the clusterPattern attribute.

Example 2 shows a configuration of two clustered PCEFs.

On the one hand, the PCEF nodes sending Origin-Host values like PCEF-D-1.operator.com and PCEF-D-2.operator.com respectively, are grouped as pcefCluster from the SAPC point of view, sharing the operator.com ending as the clusterPattern value.

On the other hand, nodes sending Origin-Host values like operator-sasn-1.de.com and operator-sasn-2.de.com respectively, are grouped as sasnCluster, sharing the operator-sasn beginning as clusterPattern establishes.

Example 2   PCEF in Cluster Configuration

<edit-config>
    <target>
        <running/>
    </target>
    <config>
    <ManagedElement xmlns="urn:com:ericsson:ecim:ComTop">
    <managedElementId>1</managedElementId>
        <PolicyControlFunction xmlns="urn:com:ericsson:ecim:sapcmom">
        <policyControlFunctionId>1</policyControlFunctionId>
            <Network xmlns="urn:com:ericsson:ecim:networkmom">
            <networkId>1</networkId>
                <DiameterNodes>
                <diameterNodesId>1</diameterNodesId>
                    <DiameterNode xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="merge">
                    <diameterNodeId>pcefCluster</diameterNodeId>
                        <controls>IP_CAN_SESSION_ACCESS</controls>
                        <controls>SERVICE_ACCESS_PCEF_TOD</controls>
                        <controls>BEARER_QOS</controls>
                        <clusterPattern>operator.com</clusterPattern>
                    </DiameterNode>		
                    <DiameterNode xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="merge">
                    <diameterNodeId>sasnCluster</diameterNodeId>
                        <controls>IP_CAN_SESSION_ACCESS</controls>
                        <controls>SERVICE_ACCESS_PCEF_TOD</controls>
                        <controls>BEARER_QOS</controls>
                        <clusterPattern>operator-sasn*</clusterPattern>
                    </DiameterNode>		
                </DiameterNodes>        
            </Network>
        </PolicyControlFunction>
    </ManagedElement>
    </config>
</edit-config>

 
Note:  
It is not needed to define a DiameterNode instance for each of the Origin-Host AVPs.

If several DiameterNode instances are configured, one with the complete value of the received Origin-Host AVP, and another one as cluster (with the Origin-Host value matching the clusterPattern attribute), the SAPC gives precedence to the cluster. The detailed DiameterNode instance is not used.

Example: the SAPC receives a Diameter message with Origin-Host = node1.myOperator.com, and the following DiameterNodes are configured:

DiameterNode=node1.myOperator.com
  controls = ...
  clusterPattern = ""

DiameterNode=clusterMyOperator
  controls = ...
  clusterPattern = "myOperator.com"

The SAPC uses the configuration of DiameterNode = clusterMyOperator, and ignores the configuration of DiameterNode = node1.myOperator.com.


Warning!

If new PCEFs (sending different Origin-Host values) are added to a configured logical cluster after ongoing traffic, check that their Origin-Host AVP value matches the clusterPattern attribute value of the configured DiameterNode instance for that logical cluster.

Otherwise, the SAPC can answer CCR messages with the UNABLE_TO_COMPLY (5012) or DIAMETER_UNKNOWN_SESSION_ID (5002) errors, which can lead to a service outage.

3.3   Configure Multiple Gx Scenario

An IP-CAN session can be controlled by several PCEFs (different DiameterNode configured in the SAPC). The typical case for that is that each PCEF enforces a different set of controls. It is needed to configure the controls that each PCEF supports. When a Gx request is received, the controls supported by the PCEF are checked against what it is configured in the SAPC corresponding DiameterNode.

Note:  
The support for preconfigured and dynamic services has to be enabled only in one of the PCEFs (the one acting as the traffic gateway). Ensure that the dynamicServiceSupport attribute is set to true in only one DiameterNode. Otherwise, Gx traffic related to preconfigured or dynamic PCC rules can malfunction.

Example 3 shows how some controls are configured for these different PCEFs:

Example 3   Multiple Gx Configuration

<edit-config>
    <target>
        <running/>
    </target>
    <config>
    <ManagedElement xmlns="urn:com:ericsson:ecim:ComTop">
    <managedElementId>1</managedElementId>
        <PolicyControlFunction xmlns="urn:com:ericsson:ecim:sapcmom">
        <policyControlFunctionId>1</policyControlFunctionId>
            <Network xmlns="urn:com:ericsson:ecim:networkmom">
            <networkId>1</networkId>
                <DiameterNodes>
                <diameterNodesId>1</diameterNodesId>
                    <DiameterNode xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="merge">
                    <diameterNodeId>dpiHostname.operator.com</diameterNodeId>
                        <controls>CONTENT_FILTERING</controls>
                        <dynamicServiceSupport>false</dynamicServiceSupport>
                    </DiameterNode>	
                    <DiameterNode xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="merge">
                    <diameterNodeId>ggsnHostname.operator.com</diameterNodeId>
                        <controls>IP_CAN_SESSION_ACCESS</controls>
                        <controls>BEARER_QOS</controls>
                        <controls>SERVICE_ACCESS_PCEF_TOD</controls>
                        <controls>SERVICE_CHARGING</controls>						
                        <controls>SUBSCRIBER_CHARGING</controls>
                        <controls>USAGE_REPORTING</controls>						
                        <dynamicServiceSupport>true</dynamicServiceSupport>
                    </DiameterNode>		
                </DiameterNodes>        
            </Network>
        </PolicyControlFunction>
    </ManagedElement>
    </config>
</edit-config>

 

4   Configure Event Triggers Selection

4.1   Provision Unconditionally Event Triggers Selection

To indicate to the PCEFs which Gx event triggers are at the subscriber level, subscriber group level, or application level for which the SAPC is interested in receiving CCR Updates, set the eventTriggers attribute in the subscribers, dataplans, or global dataplans URI in the provisioning REST API.

Configuring the location change related event triggers (for example RAI change, TAI change, ECGI change, ULI change) at the subscriber or subscriber group level can minimize the network signalling compared to configuring them at the SAPC level.

Example 4 presents the configuration of an event triggers notification at the subscriber level.

Example 4   Configuration of Events Notification at the Subscriber Level

PUT /subscribers/34610601307

{
	"subscriberId" : "34610601307",
	"eventTriggers": [2,7]
}

 

In the example above, the SAPC subscribes to RAT change and IP-CAN change event triggers for subscriber "34610601307".

Example 5 presents the configuration of an event trigger at the subscriber group level. In this example, the SAPC subscribes to SGSN change and IP-CAN change event triggers for the "Gold" subscriber group.

Example 5   Configuration of Events Notification at Dataplan Level

PUT /subscribers/34610601307

{
	"subscriberId" : "34610601307",
	"dataplans" : 
	[
		{
			"dataplanName" : "Gold"
		}
	]
}

PUT /dataplans/Gold

{
	"dataplanName" : "Gold",
	"eventTriggers": [0,7]
}
 

Example 6 presents the configuration of an event notification at SAPC level. In this example, the SAPC subscribes to SGSN change, RAT change, PLMN change, and successful resource allocation event triggers at application level.

Example 6   Configuration of Event Notification at SAPC Level

PUT /dataplans/global
{
        "dataplanName" : "global",
        "eventTriggers" : [0,2,4,22]
}
 

4.2   Provision Event Trigger Selection Policies

To configure event triggers depending on conditions, create the needed policies using:

Example 7 shows a subscriber policy for event triggers selection:

Example 7   Dynamic Event Triggers Configuration

PUT /rules/DynamicEventTriggersSubscriber

{
	"condition" : "(AccessData.bearer.accessType==1000)",
	"outputAttributes" : 
	[
		{
			"attrName" : "event-triggers",
			"attrValue" : "\"13,48\"",
			"result" : "permit"
		}
	],
	"ruleName" : "DynamicEventTriggersSubscriber"
}

PUT /policies/DynamicEventTriggersPolicy

{
	"policyName" : "DynamicEventTriggersPolicy",
	"ruleCombiningAlgorithm" : "all-permit",
	"rules" : [ "DynamicEventTriggersSubscriber" ]
}

PUT /subscribers/34610601307/locators/resources/any/contexts/event-triggers

{
 "policies" : [ "DynamicEventTriggersPolicy"]
}

4.3   Combining Static Qualification and Policies for Event Triggers

The SAPC combines the event triggers from the dynamic selection and from the static selection together. From Example 4, Example 5, Example 6, and Example 7, the SAPC sends the following list of event trigger values:

0, 2, 4, 7, 13, 20, 22, 48

5   Provision Services

The services controlled by the SAPC must be provisioned. To provision services, use the contents URI in the provisioning REST API.

The SAPC supports the following types of services:

The configuration elements related to service provisioning are:

5.1   Set PCC rules

To set a PCC rule for a static or preconfigured service (only a single PCC rule), fill the following attributes in the corresponding contents URI in the provisioning REST API:

  1. Set the pccRuleName (unique identifier) attribute
  2. For static PCC rules

    These PCC rules are identified by a name (Charging-Rule-Name AVP) or basename (Charging-Rule-Basename AVP). Both the name and basename must be the same as provisioned in the PCEF.

    1. When the PCC rule is identified by name, set value 0 in the pccRuleType attribute
    2. When basename is used, set value 1 in the pccRuleType attribute

    For IPv4v6 dual stack IP-CAN sessions, it is necessary to configure some filters in the PCEF to distinguish which PCC rule applies to IPv4 or IPv6.

  3. For preconfigured PCC rules (identified by the Charging-Rule-Name AVP)
    1. Set value 2 in the pccRuleType attribute
    2. To provision the service data flows, use the flows attribute.

      For IPv4v6 dual stack IP-CAN sessions, it is also possible to define a single PCC rule that contains service data flows for both IPv4 and IPv6.

    3. To set the precedence of a PCC rule compared to other PCC rules running on the same IP-CAN session, set the precedence attribute.

      The precedence attribute can have values from 0 to 25-1 meaning the five most significant bits of the priority (lower value means higher precedence). The precedence value is shifted 3 bits and added to the dynamic part.

      See Table 2 for information on AVP precedence values.

Table 2    AVP Precedence

bit 7

bit 6

bit 5

bit 4

bit 3

bit 2

bit 1

bit 0

Configurable for preconfigured PCC rules

Dynamic part

Example 8 provisions different services and PCC rules.

Example 8   Provisioning of Services

PUT /contents/Chat
{
	"contentName" : "Chat",
	"pccRuleName" : "1000",
	"pccRuleType" : 0
}

PUT /contents/Internet
{
	"contentName" : "Internet",
	"pccRuleName" : "2000",
	"pccRuleType" : 1
}

PUT /contents/Skype
{
	"contentName" : "Skype",
	"flows" : 
	[
		{
			"destIpAddr" : "any",
			"destPort" : "",
			"direction" : "dl",
			"flowName" : "1",
			"protocol" : "ip",
			"sourceIpAddr" : "10.220.100.1",
			"sourcePort" : "5001"
		},
		{
			"destIpAddr" : "10.220.100.1",
			"destPort" : "5002",
			"direction" : "ul",
			"flowName" : "2",
			"protocol" : "ip",
			"sourceIpAddr" : "any",
			"sourcePort" : ""
		},
		{
			"destIpAddr" : "any",
			"destPort" : "",
			"direction" : "dl",
			"flowName" : "3",
			"protocol" : "ip",
			"sourceIpAddr" : "2000:1111:2222:4444:5555:ABCD:7777:0002",
			"sourcePort" : "5001-5050"
		},
		{
			"destIpAddr" : "2000:1111:2222:4444:5555:ABCD:7777:0002",
			"destPort" : "5101-5150",
			"direction" : "ul",
			"flowName" : "4",
			"protocol" : "ip",
			"sourceIpAddr" : "any",
			"sourcePort" : ""
		}
	],
	"pccRuleName" : "5001",
	"pccRuleType" : 2
}

PUT /contents/Streaming
{
	"contentName" : "Streaming",
	"flows" : 
	[
		{
			"destIpAddr" : "any",
			"destPort" : "",
			"direction" : "dl",
			"flowName" : "1",
			"protocol" : "ip",
			"sourceIpAddr" : "192.168.1.2",
			"sourcePort" : "5001-5050"
		},
		{
			"destIpAddr" : "any",
			"destPort" : "",
			"direction" : "dl",
			"flowName" : "2",
			"protocol" : "ip",
			"sourceIpAddr" : "192.168.1.2",
			"sourcePort" : "5101-5150"
		}
	],
	"pccRuleName" : "4033",
	"pccRuleType" : 2,
	"staticQualification" : 
	{
		"contentChargingProfileId" : "cp_streaming"
	}
}

 

This example provisions the following services:

6   Configure IP-CAN Session Access Control

To configure IP-CAN session access depending on conditions, do the following:

  1. Configure the controls attribute in the DiameterNode object class containing the IP_CAN_SESSION_ACCESS value.
  2. Create the needed policies using:
    • For Global policy locator:

      /locators/resources/ip-can-session/contexts/access

    • For Subscriber group locator:

      /dataplans/<dataplanName>/locators/resources/ip-can-session/contexts/access

    • For Subscriber locator:

      /subscribers/<subscriberId>/locators/resources/ip-can-session/contexts/access

Note:  
It is not necessary to use outputAttributes.

Example 9 describes the provisioning of a policy to accept or reject operations on an IP-CAN session.

Example 9   Configuration of IP-CAN Session Access Control Policy

PUT /rules/IpCanSessionAccessControl_rule
{
	"condition" : "(AccessData.bearer.ipCanType == 5)",
	"ruleName" : "IpCanSessionAccessControl_rule"
}

PUT /policies/IpCanSessionAccessControl_policy
{
	"policyName" : "IpCanSessionAccessControl_policy",
	"ruleCombiningAlgorithm" : "permit-overrides",
	"rules" : [ "IpCanSessionAccessControl_rule" ]
}

PUT /dataplans/Gold/locators/resources/ip-can-session/contexts/access
{
	"policies" : [ "IpCanSessionAccessControl_policy" ]
}

PUT /dataplans/Gold
{
	"dataplanName" : "Gold"
}

PUT /subscribers/34600000001
{
	"dataplans" : 
	[
		
		{
			"dataplanName" : "Gold",
			"priority" : 1
		}
	],
	"subscriberId" : "34600000001"
}

 

In Example 9, the IP-CAN session is allowed if the IP-CAN type is 5 (3GPP-EPS) for the subscriber group with the "Gold" identifier. Otherwise, the request is rejected.

7   Configure Service Access Control

The services applicable to a subscriber must be known by the SAPC. These services must be provisioned for the subscriber or the subscriber group in the subscribedContents and deniedContents attributes of a subscriber or subscriber group.

If Time of Day (ToD) policies are used for Service Access Control, the PCEF or the PCRF (the SAPC) can be selected as the time controller.

To execute this task in the SAPC, set the controls attribute (DiameterNode object class) to either of the following values:

Set the dynamicServiceSupport attribute (DiameterNode object) to true to enable Gx traffic related to preconfigured or dynamic PCC rules (see Example 1).

7.1   Provision Policies for Service Authorization

To configure Service Authorization depending on conditions, create the needed policies using:

Note:  
It is not necessary to use outputAttributes.

Note:  
Non-authorization codes can be used when the PCEF supports the Ericsson Gx+ interface.

To use non-authorization codes in Gx, the condition must follow the following format:

#((Condition), non-auth_code)

Where Condition is the normal condition, and the non-auth_code is the code that is returned by the SAPC if the condition is not fulfilled.

The prioritization of the non-authorization codes can be achieved using the priority of the rules within a policy. If a non-auth code must be returned before any other, the rule that contains the non-auth code must be provisioned in the first place in the rules array.

Table 3 contains the reason for each of the non-authorization codes.

Table 3    Non-Authorization Codes

Reason

Code

DENIED_BY_CALENDAR

1

DENIED_BY_ROAMING

2

DENIED_BY_QOS

3

DENIED_BY_BLACK_LISTED

4

DENIED_BY_TERMINAL

5

DENIED_OPERATOR_REASON_ONE

6

DENIED_OPERATOR_REASON_TWO

7

DENIED_OPERATOR_REASON_THREE

8

DENIED_OPERATOR_REASON_FOUR

9

DENIED_OPERATOR_REASON_FIVE

10

DENIED_UNKNOWN_REASON

11

DENIED_USAGE_CONTROL

12

7.1.1   Example of Service Authorization - Global Policy for Chat Service

A global policy, which applies to all the subscribers of Chat service is created in Example 10.

Example 10   Configuration of Service Authorization for Chat Service

# Rule
PUT /rules/SAuth_Chat_Roaming
{
	"condition" : "#((AccessData.subscriber.locationInfo.sgsnAddress == \"172.168.3.4\"),2)",
	"ruleName" : "SAuth_Chat_Roaming"
}

PUT /rules/SAuth_Chat_TerminalBased
{
	"condition" : "#((AccessData.userEquipmentInfo.model==9632),5)",
	"ruleName" : "SAuth_Chat_TerminalBased"
}

PUT /policies/SAuth_ChatPolicy_1
{
	"policyName" : "SAuth_ChatPolicy_1",
	"ruleCombiningAlgorithm" : "deny-overrides",
	"rules" : [ "SAuth_Chat_Roaming", "SAuth_Chat_TerminalBased" ]
}

PUT /locators/resources/Chat/contexts/access
{
	"policies" : [ "SAuth_ChatPolicy_1" ]
}

The "Chat" service is authorized if the SGSN Address is "172.168.3.4" and terminal model is "9632". If any of the conditions is not fulfilled, the service is not authorized, and the SAPC sends a non-authorization code in the CCA. The priority of non-authorization code "2" is higher than non-authorization code "5". This is because inside the "SAuth_Chat_Policy_1" policy, the "SAuth_Chat_Roaming" rule is evaluated first, compared to the "Sauth_Chat_TerminalBased" rule.

7.1.2   Example of Service Authorization - Subscriber Policy for Streaming Service

Example 11   Configuration of Service Authorization for Streaming Service

PUT /rules/SAuth_Internet_AccessBased
{
	"condition" : "#((AccessData.bearer.accessType!=1000),6)",
	"ruleName" : "SAuth_Internet_AccessBased"
}

PUT /policies/SAuth_Internet_Policy_1
{
	"policyName" : "SAuth_Internet_Policy_1",
	"ruleCombiningAlgorithm" : "permit-overrides",
	"rules" : [ "SAuth_Internet_AccessBased" ]
}

PUT /subscribers/34600000001/locators/resources/Internet/contexts/access
{
	"policies" : [ "SAuth_Internet_Policy_1" ]
}

PUT /subscribers/34600000001
{
	"subscriberId" : "34600000001"
}

The "Internet" service is authorized for the subscriber if access is performed through UMTS Radio Access. If the condition is not fulfilled, the service is not authorized, and the SAPC includes the non-authorization code 6 (Operator reason 1) in the answer.

7.2   Configure One Time Redirect

This section only applies for authorized static services. To activate or deactivate one time redirect for a service, set the redirect attribute within the subscribedContents attribute in a subscribers or dataplans URI in the provisioning REST API.

7.3   Provision Static Service Policies

Together with the PCEF, the SAPC can assign and change the bandwidth limits and rating group for static services during an IP-CAN session lifetime, depending on flexible conditions for a subscriber or subscriber group.

Some examples of possible use cases are the following:

A static service in the PCEF can be identified by several static service names. Each static service name in the PCEF assigns different characteristics (rating group, service bandwidth, and so on) to the service. The SAPC authorizes the static basename taking into account subscriber information, accumulated use, and roaming (location). The SAPC then selects the right Charging-Rule-Name in terms of bandwidth and rating group, depending on the conditions configured in the policies.

To configure Static Services depending on conditions, create the needed policies using:

Table 4    CR-Basename and CR-Names Relation

Service

PccRuleName

PccRuleType

Condition

Charging-Rule-Name

torrent

70

1 (basename)

Limit not surpassed


Limit surpassed

70001


70002

Table 5    PCEF Local Data Associated with Downloaded CR-Names

CR-Name

Bandwidth

RatingGroup

70001

1 Mbps

flat rate

70002

128 Kbps

not flat rate

In Example 12, for the "OneGroup" subscriber group, the "Torrent" service is authorized when the subscriber is not roaming. Furthermore, depending on the subscriber consumed volume (details about Fair Usage Control are covered in Configuration Guide for Fair Usage), a different bandwidth and rating group are applied, by sending either CR-Name = 70001 or CR-Name = 70002 to the GGSN/PDN-GW.

Example 12   Configuration for Qualifying Static Charging Rules for PDN-GW

# ---------------------------------------------
PUT /rules/rQualify1
{
	"condition" : "not(AccessData.subscriber.accumulatedUsage.reportingGroup[\"total\"].isLimitSurpassed[\"bidirVolume\"])",
	"outputAttributes" : 
	[
		{
			"attrName" : "pcc-rule-id",
			"attrValue" : "70001",
			"result" : "permit"
		}
	],
	"ruleName" : "rQualify1"
}

PUT /rules/rQualify2
{
	"condition" : "AccessData.subscriber.accumulatedUsage.reportingGroup[\"total\"].isLimitSurpassed[\"bidirVolume\"]",
	"outputAttributes" : 
	[
		{
			"attrName" : "pcc-rule-id",
			"attrValue" : "70002",
			"result" : "permit"
		}
	],
	"ruleName" : "rQualify2"
}

PUT /rules/rule_TorrentAccess
{
	"condition" : "#((AccessData.subscriber.locationInfo.countryCode == 34),2)",
	"ruleName" : "rule_TorrentAccess"
}

PUT /policies/pQualify
{
	"policyName" : "pQualify",
	"ruleCombiningAlgorithm" : "permit-overrides",
	"rules" : [ "rQualify1", "rQualify2" ]
}

PUT /policies/policy_TorrentAccess
{
	"policyName" : "policy_TorrentAccess",
	"ruleCombiningAlgorithm" : "permit-overrides",
	"rules" : [ "rule_TorrentAccess" ]
}

PUT /dataplans/OneGroup/locators/resources/torrent/contexts/static-access
{
	"policies" : [ "pQualify" ]
}

PUT /dataplans/OneGroup/locators/resources/torrent/contexts/access
{
	"policies" : [ "policy_TorrentAccess" ]
}

PUT /contents/torrent
{
	"contentName" : "torrent",
	"pccRuleName" : "70",
	"pccRuleType" : 1
}

PUT /dataplans/OneGroup
{
	"dataplanName" : "OneGroup",
	"subscribedContents" : 
	[
		{
			"contentName" : "torrent",
			"redirect" : false
		}
	]
}

The Access policy composed of "rule_TorrentAccess", "policy_TorrentAccess", and access context is configured if a flexible condition for the service authorization is needed. These policies are not needed if "torrent" service is always authorized (as it is provisioned in the subscribedContents attribute in the "OneGroup" subscriber group), and depending on the static-access policy conditions, the selection of different CR-Names for it is the desired behavior.

Bandwidth limits and rating group for static defined services can also be changed depending on time conditions. A specific bandwidth and rating group can be applied in flat hours, and a different bandwidth and rating group for the rest of the time. To achieve that, modify the condition attribute of the rules in Example 12. For example:

7.4   Rule Spaces

This section applies for Ericsson added-value (Ericsson Gx+ interface interface).

7.4.1   Provision Rule Spaces

A list of rule spaces and services (static PCC rules) belonging to that rule space can be configured in the SAPC.

The identifiers and the service definitions of the rule spaces must be the same in the SAPC and in the PCEF.

To define a rule space, create a rule-space URI in the provisioning REST API.

Example 13 presents the configuration of a rule space.

Example 13   Configuration of Rule Spaces

PUT /rule-spaces/RS_Roaming
{
	"contentNames" : [ "Chat", "Internet" ],
	"ruleSpaceName" : "RS_Roaming"
}

Example 13 defines that the " RS_Roaming" rule space containing the "Chat" and "Internet" services needs to be evaluated in the case of roaming.

7.4.2   Policies for Rule Space Negotiation

To configure Rule Space Negotiation depending on conditions, create the needed policies using:

Example 14 presents the configuration of a policy for rule space selection.

Example 14   Configuration of Policy for Rule Space Selection

PUT /rules/RSSel_RuleRoaming
{
	"condition" : "AccessData.bearer.accessPoint!=\"OperatorNetwork_1\"",
	"outputAttributes" : 
	[
		{
			"attrName" : "rule-space",
			"attrValue" : "\"RS_Roaming\"",
			"result" : "permit"
		}
	],
	"ruleName" : "RSSel_RuleRoaming"
}

PUT /policies/RSSel_PolicyRoaming
{
	"policyName" : "RSSel_PolicyRoaming",
	"ruleCombiningAlgorithm" : "permit-overrides",
	"rules" : [ "RSSel_RuleRoaming" ]
}

PUT /dataplans/Gold/locators/resources/service-domain/contexts/access
{
	"policies" : [ "RSSel_PolicyRoaming" ]
}

"Gold" subscribers are explicitly subscribed to the streaming, Skype, and chat services, and indirectly subscribed to the internet service as it is defined in the "Global" subscriber group. The "RS_Roaming" rule space is selected for Gold subscribers, when they access APNs other than "OperatorNetwork_1".

The "RS_Roaming" rule space contains the "Internet" and "Chat" services, since these are the services considered for authorization.

8   Configure Service Charging Control

To execute this task in the SAPC, set the SERVICE_CHARGING value in the controls attribute (DiameterNode object class).

8.1   Static Services

To select different charging data for static services (PCC rules) in the PCEF, the SAPC allows the following options:

  1. Unconditionally: use pccRuleName
  2. Depending on conditions, see Section 7.3

8.2   Preconfigured Services

  1. Configure Service Charging profiles. The values configured in these charging profiles are used to fill charging related AVPs within the Charging-Rule-Definition AVP. To define a charging profile, create a content-charging URI in the provisioning REST API.
  2. To unconditionally associate a charging profile with a service:

    In a content, set the contentChargingProfileId attribute within the staticQualification object, with a value according to the profileId of a content-charging .

  3. To configure Service Charging depending on conditions, create the needed policies using :
    • For Global policy locator:

      /locators/resources/<contentName>/contexts/charging

    • For Subscriber group locator:

      /dataplans/<dataplanName>/locators/resources/<contentName>/contexts/charging

    • For Subscriber locator:

      /subscribers/<subscriberId>/locators/resources/<contentName>/contexts/charging

    • Within the outputAttributes object in the rule, set:
      • attrName attribute to charging
      • attrValue to ServiceChargingProfile[\"<chargingProfileId>\"], where chargingProfileId is the profileId of a valid content-charging

Example 15 is an example for the configuration of charging profiles.

Example 15   Configuration of Charging Profiles

PUT /profiles/content-charging/ChargingType1
{
	"chargingServiceId" : 40000,
	"meteringMethod" : 0,
	"offlineEnabled" : false,
	"onlineEnabled" : true,
	"profileId" : "ChargingType1",
	"ratingGroup" : 1,
	"reportingLevel" : 0
}

PUT /profiles/content-charging/GlobalPrepaid
{
	"chargingServiceId" : 10000,
	"meteringMethod" : 2,
	"offlineEnabled" : false,
	"onlineEnabled" : true,
	"profileId" : "GlobalPrepaid",
	"ratingGroup" : 3,
	"reportingLevel" : 0
}

PUT /profiles/content-charging/TrafficBasedCharging
{
	"chargingServiceId" : 30000,
	"meteringMethod" : 1,
	"offlineEnabled" : true,
	"onlineEnabled" : false,
	"profileId" : "TrafficBasedCharging",
	"ratingGroup" : 4,
	"reportingLevel" : 1
}

PUT /profiles/content-charging/cp_streaming
{
	"meteringMethod" : 0,
	"offlineEnabled" : true,
	"onlineEnabled" : false,
	"profileId" : "cp_streaming",
	"ratingGroup" : 3,
	"reportingLevel" : 0
}

Example 8 shows how "Streaming" service is associated with a charging profile (Service Charging Control is provided): staticQualification contains contentChargingProfileId pointing to "cp_streaming" .

9   Provision Qualification Data for Subscriptions

General concepts on how to provision subscribers and subscriber groups are covered in Configuration Guide for Subscription and Policies.

9.1   Provision Qualification for Subscriber or Subscriber Group Unconditionally

Subscribers or subscriber groups can be qualified for access and charging, by associating a static profile that characterizes them, for example, assigning charging related data. This implies assigning profiles to subscribers or subscriber groups. Static QoS configuration is also part of the static qualification for subscriptions, which are explained in the Configuration Guide for Bearer QoS Control and Bandwidth Management.

To do that:

Table 6 contains the particular details for each of the static (qualification data) subscriber or subscriber group profile.

Table 6    Static Subscriber or Subscriber Group Profile

Qualification Data Type

URI in the provisioning REST API

Attribute

Content Filtering(1)

subscribers or dataplans

contentFiltering

Subscriber Charging Information(2)

subscribers or dataplans

subscriberChargingProfileId

Online Charging Information

subscribers

onlineChargingSystemProfileId (see Configuration Guide for Integration with OCS for Spending Limit Reporting (Sy))

Header Enrichment

subscribers

customerId

Presence Reporting Area

subscribers or dataplans

presenceReportingAreaNames

(1)   To apply this functionality for the PCEF sending Gx requests to the SAPC, configure the controls attribute within the DiameterNode object class containing the CONTENT_FILTERING value.

(2)   To apply this functionality for the PCEF sending Gx requests to the SAPC, configure the controls attribute within the DiameterNode object class containing the SUBSCRIBER_CHARGING value.


9.2   Provision Qualification for Subscriber or Subscriber Group Conditionally (Depending on Policies)

Using policies, it is possible to use conditions to assign profiles to subscribers or subscriber groups. This can be done in addition to static qualification (see Table 6).

Set the output attribute of the rule to the desired value for the particular qualification data using the following table:

Table 7    Subscriber Qualification Policies

Qualification Data Type

resource Value within the locators URI in the Provisioning REST API

context Value within the locators URI in the Provisioning REST API

attrName Attribute within the outputAttributes Object

attrValue Attribute within outputAttributes object

Content Filtering

service-domain

content-filtering

content-filtering-id

Content filtering id value

Subscriber Charging Profile(1)

Special value any

charging

charging

SubsChargingProfile[<subsChargingProfileId>

Presence Reporting Area

Special value any

location

presence-area

PraProfile[\"name \"]

(1)   Do not configure ToD conditions within Subscriber Charging policies, as the SAPC does not perform time-based reauthorization.


Combining Conditional and Unconditional Qualification Data

If there are policies configured for a subscriber, their data prevail over the unconditional qualification data provisioned in the subscriber profile.

If there are policies configured for a subscriber group, their data prevail over the unconditional qualification data provisioned in the subscriber group profile.

10   Configure Subscriber Charging Control

  1. To execute this task in the SAPC, configure the controls attribute in the DiameterNode object class with the SUBSCRIBER_CHARGING value
  2. Provision a Charging System Profile (see Section 10.1)
  3. Provision Subscriber Charging Profiles (see Section 10.2)
  4. Configure Subscriber Charging Characteristics Information (see Section 10.3)
  5. Configure the Charging Information to the subscriber or subscriber group unconditionally (see Section 10.4), conditionally (see Section 10.5), or both.

10.1   Provision Charging System Profiles

To provision a Charging System Profile, create a charging-system URI in the provisioning REST API.

10.2   Provision Subscriber Charging Profiles

A subscriber charging profile contains a reference to a charging system and type of charging (online or offline). This charging information can be associated with a subscriber or a subscriber group, and is provided by the SAPC to the PCEF.

To provision a Subscriber Charging Profile, create a subscriber-charging URI in the provisioning REST API with the following attributes:

Note:  
The chargingSystemProfileId attribute must be set with the profileId of a previously provisioned charging-system URI in the provisioning REST API.

Example 16 describes the configuration of subscriber charging data.

Example 16   Configuration of Charging Profiles

PUT /dataplans/Gold2
{
	"dataplanName" : "Gold2",
	"staticQualification" : 
	{
		"subscriberChargingProfileId" : "chargingType01"
	}
}

PUT /profiles/subscriber-charging/chargingType01
{
	"chargingChars" : 987,
	"chargingSystemProfileId" : "ChargingSystem01",
	"offlineEnabled" : false,
	"onlineEnabled" : true,
	"profileId" : "chargingType01"
}

PUT /profiles/charging-system/ChargingSystem01
{
	"primaryOnline" : "primaryChargingHost.ericsson.com",
	"profileId" : "ChargingSystem01",
	"secondaryOnline" : "secondaryChargingHost.ericsson.com"
}

Example 16 configures a subscriber charging profile with "chargingType01" identifier and charging characteristic set to "987". This subscriber charging profile configures the subscriber as online in terms of charging. The subscriber charging profile establishes "ChargingSystem01" as the charging system associated with the subscriber. This charging system defines the primary and a secondary host for online charging. The charging profile is associated with the "Gold2" subscriber group.

10.3   Configure Charging Characteristics Information

The Charging Characteristics information configured in chargingChars attribute within the subscriberCharging URI in the provisioning REST API is downloaded to the PCEF in the CCA.

The value for charging characteristics is an integer, and if this value is higher than the expected size (65535), its value is truncated to 16 bits.

Charging characteristics data can also be received from the PCEF, and can then be used to evaluate policy conditions for service authorization. Ericsson recommends not to use this value if the charging characteristics for the subscriber is configured.

Note:  
This parameter is valid for Ericsson Gx+ interface.

10.4   Provision Unconditional Subscriber Charging Data to Subscriber or Subscriber Groups

To assign an unconditional charging profile to a subscriber or subscriber group, within the subscribers or dataplans URI in the provisioning REST API, set the subscriberChargingProfile attribute with the ID of a subscriber-charging profile provisioned in the SAPC.

10.5   Provision Conditional Subscriber Charging Data with Policies

To configure Subscriber Charging depending on conditions, create the needed policies using:

11   Configure Content Filtering Control

To configure Content Filtering Control, do the following:

  1. To execute this task in the SAPC, configure the controls attribute in the DiameterNode object class with the "CONTENT_FILTERING" value.
  2. To associate unconditionally a content filtering profile with a subscriber or subscriber group, see Section 11.1)
  3. To associate content filtering depending on conditions, see Section 11.2)

11.1   Provision Content Filtering for Subscribers or Subscriber Groups

Set the contentFiltering attribute within the staticQualification object in a subscribers or dataplans URI in the provisioning REST API.

Example 17 describes how to associate statically a content filtering profile to a subscriber within the staticQualification object.

Example 17   Content Filtering Subscriber Qualification

PUT /subscribers/34600000001
{
	"dataplans" : 
	[
		{
			"dataplanName" : "Gold"
		}
	],
	"deniedContents" : [ "Chat" ],
	"operatorSpecificInfos" : 
	[
		{
			"attributeName" : "age",
			"attributeValue" : "33"
		}
	],
	"staticQualification" : 
	{
		"contentFiltering" : "69"
	},
	"subscriberId" : "34600000001"
}

Example 17 provisions subscriber "34600000001" belonging to the "Gold" group and uses the operatorSpecificInfos object to indicate the age of the subscriber.

A contentFiltering (to be downloaded to the PCEF) set to "69" is also provisioned for the subscriber.

11.2   Provision Content Filtering Policies

To configure Content Filtering depending on conditions, create the needed policies using :

Example 18 describes the configuration of a policy to return content filtering profile.

Example 18   Configuration of Subscriber Content Filtering Policy

PUT /rules/ContentFilteringRule1
{
	"condition" : "(Subscriber.subsAge > 17)",
	"outputAttributes" : 
	[
		{
			"attrName" : "content-filtering-id",
			"attrValue" : "9",
			"result" : "permit"
		}
	],
	"ruleName" : "ContentFilteringRule1"
}

PUT /policies/ContentFilteringPolicy1
{
	"policyName" : "ContentFilteringPolicy1",
	"ruleCombiningAlgorithm" : "permit-overrides",
	"rules" : [ "ContentFilteringRule1" ]
}

PUT /subscribers/34600000001/locators/resources/service-domain/contexts/content-filtering
{
	"policies" : [ "ContentFilteringPolicy1" ]
}

 

A policy is created for subscriber with identifier "34600000001", to return as content filtering profile identifier "9" when the age of the subscriber is greater than 17. The age of the subscriber is provisioned in the operatorSpecificInfos object within the subscribers URI in the provisioning REST API.

12   Configure Header Enrichment

The SAPC is able to send user-related information towards the GGSN/PDN-GW to be inserted in the HTTP headers of a particular request so that the service can use this information in its internal logic. One typical application is to provide the third-party applications with a user alias so the MSISDN is not disclosed to them.

The SAPC allows the operator to define any kind of data to be inserted.

This functionality is provided with the Ericsson Gx+ interface and when the SAPC is deployed together with an Ericsson PDN-GW product.

To use Header Enrichment, set the customerId attribute in the staticQualification object of a subscribers URI in the provisioning REST API.

13   Configure Presence Reporting Area

The operator can configure presence reporting area selection applicable to a subscriber or subscriber group by using static qualification data or dynamic policies.

When defining the presence reporting area, the identifier is made of 24 bits, where the most significant bit defines the mode (either UE dedicated or CN preconfigured PRA).

Therefore, the most significant bit is 0 (UE dedicated) or 1 (CN preconfigured PRA).

13.1   Provision Presence Reporting Area

To provision a presence reporting area, create a presence-reporting-area URI in the provisioning REST API.

Example 19   Provision Presence Reporting Area

PUT /profiles/presence-reporting-area/Area1

{
        "name" : "Area1",
        "praId" : 9000001,
        "elementsList":
	{
		"tais" : ["012.45.6789-6791"],
		"macroEnbs" : ["123.456.78901"],
		"homeEnbs" : ["234.567.8901234-8901235"],
		"ecgis" : ["345.678.9012345"],
		"rais" : ["456.789.123.45-46"],
		"sais" : ["567.890.1234.5678"],
		"cgis" : ["678.901.2345.6789-6790"]
	}
}

13.2   Provision Unconditional Presence Reporting Area to Subscriber or Subscriber Groups

To assign an unconditional presence reporting area to a subscriber or subscriber group, set the presenceReportingAreaNames attribute with the ID of a presence-reporting-area profile provisioned in the SAPC within the subscribers or dataplans URI in the provisioning REST API

13.3   Provision Conditional Presence Reporting Area with Policies

To configure Presence Reporting Area depending on conditions, create the needed policies using:

Example 20 shows the SAPC selecting a presence reporting area for a subscriber using the dynamic policy.

Note:  
Do not configure ToD conditions in PRA policies, as the SAPC does not perform ToD based reauthorization.

Example 20   PRA Configuration

PUT /subscribers/34615800304

{
        "subscriberId" : "34615800304",
        "dataplans" :
        [
                {
                        "dataplanName" : "Silver"
                }
        ]
}

PUT /dataplans/Silver

{
        "dataplanName" : "Silver"
}

PUT /rules/PRASelectionGroup_Silver_rule

{
        "condition" : "(AccessData.bearer.accessType==1000)",
        "outputAttributes" :
        [

                {
                        "attrName" : "presence-area",
                        "attrValue" : "PraProfile[\"Area1\"]",
                        "result" : "permit"
                }
        ],
        "ruleName" : "PRASelectionGroup_Silver_rule"
}

PUT /policies/PRASelectionGroup_Silver

{
        "policyName" : "PRASelectionGroup_Silver",
        "ruleCombiningAlgorithm" : "permit-overrides",
        "rules" : [ "PRASelectionGroup_Silver_rule"]
}

PUT /dataplans/Silver/locators/resources/any/contexts/location

{
        "policies" : [ "PRASelectionGroup_Silver" ]
}

In Example 20, the SAPC defines the presence reporting area "Area1" for subscriber group "Silver" when the "Silver" subscribers' access is performed through the UTRAN Radio Access.

13.4   Configure Event Triggers for Presence Reporting Area

To subscribe the SAPC to presence area reporting event trigger, the SAPC has to include the CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT value within the Event-Trigger AVP of the Gx CCA-initial message.

For details on how to configure event triggers, see Section 4.

Example 21 shows how to configure the presence reporting area event trigger based on access conditions.

Example 21   Configuration of Presence Area Reporting Event Trigger Based on Dynamic Conditions

PUT /policies/DynamicEventTriggersPolicy

{
  "policyName" : "DynamicEventTriggersPolicy",
  "ruleCombiningAlgorithm" : "all-permit",
  "rules" : [ "DynamicEventTriggersRule" ]
}

PUT /rules/DynamicEventTriggersRule

{
  "condition" : "(AccessData.bearer.accessType != 1000)",
  "outputAttributes" : 
  [
   {
     "attrName" : "event-triggers",
     "attrValue" : "\"48\"",
     "result" : "permit"
   }
  ],
  "ruleName" : "DynamicEventTriggersRule"
}

14   Configuration Examples for Use Cases

14.1   Roaming Conditions

Simple conditions are used to detect roaming in some examples along this document. For example, AccessData.subscriber.locationInfo.countryCode == 34.

However, conditions to detect roaming cases can be more complex. For example, some operator may use lists of SGSN-MME IP addresses or multiple PLMN-identifiers.

Example 22, Example 23, and Example 24 show multiple roaming criteria using the Mobile Network Code part of the SGSN PLMN ID (using Extra Data in the internal database explained in Database Access) and the inRange function (detailed in Configuration Guide for Subscription and Policies):

Example 22   Roaming Criteria as operator-specific-info

PUT /operator-specific-infos/Roaming
{
	"infoList" : 
	[
		{
			"attributeName" : "networkCodes",
			"attributeValue" : "1-9"
		},
		{
			"attributeName" : "networkCodes",
			"attributeValue" : "12"			
		},	
		{
			"attributeName" : "networkCodes",
			"attributeValue" : "14-16"			
		},	
		{
			"attributeName" : "networkCodes",
			"attributeValue" : "21"			
		},                
		{
			"attributeName" : "networkCodes",
			"attributeValue" : "88"			
		}                   
	],
	"infoId" : "Roaming"
}

Example 23   Roaming EDSource

<edit-config>
  <target>
  <running />
  </target>
  <config>
    <ManagedElement xmlns="urn:com:ericsson:ecim:ComTop">
      <managedElementId>1</managedElementId>
      <dnPrefix>dc=ManagedElement</dnPrefix>
      <networkManagedElementId>1</networkManagedElementId>
      <userLabel>Managed Element</userLabel>
      <PolicyControlFunction xmlns="urn:com:ericsson:ecim:sapcmom">
        <policyControlFunctionId>1</policyControlFunctionId>
        <EntityData xmlns="urn:com:ericsson:ecim:entitydatamom">
          <entityDataId>1</entityDataId>
          <EDSources xmlns="urn:com:ericsson:ecim:edsourcesmom">
            <eDSourcesId>1</eDSourcesId>
            <EDSource xmlns="urn:com:ericsson:ecim:edsourcemom" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="merge">
             <eDSourceId>Roaming</eDSourceId>
               <definition>
                 def Roaming( argId ) 
                 {
                   dataSource = 
                   {
                     url = "internaldb:";
                     query = "OperatorSpecificInfoPot:{argId}";
                   }
                   fieldDef = 
                   {
                     id = dataSourceField("argId");                     
                     nwCodes = dataSourceField("name:networkCodes");
                  }
                 }
               </definition>
             </EDSource>
            </EDSources>
          </EntityData>
        </PolicyControlFunction>
      </ManagedElement>
  </config>
</edit-config>

 

Example 24   Complex Roaming Condition

PUT /rules/ruleRoaming
{
	"condition" : "inRange(AccessData.subscriber.locationInfo.networkCode,
	                       Roaming[\"Roaming\"].nwCodes)",
	"ruleName" : "ruleRoaming"
}

14.2   Cell Congestion

The SAPC can use dynamic subscriber location information in policy decisions, together with cell congestion information provisioned in advance.

Figure 2 shows an overview of the configuration schema:

Figure 2   Cell Congestion Configuration

Figure 2 shows that the subscriber location information received in the SAPC over the Gx interface can be used to verify if the subscriber is in a congested cell. The congested cell identifiers are provisioned in a logical table inside the SAPC internal database, where the period or periods for which the cells are congested can also be set. An Entity Data Source is also needed so that the information about the congested cells can be used in policy conditions.

To use cell congestion in policies, perform the following steps:

  1. To guarantee that the SAPC receives Gx CCR updates when the subscriber is moving, subscribe to the proper location change values of the Event-Trigger AVP: User Location change, RAI change, TAI change, and ECGI change.
    Warning!

    The subscription to location change related Event-Triggers AVP for all the SAPC subscribers causes a high amount of extra Gx CCR update signaling in the network. Dimension the SAPC properly or restrict the subscription of location change event triggers only for some subscribers or dataplans. See details in Section 4.

  2. Configure cell congestion information (at least identities for congested cells) as explained in Extra Data in the internal database in Database Access:
    1. Set the congested cell information using the operator-specific-infos URI in the provisioning REST API.
    2. Define a new Entity Data Source pointing to the congested cell information.
    Note:  
    The way to locate the configured cell identities depends on the cellular network plan and the geographic type information received over Gx, according to the AccessData.subscriber.locationInfo.<tag> policy tag in Table 14.

    For example:

    • For 2G/3G access and geographic type CGI, the combination of location area code plus cell identity can be used.
    • For LTE access, the E-UTRAN cell identifier for geographic type ECGI can be used.
    • For 3GPP2 access, the cell identifier can be used.

    It is also possible to include periods of time for which the cells are congested, according to the syntax defined in the inPeriod function, refer to Configuration Guide for Subscription and Policies.

  3. Provision a Bearer QoS Control policy containing as condition the congested cells information (using Entity Data Source syntax).

    For details about configuration of QoS profiles and Bearer QoS Control, see Configuration Guide for Bearer QoS Control and Bandwidth Management.

Example 25, Example 26, and Example 27 show configuration elements where some congested cells are defined and used in a policy:

Example 25   Congested Cells as Extra Data in the SAPC Internal Database

PUT /operator-specific-infos/123-456
{
	"infoList" : 
	[
		{
			"attributeName" : "TimePeriod",
			"attributeValue" : "8:00:00,18:00:00"
		}
	],		
	"infoId" : "123-456"
}

PUT /operator-specific-infos/234-567
{
	"infoList" : 
	[
		{
			"attributeName" : "TimePeriod",
			"attributeValue" : "8:00:00,18:00:00"
		}
	],		
	"infoId" : "234-567"
}

PUT /operator-specific-infos/999-888
{
	"infoList" : 
	[
		{
			"attributeName" : "TimePeriod",
			"attributeValue" : "18:00:00,20:00:00"
		}
	],		
	"infoId" : "999-888"
}

Example 26   CongestedCells EDSource

<edit-config>
  <target>
  <running />
  </target>
  <config>
    <ManagedElement xmlns="urn:com:ericsson:ecim:ComTop">
      <managedElementId>1</managedElementId>
      <dnPrefix>dc=ManagedElement</dnPrefix>
      <networkManagedElementId>1</networkManagedElementId>
      <userLabel>Managed Element</userLabel>
      <PolicyControlFunction xmlns="urn:com:ericsson:ecim:sapcmom">
        <policyControlFunctionId>1</policyControlFunctionId>
        <EntityData xmlns="urn:com:ericsson:ecim:entitydatamom">
          <entityDataId>1</entityDataId>
          <EDSources xmlns="urn:com:ericsson:ecim:edsourcesmom">
            <eDSourcesId>1</eDSourcesId>
            <EDSource xmlns="urn:com:ericsson:ecim:edsourcemom" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="merge">
             <eDSourceId>CongestedCells</eDSourceId>
               <definition>
                 def CongestedCells( argId='strcat(strcat(
                     AccessData.subscriber.locationInfo.locationAreaCode,"-"),
                     AccessData.subscriber.locationInfo.cellIdentity)')
                 {
                   dataSource = 
                   {
                     url = "internaldb:";
                     query = "OperatorSpecificInfoPot:{argId}";
                   }
                   fieldDef = 
                   {
                     id = dataSourceField("argId");
                     congestedPeriod = dataSourceField("name:TimePeriod");
                   }
                 }
               </definition>
             </EDSource>        
            </EDSources>
          </EntityData>
        </PolicyControlFunction>
      </ManagedElement>
  </config>
</edit-config>

 

Example 25 contains a couple of cells being congested from 08:00 until 18:00 and another one congested from 18:00 until 20:00. The cells are located using the subscriber location information received through Gx. The cell identifiers are composed of the Location Area Code and the Cell Identity for a 2G/3G 3GPP access.

Example 27 presents that the congested cells (and period of congestion) are considered to assign a lower Bearer QoS Profile. The condition evaluates the current time against the congested period of the cell where the subscriber is located. The subscriber location (concatenation of area code and cell identity) is passed to the CellCongestion Entity Data Source as default input argument.

Example 27   Bearer QoS Policy for Congested Cells

PUT /rules/ruleCongestedCells
{
	"condition" : "(inPeriod(now.offset,CongestedCells.congestedPeriod))",
	"outputAttributes" : 
	[
		{
			"attrName" : "max-qos",
			"attrValue" : "BearerQosProfile[\"QosLower\"]",
			"result" : "permit"
		}
	],
	"ruleName" : "ruleCongestedCells"
}

PUT /policies/policyQosLower
{
	"policyName" : "policyQosLower",
	"ruleCombiningAlgorithm" : "permit-overrides",
	"rules" : [ "ruleCongestedCells" ]
}

PUT /locators/resources/ip-can-session/contexts/qos
{
	"policies" : [ "policyQosLower" ]
}

14.3   PDN Type and UE IP Address Conditions

The SAPC supports the following IP-CAN session connection types, according to the 3GPP Evolved Packet Core (EPC) architecture:

The preceding information, together with the UE IPv4 address or IPv6 prefix can be used to make policy decisions. Hence, the SAPC provides some policy tags that can be used and configured in the condition of the rule URI in the provisioning REST API: AccessData.subscriber.ueIpAddress, ueIpv6Prefix, and ueIpAddressType.

For example, if the operator wants to evaluate when a subscriber is allocated a particular IPv4 address, use the following expression:

(AccessData.subscriber.ueIpAddressType == 0) && 
(AccessData.subscriber.ueIpAddress == "172.40.30.20")

To apply a different policy when a subscriber is allocated an IPv6 prefix within a given range, use the following condition expression:

(AccessData.subscriber.ueIpAddressType == 1) && 
inRange(AccessData.subscriber.ueIpv6Prefix,
"2001:0DB8:0000:0000:0000:0000:1428:57AB-2001:0DB8::FFFF:FFFF")

To identify a dual-stack IP-CAN session connection, use the following expression:

(AccessData.subscriber.ueIpAddressType == 2) && 
(AccessData.subscriber.ueIpAddress == "172.40.30.20") && 
(AccessData.subscriber.ueIpv6Prefix == "2001:0DB8:AE56:0034")

14.4   Presence Area Status Conditions

14.4.1   Use Case 1: Campus Zone Mobile Broadband

This use case describes an event when a user is assigned to mobile broadband access with high bandwidth when the user enters his or her campus zone.

The Campus_MIT_Group dataplan defines the presence reporting area corresponding to the campus geographical area. When a subscriber enters the campus zone, it activates the HighBearerQos group, which has a high QoS Profile. When this subscriber leaves the campus zone area, it activates the Qos_default group with a default QoS profile.

Example 28   Configuration of PRA in University Campus

PUT /subscribers/34600000001

{
        "subscriberId" : "34600000001",
        "eventTriggers": [48],
        "dataplans" :
        [
                {
                        "dataplanName" : "Campus_MIT_Group"
                }
        ]
}

PUT /dataplans/Campus_MIT_Group

{
        "dataplanName" : "Campus_MIT_Group",
        "staticQualification" :
        {
                 "presenceReportingAreaNames": ["Campus_MIT"]
        }
}

PUT /profiles/ip-can-session-qos/Qos_default

{
        "mbrDownlink" : 64,
        "mbrUplink" : 32,
        "profileId" : "Qos_default",
        "qci" : 4
}

PUT /profiles/ip-can-session-qos/HighBearerQos

{
        "mbrDownlink" : 128,
        "mbrUplink" : 64,
        "profileId" : "HighBearerQos",
        "qci" : 5
}

PUT /profiles/presence-reporting-area/Campus_MIT

{
        "name" : "Campus_MIT",
        "praId" : 8388608
}


PUT /rules/PRAQosStatusInCampus_MIT

{
        "condition" : "(AccessData.subscriber.locationInfo.presenceReportingArea[\"Campus_MIT\"].isInArea)",
        "outputAttributes" :
        [

                {
                        "attrName" : "max-qos",
                        "attrValue" : "BearerQosProfile[\"HighBearerQos\"]",
                        "result" : "permit"
                }
        ],
        "ruleName" : "PRAQosStatusInCampus_MIT"
}

PUT /rules/PRAQosStatusOutCampus_MIT

{
        "condition" : "!(AccessData.subscriber.locationInfo.presenceReportingArea[\"Campus_MIT\"].isInArea)",
        "outputAttributes" :
        [

                {
                        "attrName" : "max-qos",
                        "attrValue" : "BearerQosProfile[\"Qos_default\"]",
                        "result" : "permit"
                }
        ],
        "ruleName" : "PRAQosStatusOutCampus_MIT"
}

PUT /policies/PRAQosStatusInPolicy

{
        "policyName" : "PRAQosStatusInPolicy",
        "ruleCombiningAlgorithm" : "permit-overrides",
        "rules" : [ "PRAQosStatusInCampus_MIT", "PRAQosStatusOutCampus_MIT"]
}

PUT /dataplans/Campus_MIT_Group/locators/resources/ip-can-session/contexts/qos

{
        "policies" : [ "PRAQosStatusInPolicy" ]
}

14.4.2   Use Case 2: Home Zone Mobile Broadband

This use case describes an event when a user is assigned to mobile broadband access with high bandwidth when the user enters his or her home zone, such as a residential area.

The HomeZoneGroup group is defined as the presence reporting area corresponding to the home zone geographical area. When a subscriber enters the home zone area, it activates the HighBearerQos group, which has a high QoS Profile. When this subscriber leaves the home zone area, it activates the Qos_default group with a default QoS profile.

Example 29   Configuration of PRA Home Zone

PUT /subscribers/34600000002
{
  "subscriberId" : "34600000002",
  "eventTriggers": [48],
  "dataplans" :
  [
    {
      "dataplanName" : "HomeZoneGroup"
    }
  ],
  "staticQualification" :
  {
    "presenceReportingAreaNames": ["HomeZone"]
  }
}

PUT /dataplans/HomeZoneGroup
{
  "dataplanName" : "HomeZoneGroup"
}

PUT /profiles/ip-can-session-qos/Qos_default
{
  "mbrDownlink" : 64,
  "mbrUplink" : 32,
  "profileId" : "Qos_default",
  "qci" : 4
}

PUT /profiles/ip-can-session-qos/HighBearerQos
{
  "mbrDownlink" : 128,
  "mbrUplink" : 64,
  "profileId" : "HighBearerQos",
  "qci" : 5
}

PUT /profiles/presence-reporting-area/HomeZone
{
  "name" : "HomeZone",
  "praId" : 1388609,
	"elementsList":
	{
		"tais" : ["012.45.6789-6791"],
		"macroEnbs" : ["123.456.78901"],
		"homeEnbs" : ["234.567.8901234-8901235"],
		"ecgis" : ["345.678.9012345"],
		"rais" : ["456.789.123.45-46"],
		"sais" : ["567.890.1234.5678"],
		"cgis" : ["678.901.2345.6789-6790"]
	}
}

PUT /rules/PRAQosStatusInHomeZone
{
  "condition" : "(AccessData.subscriber.locationInfo.presenceReportingArea[Subscriber.presenceReportingAreaNames].isInArea)",
  "outputAttributes" :
  [
    {
      "attrName" : "max-qos",
      "attrValue" : "BearerQosProfile[\"HighBearerQos\"]",
      "result" : "permit"
    }
  ],
  "ruleName" : "PRAQosStatusInHomeZone"
}

PUT /rules/PRAQosStatusOutHomeZone
{
  "condition" : "!(AccessData.subscriber.locationInfo.presenceReportingArea[Subscriber.presenceReportingAreaNames].isInArea)",
  "outputAttributes" :
  [
    {
      "attrName" : "max-qos",
      "attrValue" : "BearerQosProfile[\"Qos_default\"]",
      "result" : "permit"
    }
  ],
  "ruleName" : "PRAQosStatusOutHomeZone"
}

PUT /policies/PRAQosStatusInPolicy
{
  "policyName" : "PRAQosStatusInPolicy",
  "ruleCombiningAlgorithm" : "permit-overrides",
  "rules" : [ "PRAQosStatusInHomeZone", "PRAQosStatusOutHomeZone"]
}

PUT /dataplans/HomeZoneGroup/locators/resources/ip-can-session/contexts/qos
{
  "policies" : [ "PRAQosStatusInPolicy" ]
}

14.5   Extended Event-Trigger for Tethering Detection Reporting over Gx

Example 30 shows the preferred way to support Extended Event-Trigger for Tethering Detection Reporting over Gx.

Example 30   Conditional Tethering Event-Trigger Selection

PUT /rules/DynamicTetheringEventTrigger

{
      "condition" : "not (contains(AccessData.bearer.eventTriggers, \"500\"))",
       "outputAttributes" : 
       [

            {

                 "attrName" : "event-triggers",

                  "attrValue" : "\"500\"",

                 "result" : "permit"

           }

      ],
        "ruleName" : "DynamicTetheringEventTrigger"
 }

PUT /policies/DynamicEventTriggersPolicy

{
      "policyName" : "TetheringEventTriggerPolicy",
      "ruleCombiningAlgorithm" : "all-permit",
      "rules" : [ "DynamicTetheringEventTrigger" ]
 }

PUT /locators/resources/any/contexts/event-triggers

{
       "policies" : [ "TetheringEventTriggerPolicy"]
 }

In this case, the SAPC subscribes to HOTSPOT_SHARE_START (500) in the IP-CAN session establishment. When a request message is received with the HOTSPOT_SHARE_START (500) event-trigger value, the SAPC unsubscribes from this event-trigger and does not subscribe again during the IP-CAN session lifetime, as the DynamicTetheringEventTrigger rule is evaluated to false.

Note:  
See the AccessData.bearer.eventTriggers policy tag for additional clarification.

15   Appendix A. Access and Charging Policy Types

Table 8, Table 9, Table 10, and Table 11 show the different policy types applicable to access and charging, which can be used in the SAPC.

Table 8    Policy Types (I) - Access Related Policies

Policy Type

Policy Locator

Output Attributes

Comments

Context

Resource

Subject

Access Control (Service Authorization)


Access

access

<contentId>

<subscriberId>


<dataplanId>

 

Type I = Only policies, qualification


Gx


Conditions:


Subscriber Data


Access Data


ToD

Access Control (Static service qualification)


Static Access

static-access

<contentId>

<subscriberId>


<dataplanId>

permit


pcc-rule-id


" <pccRuleName>"

Type I = Only policies, qualification


Gx


Conditions:


Subscriber Data


Access Data


ToD

Rule Space selection


Service Domain

access

sevice-domain

<subscriberId>


<dataplanId>

permit


rule-space


" <ruleSpaceName>"

Ericsson Gx+

IP-CAN Session


Access

access

ip-can-session

<subscriberId>


<dataplanId>

-

Type I = Only policies, qualification


Gx


Conditions:


Subscriber Data


Access Data


ToD

Table 9    Policy Types (II) - Charging and Content Filtering Policies

Policy Type

Policy Locator

Output Attributes

Comments

Context

Resource

Subject

Service Charging

charging

<contentId>

<subscriberId>


<dataplanId>

permit


charging


ServiceChargingProfile


[" <chargingProfileName>"]

Type II = Mixing policies and qualification


Gx


Conditions:


Access Data


Subscriber


ToD

Subscriber Charging

charging

any

<subscriber-id>


<dataplan-id>

permit


subs-charging


ServiceChargingProfile


[" <chargingProfileName>"]

Type II = Mixing policies and qualification


Gx


Conditions:


Access Data


Subscriber


Time conditions (but no ToD reauthorization

Content Filtering

content-filtering

sevice-domain

<subscriberId>


<dataplanId>

permit


content-filtering-id


" <contentFilteringValues>"

Type II = Mixing policies and qualification


Used to return Content-Filtering in Ericsson Gx+

Table 10    Policy Types (II) - Presence Reporting Area Policy

Policy Type

Policy Locator

Output Attributes

Comments

Context

Resource

Subject

Presence Reporting Area Selection

location

any

<subscriberId>


<dataplanId>

permit


presence-area


PraProfile


[" <presenceAreaName>"]

Type IV= Mixing AllPermit policies and qualification


Gx


Conditions:


Access Data


Subscriber


Media component (AfData)


ToD


Algorithms:all permit


List of event triggers in CSV format

Table 11    Policy Types (IV) - Event Triggers Selection Policy

Policy Type

Policy Locator

Output Attributes

Comments

Context

Resource

Subject

Event Triggers Selection

event-triggers

any

<subscriberId>


<dataplanId>

permit


event-triggers


[" <list of event trigger values>"]

Type II = Mixing policies and qualification


Gx


Conditions:


Access Data


Subscriber


Time conditions (but no ToD reauthorization)

16   Appendix B. Policy Tags

The following tags related to dynamic information about access and charging data can be used in the condition attribute of rules.

Note:  
There are also some other policy tags applicable to access and charging, which can be found in separate SAPC Configuration Guide documents.

16.1   Time and Date Tags

Time of day conditions can be used in policies. Refer to Configuration Guide for Subscription and Policies for more information.

16.2   Tags Related to Access and Charging

The following tags related to information about IP-CAN session can be used in the policy condition.

For the policy tags obtained from AVPs received in CCR messages (see Comments column), their values are kept during the session lifetime, unless new values of the AVPs are received in subsequent CCR-U/CCR-T messages.

Table 12    Incoming Message Tags

Tag

Return Type

Possible Values

Comments

AccessData.bearer.accessPoint

String

any

The Called Station ID. Address where the user is connected to. Network ID + Operator ID

AccessData.bearer.accessType

Integer

 

Radio Access Technology used:


  • 0: WLAN

  • 1000: UTRAN

  • 1001: GERAN

  • 1002: GAN

  • 1003: HSPA_EVOLUTION

  • 1004: E-UTRAN

  • 1005: E-UTRAN-NB-IoT

  • 2000: CDMA2000_1X

  • 2001: HRPD

  • 2002: UMB

  • 2003: EHRPD

AccessData.bearer.eventTriggers(1)

Multivalued Integer

any

Received EventTriggers that causes the CCR update. Use this tag together with the contains function: contains (AccessData.bearer.eventTriggers, "<value>")

AccessData.bearer.ipCanType

Integer

0-7

Connectivity access type technology used:


  • 0: 3GPP-GPRS

  • 1: DOCSIS

  • 2: xDSL

  • 3: WiMAX

  • 4: 3GPP2

  • 5: 3GPP-EPS

  • 6: Non 3GPP-EPS

  • 7: FBA

AccessData.bearer.isAnTrusted

Boolean

true


false

For non-3GPP access networks, indicates if the access is handled as trusted (true) or untrusted (false)

AccessData.bearer.controlMode

Integer

0-2

Indicates the applied bearer control mode:


  • 0: UE_ONLY

  • 2: UE_NW

AccessData.subscriber.chargingChars

Integer

any

Charging Characteristics received from the gateway(2)

AccessData.subscriber.id

String

any

Subscriber identifier:


  • Content of the first Subscription-Id AVP received when subsIdType is not configured

  • AccessData.subscriber.imsi if subsIdType is set to IMSI, or

  • AccessData.subscriber.msisdn if subsIdType is set to MSISDN

AccessData.subscriber.imsi

String

any

Subscriber identifier in international IMSI format

AccessData.subscriber.msisdn

String

any

Subscriber identifier in international E.164 format (MSISDN)

AccessData.subscriber.ueIpAddress

String

any

Subscriber IPv4 address in dot notation format

AccessData.subscriber.ueIpv6Prefix

String

any

Subscriber IPv6 Prefix, in colon notation, preferred form, without the length part

AccessData.subscriber.ueIpAddressType

Integer

0-2

Type of UE allocated address:


  • 0: IPv4

  • 1: IPv6

  • 2: Dual (IPv4 and IPv6)

AccessData.subscriber.locationInfo.sgsnAddress

IP Address

any

SGSN IP Address

AccessData.subscriber.locationInfo.anGwIpAddress.v4

IP Address

any

SGW/AGW IPv4 address.

AccessData.subscriber.locationInfo.anGwIpAddress.v6

IP Address

any

SGW/AGW IPv6 address.

AccessData.userEquipmentInfo.model

Integer

any

IMEI-SV Type Allocation Code

AccessData.userEquipmentInfo.serialNr

Integer

any

IMEI-SV Serial Number

AccessData.userEquipmentInfo.version

Integer

any

IMEI-SV Software Version Number

Apns.epsBearerIds

Multivalued String

any

Indicates APNs for EPS bearer priority services

Apns.imsIds

Multivalued String

any

Indicates APNs for IMS priority services

(1)  For the particular case of HOTSPOT_SHARE_START (500) event-trigger value, the AccessData.bearer.eventTriggers tag checks if this event-trigger has been received in a CCR-Update during the IP-CAN session lifetime, instead of just checking the current message being processed.

(2)  Ericsson recommends not using this value if charging characteristics for the subscriber has been provisioned.


Table 13    Access Policy Tags (II)

Tag

Return Type

Possible Values

Comments


AccessData.bearer.requestType

Integer

1–3

Indicates the request type of the bearer.


1: INITIAL_REQUEST: This value applies for CCR Initial (CC-Request-Type AVP = 1).


2: UPDATE_REQUEST: This value applies for CCR Update (CC-Request-Type AVP = 2).


3: TERMINATION_REQUEST: This value applies for CCR Terminate (CC-Request-Type AVP = 3).

AccessData.host.isPraSupported

Boolean

true


false

Indicates if the PCEF supports Presence Reporting Area.

AccessData.host.name

String

any

Origin-Host of the Diameter peer (for example, the PCEF) that sends the message.

Table 14    Subscriber Location Policy Tags

Tag

Return Type

Possible Values

Comments

AccessData.subscriber.locationInfo.cellIdentity

Integer

0-65535 for GPRS, 0-268435455 for EPS

Cell identity where the user currently is registered.


For 3GPP-GPRS and 3GPP-EPS access types, the cell identity is obtained from the 3GPP-User-Location-Info AVP.


For non-LTE, the cell identity is obtained when geographic location type is Cell Global Identification (CGI).

For LTE scenarios, E-UTRAN Cell Identifier (ECI) is obtained when geographic location type is ECGI.

AccessData.subscriber.locationInfo.countryCode

Integer

any

Mobile Country Code (MCC) part of the SGSN PLMN Id.


It is obtained from the 3GPP-SGSN-MCC-MNC AVP.

AccessData.subscriber.locationInfo.locationAreaCode

Integer

0-65535

Location area code where the user currently is registered, within the geographic location.


For 3GPP-GPRS and 3GPP-EPS, the location area code is obtained from 3GPP-User-Location-Info AVP, or if this AVP is not available, the location area code is obtained from RAI AVP.

AccessData.subscriber.locationInfo.networkCode

Integer

any

Mobile Network Code part of the SGSN PLMN Id.


It is obtained from 3GPP-SGSN-MCC-MNC AVP.

AccessData.subscriber.locationInfo.presenceReportingArea [“presenceAreaName”].isInArea

Boolean

true


false

PRA status of the UE received from the access network:


  • true: INSIDE the Area

  • false: OUTSIDE of the Area


It is obtained from the Presence-Reporting-Area-Status AVP.

AccessData.subscriber.locationInfo.routingAreaCode

Integer

0-65535

For non-LTE scenarios, the routing area code is the code of routing area where the user currently is registered, within the Routing Area Identification (RAI) geographical location type.


The routing area code is obtained from 3GPP-User-Location-Info AVP, or if this AVP is not available, obtained from RAI AVP.

For LTE scenarios, the Tracking Area Code (TAC) obtained is from 3GPP-User-Location-Info AVP, when geographic location type is TAI.

AccessData.subscriber.locationInfo.routingAreaIdentity

String

any

RAI of the SGSN where the UE is registered.


The RAI is obtained from RAI AVP. The value is encoded as a UTF-8 string on either 11 (if the MNC contains two digits) or 12 (if the MNC contains three digits) octets

AccessData.subscriber.locationInfo.serviceAreaCode

Integer

0-65535

Service area code where the user is registered, within the Service Area Identification (SAI) geographical location type.


For 3GPP-GPRS and 3GPP-EPS, it is obtained from the 3GPP-User-Location-Info AVP.

AccessData.subscriber.locationInfo.timezone

Integer

Steps of 15 minutes


[-48, +56]

Offset between universal time and local time in steps of 15 minutes (900 seconds) of where the UE currently resides.


Reference List

Standards
[1] Mobile Radio Interface Layer 3 Core Network Protocols - 3GPP TS 24.008
[2] Policy and Charging Control over Gx reference point - 3GPP TS 29.212