User Guide 34/1553-AXB 901 33/7 Uen A

Configuration Guide for Emergency and Multimedia Priority Services
Ericsson Service-Aware Policy Controller

Contents


1 Configuration and Provisioning Overview

Next figure, shows the main parts related to configuration and provisioning in the SAPC.

sapc_conf_prov.eps Figure 1   Configuration and Provisioning Overview

The purpose of this document is to provide guidelines to configure the SAPC node for emergency and multimedia priority services by providing configuration examples.

The configuration for emergency and multimedia priority services is an extension of Configuration Guide for Access and Charging Control (Gx) and Configuration Guide for Dynamic Policy Control (Rx).

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

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.

1.1 Typographic Conventions

The following typographic and document conventions are used:

Table 1   Typographic Conventions

Convention

Description

Example

Representational State Transfer (REST)

SAPC REST provisioning.

Exact REST resources, methods, attibutes, or their corresponding values.

PUT /dataplans/Silver { "dataplanName" : "Silver", "notification" : "sms" }

Managed Object Class (MOC)

or Attributes value

Exact COM model object, classes names, attributes, or their corresponding values.

SmsCenter

enableDelivery=true

NETCONF

SAPC COM 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> <NotificationConfig xmlns="urn:com:ericsson: ecim:notificationconfigmom"> <notificationConfigId> 1 </notificationConfigId> <enableDelivery> true </enableDelivery> </NotificationConfig> </PolicyControlFunction> </ManagedElement> </config> </edit-config>

1.2 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:

  • Configuration: whenever referring to Managed Object Class (MOC).

    The detailed description of the object and attributes can be found in Managed Object Model (MOM).

    Example: set enableReauthsOnSubsChange attribute in class AppConfig.

    The tools or interfaces to manage these data in the SAPC are:

    • NETCONF interface, refer to Ericsson NETCONF Interface.

      The configuration examples show the NETCONF file contents, using the following syntax:

      <edit-config>
        ...
        <config>
        <ManagedElement xmlns="urn:com:ericsson:ecim:ComTop">
        <managedElementId>1</managedElementId>
             ...
        </ManagedElement>
        </config>
      </edit-config>
  • Provisioning: mainly subscribers, subscriber groups (dataplans), services (contents), profiles, and policy-related data. The SAPC provides a REST API for them, see Provisioning REST API.

    This document uses the following terminology for them: <resource-name> URI in the provisioning REST API.

    Example: To provision subscriber groups, use the dataplan URI in the provisioning REST API.

    Provisioning examples show HTTP operations on REST resources with the following syntax:

    HTTP-Operation /resource-URI 
        {json content}

    where /resource-URI is the relative URI from the SAPC provisioning base URI detailed in Provisioning REST API.

    Example:

    PUT /dataplans/Gold   
    { "dataplanName" : "Gold",
      "subscribedContents" : [{"contentName" : "HTTP_Streaming",
                               "redirect" : false}]
    }
    Note: To ease provisioning operations, the SAPC provides an HTTPS CLI client named resty, refer to Provisioning Tools.

2 Configuration Prerequisites

Before configuring the SAPC in an operational network, assure that:

  • CBA Components are installed.

  • The SAPC product software is installed.

  • To have a detailed understanding of the function.

3 Configure Emergency APNs

To support emergency services in the SAPC, include the list of emergency APNs in the emergencyIds attribute of Apns MOC.

Example 1   Configure Emergency APNs

<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>
                <Apns>
                <apnsId>1</apnsId>
                    <emergencyIds>sos</emergencyIds>
                    <emergencyIds>sos_2</emergencyIds>
                </Apns>
            </Network>
        </PolicyControlFunction>
    </ManagedElement>
    </config>
</edit-config>

In Example 1, sos and sos2 are configured as emergency APNs in the SAPC.

4 Configure Unauthenticated Emergency Services

By default, the SAPC supports unauthenticated (not received Subscription-Id AVP) emergency services, using the IMEI (User-Equipment-Info AVP). To disable emergency services when Subscription-Id AVP is not received, set to false the enableEmergenciesWithImei attribute in the PccConfig MOC.

Example 2   Configure parameter enableEmergenciesWithImei.

<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>
            <AppConfig xmlns="urn:com:ericsson:ecim:appconfigmom">
            <appConfigId>1</appConfigId>
                <PccConfig xmlns="urn:com:ericsson:ecim:mobileconfigmom" 
                        xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="merge">
                            <pccConfigId>1</pccConfigId>
                        <enableEmergenciesWithImei>false</enableEmergenciesWithImei>
                    </PccConfig>
            </AppConfig>
        </PolicyControlFunction>
    </ManagedElement>
    </config>
</edit-config>

Example 2 shows how the enableEmergenciesWithImei flag is disabled.

5 Provision Emergency Subscriber

The SAPC can handle emergency sessions without the emergency subscriber provisioned. To apply specific data (for example QoS or authorized services) for emergency sessions, provision the "emergency" subscriber, using the subscribers URI in the provisioning REST API. The SAPC uses the emergency subscriber for all emergency sessions, regardless of the subscriber traffic identity received. Also, the global subscriber group attributes can affect an emergency session. The unknown subscriber and autoprovisioning do not apply to emergency services.

Note: Some attributes do not apply to the emergency sessions, so trying to provision the emergency subscriber with those attributes returns a failure. See Provisioning REST API for further details.

Example 3   Provision Emergency Subscriber.

PUT /subscribers/emergency
{
    "subscribedContents" : 
        [
                {
                        "contentName" : "EmergencyImsAccess",
                        "redirect" : false
                },
        	{
                        "contentName" : "EmergencyLocationService",
                        "redirect" : false
                }
        ],
        "subscriberId" : "emergency"
}


In Example 3, the emergency subscriber is provisioned with EmergencyImsAccess and EmergencyLocationService service.

To apply specific data (for example QoS or authorized services) for emergency sessions depending on conditions, use Subscriber or Global policy locators. Do not use Subscriber Group locator policies, because the emergency subscriber cannot be assigned to any subscriber group.

To create an emergency subscriber locator, use the following URI in the provisioning REST API:

/subscribers/emergency/locators/resources/<resource>/contexts/<context>

Note: Subscriber and Global policy locators apply to emergency calls, even if the emergency subscriber is not provisioned.

The global locator can be provisioned as specified in Configuration Guide for Subscription and Policies.

6 Emergency Subscriber Profile in External Repository

The SAPC supports to store the emergency subscriber profile in an external repository. To do so, modify EDSourceId=SubscriberEmergency to specify in their dataSource fields the details to access the external repository. For details, refer to Integration in User Data Consolidation.

Note: Some fieldDefs do not apply to the emergency subscriber, thus these fields are preconfigured to "".

7 Configure Multimedia Priority Services APNs

To identify the IP-CAN session establishment related to multimedia priority services, include the list of APNs in the epsBearerIds attribute or the imsIds attribute of Apns MOC.

  • epsBearerIds: the list of APN identifiers enabled for EPS bearer priority services.

  • imsIds: the list of APN identifiers enabled for IMS signalling priority services.

Example 4   Configuration of Multimedia Priority Services APNs

<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>
                <Apns>
                <apnsId>1</apnsId>
                    <epsBearerIds>APN1</epsBearerIds>
                    <imsIds>APN2</imsIds>
                </Apns>
            </Network>
        </PolicyControlFunction>
    </ManagedElement>
    </config>
</edit-config> 

In Example 4, APN1 is configured as EPS bearer APN and APN2 is configured as IMS APN in the SAPC.

8 Provision MPS Profiles

To define MPS profiles, use the multimedia-priority-services URI in the Provisioning REST API.

  • profileId is the unique identity of the MPS profile.

  • mpsType is the priority type of multimedia priority services.

    Allowed values:

    • EpsBearer applies to all traffic for the subscriber.

    • ImsSignalling only applies to IMS signalling traffic.

  • priorityLevel indicates the priority level for multimedia priority services.

    Allowed values: 1-15. The value 1 represents the highest priority level and 15 the lowest priority level.

Example 5   Provisioning of MPS Profile

PUT /profiles/multimedia-priority-services/MpsProfile_EpsBearer_Prio2
{
   "profileId" : "MpsProfile_EpsBearer_Prio2",
   "mpsType" : "EpsBearer",
   "priorityLevel" : 2
} 

9 Configuration Examples for Use Cases

9.1 Emergency Services

This section shows configuration examples for the emergency services applicable to Gx interaction. This is a prerequisite to configure IMS emergency services described in IMS Emergency Services.

Configure the SAPC as follows:

In Example 6 "sos", "sos2" are configured as emergency APNs.

Example 6   Configuration for emergency APNs.

<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>
                <Apns>
                <apnsId>1</apnsId>
                    <emergencyIds>sos</emergencyIds>
                    <emergencyIds>sos2</emergencyIds>
                </Apns>
            </Network>
        </PolicyControlFunction>
    </ManagedElement>
    </config>
</edit-config>

Example 7   Provision of Emergency Subscriber and Gx Services

In Example 7 the emergency subscriber profile includes a static service for IMS access and an emergency location service located at 192.168.2.1. Both services run on the default bearer. The objective is to only allow traffic from the UE to the IMS server (P-CSCF) or the location server in the emergency IP-CAN bearer.

PUT /subscribers/emergency
{
    "subscribedContents" :
   [
      {
         "contentName" : "EmergencyImsAccess",
         "redirect" : false
      },
        {
         "contentName" : "EmergencyLocationService",
         "redirect" : false
      }
   ],
   "subscriberId" : "emergency"
}

PUT /contents/EmergencyImsAccess

{
        "contentName" : "EmergencyImsAccess",
        "pccRuleName" : "1000",
        "pccRuleType" : 0
}

PUT /contents/EmergencyLocationService
{
   "contentName" : "EmergencyLocationService",
   "flows" :
   [

      {
         "destIpAddr" : "any",
         "destPort" : "",
         "direction" : "dl",
         "flowName" : "1",
         "protocol" : "ip",
         "sourceIpAddr" : "192.168.2.1",
         "sourcePort" : ""
      },
     {
         "destIpAddr" : "192.168.2.1",
         "destPort" : "",
         "direction" : "ul",
         "flowName" : "2",
         "protocol" : "ip",
         "sourceIpAddr" : "any",
         "sourcePort" : ""
      }
   ],
   "pccRuleName" : "3001",
   "pccRuleType" : 2
}


The following example (Example 8) illustrates the configuration to apply a particular default bearer QoS to emergency IP-CAN bearer services. In this example, the QoS of the default bearer (with QCI=5, ARP=1) is statically assigned to the emergency subscriber.

Example 8   Provision of Emergency Subscriber and Gx Services with QoS profile.

PUT /subscribers/emergency
{
   "staticQualification" :
   {
      "maxBearerQosProfileId" : "DefaultEmergencyBearerQos",
      "minBearerQosProfileId" : "DefaultEmergencyBearerQos"
   },
   "subscriberId" : "emergency"
}

PUT /profiles/ip-can-session-qos/DefaultEmergencyBearerQos
{
   "arpPriorityLevel": 1,
   "mbrDownlink" : 104,
   "mbrUplink" : 104,
   "profileId" : "DefaultEmergencyBearerQos",
   "qci": 5
}

9.2 IMS Emergency Services

This section shows a configuration example for IMS emergency services applicable to Rx interaction that complements the configuration example for the emergency IP-CAN bearer described in Emergency Services.

Example 9 shows:

  • A dynamic service classification policy, that uses AF-Application-Identifier, Media-Type and Service-URN information received over Rx interface to classify VoiceEmergencyService.

  • A static QoS profile is associated to voice emergency service. Following the standards recommendations, a dedicated bearer is set up for audio QCI=1 and the appropriate value for the ARP according to operator local policies and regulations.

Example 9   Provision of IMS Emergency Services

PUT /contents/DefaultDynamicEmergencyService
{
   "contentName" : "DefaultDynamicEmergencyService",
   "staticQualification" :
   {
      "contentQosProfileId" : "VoiceEmergencyServiceProfile"
   }
}

PUT /profiles/content-qos/VoiceEmergencyServiceProfile
{
   "arpPriorityLevel" : 1,
   "mbrDownlink" : 31,
   "mbrUplink" : 31,
   "profileId" : "VoiceEmergencyServiceProfile",
   "gbrDownlink" : 31,
   "gbrUplink" : 31,
   "qci" : 1
}

PUT /rules/rclassifyVoiceEmergencyService
{
        "condition" : "(AfData.appId == \"urn%3Aurn-xxx%3A3gpp-service.ims.icsi.mmtel\") && (AfData.serviceUrn == \"sos.ambulance\") && (AfData.media.type == \"audio\")",
        "outputAttributes" : 
        [
                
                {
                        "attrName" : "service",
                        "attrValue" : "\"DefaultDynamicEmergencyService\"",
                        "result" : "permit"
                }
        ],
        "ruleName" : "rclassifyVoiceEmergencyService"
}

PUT /policies/pClassifyVoiceEmergencyService
{
   "policyName" : "pClassifyVoiceEmergencyService",
   "ruleCombiningAlgorithm" : "multiple-match",
   "rules" : [ "rclassifyVoiceEmergencyService" ]
}

PUT /locators/resources/application/contexts/service-classification
{
   "policies" :
   [
      "pClassifyVoiceEmergencyService"
   ]
}

9.3 Subscription-based Multimedia Priority Services

This section shows configuration examples for subscription-based multimedia priority services. Based on the MPS subscription, the SAPC applies different QoS profiles to the default bearer or services.

The following configuration steps are needed:

  • Configure a list of APNs as shown in Configure Multimedia Priority Services APNs. The Apns.imsIds and Apns.epsBearerIds policy tags can be used in policy conditions.

  • Provision an MPS profile and add it in the static qualification data of the subscriber.

  • Provision non-prioritized and prioritized QoS profiles for the default bearer or services.

  • Configure qualification policies, using the Subscriber.mpsProfile.<...> policy tags.

9.3.1 Prioritizing the Default Bearer for IMS Signalling

This section shows some configuration examples to prioritize the default bearer for IMS signalling only, based on IMS Signalling subscription.

Example 10 provisions non-prioritized QoS profile Qos_DefaultBearer and prioritized QoS profile Qos_DefaultBearer_Prio3, as well as an MPS profile containing subscription to IMS signalling and priority level 3. The regular Qos_DefaultBearer profile applies to "MpsGroup" group and therefore to the subscriber.

Example 10   Profiles Provisioning

PUT /profiles/ip-can-session-qos/Qos_DefaultBearer
{
	"arpPriorityLevel" : 15,
	"mbrDownlink" : 104,
	"mbrUplink" : 104,
	"profileId" : "Qos_DefaultBearer",
	"qci" : 5
}

PUT /profiles/ip-can-session-qos/Qos_DefaultBearer_Prio3
{
	"arpPriorityLevel" : 3,
	"mbrDownlink" : 104,
	"mbrUplink" : 104,
	"profileId" : "Qos_DefaultBearer_Prio3",
	"qci" : 5
}

PUT /profiles/multimedia-priority-services/MpsProfile_ImsSignalling_Prio3
{
	"profileId" : "MpsProfile_ImsSignalling_Prio3",
	"mpsType" : "ImsSignalling",
	"priorityLevel" : 3
}

PUT /dataplans/MpsGroup
{
        "dataplanName" : "MpsGroup",
        "staticQualification" :
        {
                 "maxBearerQosProfileId" : "Qos_DefaultBearer",
                 "minBearerQosProfileId" : "Qos_DefaultBearer"
        }
}

PUT /subscribers/34600869002
{
        "subscriberId" : "34600869002",
        "dataplans" :
        [
                {
                        "dataplanName" : "MpsGroup"
                }
        ],
        "staticQualification" :
        {
                 "mpsProfileId" : "MpsProfile_ImsSignalling_Prio3"
        }
} 

Then, a qualification policy is configured to apply higher QoS Qos_DefaultBearer_Prio3 for "MpsGroup", therefore to the subscriber provisioned to MpsProfile_ImsSignalling_Prio3.

Example 11   IMS Signalling Policy

PUT /rules/rDefaultBearerPrio
{
	"condition" : "(Subscriber.mpsProfile.mpsType == \"ImsSignalling\")
 && (Subscriber.mpsProfile.priorityLevel == 3)
 && (contains(Apns.imsIds, AccessData.bearer.accessPoint))",
	"outputAttributes" : 
	[
		{
			"attrName" : "max-qos",
			"attrValue" : "(BearerQosProfile[\"Qos_DefaultBearer_Prio3\"])",
			"result" : "permit"
		},
		{
			"attrName" : "min-qos",
			"attrValue" : "(BearerQosProfile[\"Qos_DefaultBearer_Prio3\"])",
			"result" : "permit"
		}
	],
	"ruleName" : "rDefaultBearerPrio"
}

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

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

9.3.2 Prioritizing Dynamic Services with EPS Bearer Subscription

The following examples are used to prioritize dynamic services for a subscriber having EPS bearer subscription. Besides the configuration of APN, MPS profile and qualification policy, a Dynamic Service Classification policy is also needed.

EPS bearer subscription used to prioritize the default bearer is similar to Prioritizing the Default Bearer for IMS Signalling, but using EpsBearer MPS profile type and corresponding APNs.

Example 12 provisions QoS profile Qos_DefaultBearer and MPS profile MpsProfile_EpsBearer_Prio2 for subscriber "34600869001":

Example 12   EPS Bearer Subscription

PUT /profiles/ip-can-session-qos/Qos_DefaultBearer
{
	"arpPriorityLevel" : 15,
	"mbrDownlink" : 104,
	"mbrUplink" : 104,
	"profileId" : "Qos_DefaultBearer",
	"qci" : 5
}

PUT /profiles/multimedia-priority-services/MpsProfile_EpsBearer_Prio2
{
	"profileId" : "MpsProfile_EpsBearer_Prio2",
	"mpsType" : "EpsBearer",
	"priorityLevel" : 2
}

PUT /dataplans/EpsBearerDynamicServiceGroup
{
        "dataplanName" : "EpsBearerDynamicServiceGroup",
        "staticQualification" :
        {
                 "maxBearerQosProfileId" : "Qos_DefaultBearer",
                 "minBearerQosProfileId" : "Qos_DefaultBearer"
        }
}

PUT /subscribers/34600869001

{
        "subscriberId" : "34600869001",
        "dataplans" :
        [
                {
                        "dataplanName" : "EpsBearerDynamicServiceGroup"
                }
        ],
        "staticQualification" :
        {
                 "mpsProfileId" : "MpsProfile_EpsBearer_Prio2"
        }
} 

Then, a classification policy is configured to classify the "MMTel_Service_Audio" and "MMTel_Service_Video" dynamic services:

Example 13   MPS Services Classification

PUT /rules/rClassifyPrioAudio
{
	"condition" : "(AfData.appId == \"urn%3Aurn-xxx%3A3gpp-service.ims.icsi.mmtel\")
 && (AfData.media.type == \"audio\")",
	"outputAttributes" : 
	[
		{
			"attrName" : "service",
			"attrValue" : "\"MMTel_Service_Audio\"",
			"result" : "permit"
		}
	],
	"ruleName" : "rClassifyPrioAudio"
}

PUT /rules/rClassifyPrioVideo
{
	"condition" : "(AfData.appId == \"urn%3Aurn-xxx%3A3gpp-service.ims.icsi.mmtel\")
 && (AfData.media.type == \"video\")",
	"outputAttributes" : 
	[
		{
			"attrName" : "service",
			"attrValue" : "\"MMTel_Service_Video\"",
			"result" : "permit"
		}
	],
	"ruleName" : "rClassifyPrioVideo"
}

PUT /policies/pClassifyPrioServices
{
	"policyName" : "pClassifyPrioServices",
	"ruleCombiningAlgorithm" : "multiple-match",
	"rules" : [ "rClassifyPrioAudio","rClassifyPrioVideo" ]
}

PUT /locators/resources/application/contexts/service-classification
{
	"policies" : [ "pClassifyPrioServices" ]
} 

In the following example, prioritized QoS profiles QosProfileAudio_with_Priority and QosProfileVideo_with_Priority are conditionally assigned to the services, considering the MPS subscription to EPS bearer and the priority level 2:

Example 14   EPS Bearer Services Policy

PUT /profiles/content-qos/QosProfileAudio_with_Priority
{
	"arpPriorityLevel" : 2,
	"mbrDownlink" : 32,
	"mbrUplink" : 32,
	"gbrDownlink" : 32,
	"gbrUplink" : 32,
	"profileId" : "QosProfileAudio_with_Priority",
	"qci" : 1
}

PUT /rules/rQualifyPrioAudio
{
	"condition" : "(Subscriber.mpsProfile.mpsType == \"EpsBearer\")
 && (Subscriber.mpsProfile.priorityLevel == 2)
 && (contains(Apns.epsBearerIds, AccessData.bearer.accessPoint))",
	"outputAttributes" : 
	[
		{
			"attrName" : "qos",
			"attrValue" : "ServiceQosProfile[\"QosProfileAudio_with_Priority\"]",
			"result" : "permit"
		}
	],
	"ruleName" : "rQualifyPrioAudio"
}

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

PUT /dataplans/EpsBearerDynamicServiceGroup/locators/resources/MMTel_Service_Audio/contexts/qos
{
	"policies" : [ "pQualifyPrioAudio" ]
}

PUT /profiles/content-qos/QosProfileVideo_with_Priority
{
	"arpPriorityLevel" : 2,
	"mbrDownlink" : 208,
	"mbrUplink" : 208,
	"gbrDownlink" : 208,
	"gbrUplink" : 208,
	"profileId" : "QosProfileVideo_with_Priority",
	"qci" : 2
}

PUT /rules/rQualifyPrioVideo
{
	"condition" : "(Subscriber.mpsProfile.mpsType == \"EpsBearer\")
 && (Subscriber.mpsProfile.priorityLevel == 2)
 && (contains(Apns.epsBearerIds, AccessData.bearer.accessPoint))",
	"outputAttributes" : 
	[
		{
			"attrName" : "qos",
			"attrValue" : "ServiceQosProfile[\"QosProfileVideo_with_Priority\"]",
			"result" : "permit"
		}
	],
	"ruleName" : "rQualifyPrioVideo"
}

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

PUT /dataplans/EpsBearerDynamicServiceGroup/locators/resources/MMTel_Service_Video/contexts/qos
{
	"policies" : [ "pQualifyPrioVideo" ]
} 

9.4 IMS Multimedia Priority Services

This section includes some examples to show how to prioritize dedicated bearers (Service QoS) and default bearer (Bearer QoS) according to the received data through Rx interface.

Note: Any combination of priorities based on subscription and Rx data can be managed by rules sorted by priority (the highest priority, the first rule).

9.4.1 Service QoS

Here is a summary of the configuration steps to follow:

  • Provision dynamic services and their static QoS profiles.

  • Configure a policy for Dynamic Service Classification.

  • Configure a policy for Dynamic Service Qualification according to reservation priority of the classified dynamic services.

First, non-prioritized Qos_DefaultBearer profiles and prioritized Qos_DefaultBearer_Prio3 profiles are defined for the "MMTel_Service_Audio" and "MMTel_Service_Video" services. The non-prioritized QoS profiles are unconditionally assigned to both services respectively.

Example 15   IMS MPS Services QoS

PUT /profiles/content-qos/QosProfileAudio_without_Priority
{
	"arpPriorityLevel" : 15,
	"mbrDownlink" : 32,
	"mbrUplink" : 32,
	"gbrDownlink" : 32,
	"gbrUplink" : 32,
	"profileId" : "QosProfileAudio_without_Priority",
	"qci" : 1
}

PUT /profiles/content-qos/QosProfileAudio_with_Priority
{
	"arpPriorityLevel" : 3,
	"mbrDownlink" : 32,
	"mbrUplink" : 32,
	"gbrDownlink" : 32,
	"gbrUplink" : 32,
	"profileId" : "QosProfileAudio_with_Priority",
	"qci" : 1
}

PUT /profiles/content-qos/QosProfileVideo_without_Priority
{
	"arpPriorityLevel" : 15,
	"mbrDownlink" : 208,
	"mbrUplink" : 208,
	"gbrDownlink" : 208,
	"gbrUplink" : 208,
	"profileId" : "QosProfileVideo_without_Priority",
	"qci" : 2
}

PUT /profiles/content-qos/QosProfileVideo_with_Priority
{
	"arpPriorityLevel" : 3,
	"mbrDownlink" : 208,
	"mbrUplink" : 208,
	"gbrDownlink" : 208,
	"gbrUplink" : 208,
	"profileId" : "QosProfileVideo_with_Priority",
	"qci" : 2
}

PUT /contents/MMTel_Service_Audio
{
        "contentName" : "MMTel_Service_Audio",
        "staticQualification" :
        {
                 "contentQosProfileId" : "QosProfileAudio_without_Priority"
        }
}

PUT /contents/MMTel_Service_Video
{
        "contentName" : "MMTel_Service_Video",
        "staticQualification" :
        {
                 "contentQosProfileId" : "QosProfilevideo_without_Priority"
        }
} 

Second, a classification policy is configured to classify the "MMTel_Service_Audio" and "MMTel_Service_Video" dynamic services:

Example 16   IMS MPS Services Classification

PUT /rules/rClassifyPrioAudio
{
	"condition" : "(AfData.mpsIdentifier == \"NGN-PS\")
 && (AfData.media.type == \"audio\")",
	"outputAttributes" : 
	[
		{
			"attrName" : "service",
			"attrValue" : "\"MMTel_Service_Audio\"",
			"result" : "permit"
		}
	],
	"ruleName" : "rClassifyPrioAudio"
}

PUT /rules/rClassifyPrioVideo
{
	"condition" : "(AfData.mpsIdentifier == \"NGN-PS\")
 && (AfData.media.type == \"video\")",
	"outputAttributes" : 
	[
		{
			"attrName" : "service",
			"attrValue" : "\"MMTel_Service_Video\"",
			"result" : "permit"
		}
	],
	"ruleName" : "rClassifyPrioVideo"
}

PUT /policies/pClassifyPrioServices 
{
	"policyName" : "pClassifyPrioServices",
	"ruleCombiningAlgorithm" : "multiple-match",
	"rules" : [ "rClassifyPrioAudio","rClassifyPrioVideo" ]
}

PUT /locators/resources/application/contexts/service-classification
{
	"policies" : [ "pClassifyPrioServices" ]
} 

Third, prioritized QoS profiles are conditionally assigned to the services, by taking into account the value of Reservation-Priority AVP (3) received in the AAR:

Example 17   IMS MPS Services Qualification

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

PUT /subscribers/34600869003
{
        "subscriberId" : "34600869003",
        "dataplans" :
        [
                {
                        "dataplanName" : "ImsServiceGroup"
                }
        ]
}

PUT /rules/rQualifyPrioAudio
{
	"condition" : "AccessData.subscriber.service[\"MMTel_Service_Audio\"].reservationPriority==3",
	"outputAttributes" : 
	[
		{
			"attrName" : "qos",
			"attrValue" : "ServiceQosProfile[\"QosProfileAudio_with_Priority\"]",
			"result" : "permit"
		}
	],
	"ruleName" : "rQualifyPrioAudio"
}

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

PUT /dataplans/ImsServiceGroup/locators/resources/MMTel_Service_Audio/contexts/qos
{
	"policies" : [ "pQualifyPrioAudio" ]
}

PUT /rules/rQualifyPrioVideo
{
	"condition" : "AccessData.subscriber.service[\"MMTel_Service_Video\"].reservationPriority==3",
	"outputAttributes" : 
	[
		{
			"attrName" : "qos",
			"attrValue" : "ServiceQosProfile[\"QosProfileVideo_with_Priority\"]",
			"result" : "permit"
		}
	],
	"ruleName" : "rQualifyPrioVideo"
}

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

PUT /dataplans/ImsServiceGroup/locators/resources/MMTel_Service_Video/contexts/qos
{
	"policies" : [ "pQualifyPrioVideo" ]
} 

9.4.2 Bearer QoS

Apart from dedicated bearers, the default bearer can also be prioritized according to the Reservation-Priority AVP received from the AF.

Here is a summary of the configuration steps to follow:

  • Configure QoS profiles for the default bearer.

  • Configure a Dynamic Service Classification policy as in Service QoS.

  • Configure a qualification policy to prioritize the default bearer according to reservation priority of the classified dynamic service.

Example 18 provisions non-prioritized profile Qos_DefaultBearer and assigns it unconditionally to the "ImsBearerGroup" group.

Example 18   IMS MPS Default Bearer QoS

PUT /profiles/ip-can-session-qos/Qos_DefaultBearer
{
	"arpPriorityLevel" : 15,
	"mbrDownlink" : 104,
	"mbrUplink" : 104,
	"profileId" : "Qos_DefaultBearer",
	"qci" : 5
}

PUT /dataplans/ImsBearerGroup
{
        "dataplanName" : "ImsBearerGroup",
        "staticQualification" :
        {
                 "maxBearerQosProfileId" : "Qos_DefaultBearer",
                 "minBearerQosProfileId" : "Qos_DefaultBearer"
        }
}

PUT /subscribers/34600869004
{
        "subscriberId" : "34600869004",
        "dataplans" :
        [
                {
                        "dataplanName" : "ImsBearerGroup"
                }
        ]
} 

Example 19 configures a qualification policy for "ImsBearerGroup" to prioritize conditionally the default bearer based on the Reservation-Priority AVP received in the AAR.

Example 19   IMS MPS Default Bearer QoS Policy

PUT /profiles/ip-can-session-qos/QoS_DefaultBearer_Prio3
{
	"arpPriorityLevel" : 3,
	"mbrDownlink" : 104,
	"mbrUplink" : 104,
	"profileId" : "QoS_DefaultBearer_Prio3",
	"qci" : 5
}

PUT /rules/rQualifyPrioBearer
{
	"condition" : "AccessData.subscriber.service[\"MMTel_Service_Audio\"].reservationPriority==3",
	"outputAttributes" : 
	[
		{
			"attrName" : "qos",
			"attrValue" : "BearerQosProfile[\"QoS_DefaultBearer_Prio3\"]",
			"result" : "permit"
		}
	],
	"ruleName" : "rQualifyPrioBearer"
}

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

PUT /dataplans/ImsBearerGroup/locators/resources/content/contexts/qos
{
	"policies" : [ "pQualifyPrioBearer" ]
} 

10 Appendix A. Emergency Services Policy Tags

Table 2 shows the emergency services related policy tag that can be used in the condition formula of rules.

Table 2   Emergency services policy tag.

Tag

Return Type

Possible Values

Comments

AfData.

serviceUrn

String

any

The value of the service URN provided by the AF for the Rx session.

If not received or the AF session is not used for emergency traffic, the value returned is "" (empty string).

11 Appendix B. Multimedia Priority Services Policy Tags

This section lists the MPS policy tags that can be used in policy conditions.

Table 2 shows the tags related to information about IP-CAN session. The values of the tags are obtained from the Called-Station-Id AVP in CCR-I messages. Their values are kept during the session lifetime, unless new values of the AVP are received in subsequent CCR-U or CCR-T messages.

Table 3   Incoming Message Tags

Tag

Return Type

Possible Values

Comments

Apns.epsBearerIds

Multivalued String

any

Indicates APNs for EPS bearer priority services.

Apns.imsIds

Multivalued String

any

Indicates APNs for IMS priority services.

Table 3 shows tags related to the subscriber profiles. The values of the tags refer to the MPS profiles provisioned for the subscribers.

Table 4   Subscription Related Tags

Tag

Return Type

Possible Values

Comments

Subscriber.mpsProfile.mpsType

String

EpsBearer

ImsSignalling

Indicates subscription to either EPS bearer priority service or IMS signalling priority service.

Subscriber.mpsProfile.priorityLevel

Integer

1–15

Indicates the subscriber priority level.

Table 4 shows the tags related to the content of an Rx request that can be used in Dynamic Service Classification, Authorization, or Qualification.

The values of the tags are obtained from the AVPs received in Rx messages. Their values are kept during the session lifetime, unless new values of the AVP are received in subsequent AAR messages.

Table 5   Application (Rx data) Tags

Tag

Return Type

Possible Values

Comments

AfData.media.reservationPriority

Integer

0-15

The reservation priority. Its value is returned at media component level if present.

If not received in any media component, but it is received at command level, the value at command level is returned.

If not received neither at media component nor command level, 0 (lowest priority level) is assumed.

(1)

AfData.mpsIdentifier

String

any

The service name for multimedia priority service.

If not received, the value returned is "" (empty string).

(1) This tag iterates on each media component of the Rx message.

Table 5 shows tags that can be used in any policy condition evaluated during Gx interactions according to the characteristics of the dynamic services or media components that are active in the IP-CAN session.

Table 6   Policy Tags Related to Dynamic Services

Tag

Return Type

Possible Values

Comments

AccessData.subscriber.service["serviceName"].media.type["mediaType"].reservationPriority

Integer

0-15

Indicates the reservation priority of the dynamic service and media component running on the Gx IP-CAN session. (2)

The service name must correspond to the name used in service classification.

The media type can be any of the supported values in AfData.media.type.

The value returned corresponds to the value received from the AF at media component level, if present.

If not received at media component level, but it is received at command level, the value at command level is returned.

If not received at media component or command level, 0 (lowest priority level) is assumed.

(3)

AccessData.subscriber.service["serviceName"].reservationPriority

Integer

0-15

Indicates the reservation priority of the dynamic service running on the Gx IP-CAN session. (2) (4)

The service name must correspond to the name used in service classification.

The value returned corresponds to the value received from the AF at media component level, if present.

If not received at media component level, but it is received at command level, the value at command level is returned.

If not received at media component or command level, 0 (lowest priority level) is assumed.

(2) If the service is not running, rule evaluation results in false.
(3) If a dynamic service has several media components of the same type (for example two video streams), the SAPC returns the same reservation priority value for all media components of the same media type.
(4) If there are more than one instances of "serviceName" running on the IP-CAN session, the SAPC returns the maximum reservation priority values of all instances. This enables the use case of VoLTE priority call on-hold (call waiting).

12 Reference List