- Integration in Software Defined Network Introduction
- Integration in Software Defined Network Solution Description
- Network Topology
- Interface Description
- Operation and Maintenance
- Capabilities
- Appendix A. Policy Tags
- Reference List
2 Integration in Software Defined Network Solution Description
2.1 Solution Overview
SDN is an emerging network architecture that decouples the network control and forwarding functions, enabling network control to become directly programmable and the underlying infrastructure to be abstracted from applications and network services.
The SDN allows operator to do the following:
The Ericsson SDN service chaining solution uses the concept of SDN to steer subscriber traffic flows according to a defined service chain in the operator's service network. The operator's service network processes the subscriber traffic and adds value to the operator or to the subscriber. The services provided by the operator's service network can be firewalls, HTTP header enrichment servers, video optimization servers, web catching servers, and content filtering servers.
The Figure 1 shows a high-level view of Ericsson SDN service chaining solution architecture, including the role of the SAPC in the SDN domain.
The architecture consists of the following components:
| EPG |
An entry point that injects data flows into the SDN domain. |
|
| EFS |
A switch that implements OpenFlow™ standards with Ericsson proprietary extensions. |
|
| SDN-C |
A central controller that provides an abstraction layer of the forwarding plane to the Broadband Service Controller (BBSC) and programs the forwarding behavior of EFSs using OpenFlow™ standards. |
|
| BBSC |
An intelligent control function that classifies the subscriber traffic according to filter rules and subscriber profile identifiers received from different sources, and instructs the SDN-C to program EFSs for service chaining. |
|
| SAPC |
A service chain supporting node that provides subscriber-related steering information to the BBSC. Upon detection of certain network events, for example, subscriber session creation or deletion, the SAPC can trigger a SOAP notification to the BBSC through the Dynamic Filter Control (DFC) interface to request the creation or deletion of dynamic filter rules in the BBSC. The notification includes typically subscriber IP addresses and their associated subscriber profile identifier used for the BBSC to classify subscriber's packets to service chains. The subscriber IP address is used to identify traffic flows of a specific subscriber. Multiple subscriber IP addresses (IPv4 and IPv6 prefix) can be associated with the same subscriber profile. SOAP Notifications function is used by the SAPC to notify the BBSC about subscriber information. The availability of this function in the SAPC is under license control. For more information about the SOAP notifications, refer to notification sending procedure in User Notifications. |
|
2.2 Service Chaining
The service chaining is a concept programed at EFSs for specific subscribers by the SDN-C. The service chain consists of a chain of service functions (for example, Content Filtering) for traffic processing. The service function receives packets and sends them back to the SDN domain after processing. Processing means analyzing and altering or deleting packets. The service chain forwards the processed packets further along its data path.
2.2.1 Use Case: Content Filtering
Content Filtering means the analysis of traffic by applying filter rules or policies on traffic with predetermined characteristics. Once subscribed, the subscriber can select different profiles. Based on the profile, certain web pages are made inaccessible. In this way children can, for example, be prevented from accessing adult-oriented web contents.
The subscription to the Content Filtering is stored with other subscriber-specific information as the subscriber profile in the SAPC. When a subscriber registers to the network activating an IP-CAN session, the EPG assigns an IP address to the subscriber and reports the IP address to the SAPC. The SAPC checks the request type (CCR-Initial) and the status of the subscription to the group "ParentalControl" of the subscriber in the notification condition. If the condition is fulfilled, the SAPC forwards the IP address to the BBSC with the Content Filtering profile ID, requesting the BBSC to update the dynamic filter rules on the subscriber's packet traffic.
The BBSC then installs forwarding rules in the EFSs through the SDN-C. All uplink HTTP traffic for the subscriber is replicated to the Content Filtering service function (CF node in Figure 2). The Content Filtering service function analyzes the replicated traffic in near real time. If a page is barred for a subscriber, the Content Filtering service function sends the subscriber's browser an HTTP redirection to another page and resets the TCP connection to the web server through the Provider Edge (PE) Internet Gateway.
2.3 Restoration Procedures
When a SAPC restart occurs, the last database session information is not recovered, and therefore all the dynamic data related to sessions are neither recovered. Hence, the SAPC does not send any notification to the BBSC.
When the SAPC detects an EPG restart, a massive cleanup mechanism is performed to remove the obsolete sessions belonging to the restarted EPG. As part of that mechanism, the BBSC receives the indication to stop the corresponding subscriber-profile based service chain.
For more information about restoration procedures in the SAPC, refer to Availability and Scalability.
3 Network Topology
In the SDN solution, the SAPC can be deployed in a network where multiple SDN domains exist, with multiple BBSCs. The SAPC is able to select the appropriate BBSC per domain based on the information about the EPG applicable in that SDN domain.
The Figure 3 shows a simple network topology where the SAPC supports the multiple SDN domains.
4 Interface Description
The DFC interface is opened by the SAPC (client) to the BBSC (server). This interface uses the SOAP protocol carried on a non-encrypted HTTP connection to provide subscriber awareness to the BBSC. Given this information, the BBSC configures the mapping of data flows to service chains for a particular subscriber.
The Figure 4 shows the traffic case over the DFC interface.
The SAPC sends a SOAP request message assignSubscriberProfile when the IP-CAN session establishment is performed. This SOAP request message triggers the start of subscriber-profile based service chain for the indicated subscriber traffic. The BBSC generates the SOAP response message assignSubscriberProfileResponse that includes a boolean result for the transaction. The result can be TRUE or FALSE.
The possible parameters within the assignSubscriberProfile message are shown in Table 1.
|
Parameter Name |
Description |
Type |
Presence |
|---|---|---|---|
|
subscriberProfile |
A subscriber profile identifier which corresponds to a BBSC subscriber profile identity configured in the BBSC. The profile identity is used in the service chain selection. |
String |
Mandatory |
|
subscriberId |
The subscriber’s identity in the form of the International Mobile Subscriber Identity (IMSI) or Mobile Subscriber ISDN Number (MSISDN) |
String |
Mandatory |
|
ueIPv4Address |
An IPv4 address of the user device |
String |
Mandatory |
|
ueIPv6Prefix |
An IPv6 prefix of the user device |
String |
Optional |
|
apn |
Access Point Name |
String |
Optional |
|
rat |
Radio Access Technology |
String |
Optional |
| Note: |
According on how the SOAP WebService is deployed, all fields
above are mandatory, that is, they must be present in the request
even if they are an empty value. The value Mandatory in the column
Presence means that the field must contain a value. |
The SAPC sends a SOAP request message removeSubscriberProfile when the IP-CAN session termination is performed. This SOAP request message triggers the stop of subscriber-profile based service chain for the indicated subscriber traffic. The BBSC generates the SOAP response message removeSubscriberProfileResponse that includes a boolean result for the transaction. The result can be TRUE or FALSE.
The possible parameters within the removeSubscriberProfile message are shown in Table 2.
|
Parameter Name |
Description |
Type |
Presence |
|---|---|---|---|
|
ueIPv4Address |
An IPv4 address of the user device |
String |
Mandatory |
|
ueIPv6Prefix |
An IPv6 prefix of the user device |
String |
Optional |
|
apn |
Access Point Name |
String |
Optional |
| Note: |
According on how the SOAP WebService is deployed, all fields
above are mandatory, that is, they must be present in the request
even if they are an empty value. The value Mandatory in the column
Presence means that the field must contain a value. |
In addition, for all SOAP request messages, the SAPC IP address is included in the IP header of the HTTP payload. The IP address is checked against the valid SAPC peer addresses configured in the BBSC and also maps to a service chain forwarding identity in the BBSC.
A correctly processed SOAP message request is answered with a TRUE SOAP message response and HTTP status code 200 indicating success.
| Note: |
For the latest details about the DFC interface, refer to BBSC-PCRF Interface Description in BBSC CPI
Library. |
5 Operation and Maintenance
Before configuring the SAPC in an operational network, assure that:
To configure the SAPC to use SOAP Notifications, perform the following tasks according to Configuration Guide for End User Notifications:
5.1 Configuration Management
5.1.1 Configuring the subscriber data
Configure the attributeName"serviceChainingProfileId" and its attributeValue in the operatorSpecificInfos attribute of the subscribers URI in the Provisioning REST API. The attributeValue is the same as the contentFiltering value configured in the staticQualification attribute of the subscribers URI in the Provisioning REST API
For more information see the Configuration Guide for Access and Charging Control (Gx) .
5.1.2 Configuring BBSC Peers
The valid BBSC peer that needs to communicate with the SAPC must be configured in the SAPC as a Web Service End Point by using the corresponding WebServiceEndPoint and WsDestination COM objects.
The following example shows the configuration of a Web Service End Point that corresponds to the BBSC.
Example 1 Configuration of WebServiceEndPoint and WsDestination COM objects for BBSC
<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>
<WebServiceEndPoints xmlns="urn:com:ericsson:ecim:webserviceendpointsmom">
<webServiceEndPointsId>1</webServiceEndPointsId>
<WebServiceEndPoint xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="merge">
<webServiceEndPointId>BBSC_Notifications</webServiceEndPointId>
<connectionTimeout>3000</connectionTimeout>
<maxNumberRetries>1</maxNumberRetries>
<soapAction>http://ericsson.com/sccf/webservice/SubsReportingService/</soapAction>
<WsDestination xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="merge">
<wsDestinationId>http://10.87.163.178:8090/subsReporting/v1.0/</wsDestinationId>
<httpProxy></httpProxy>
</WsDestination>
</WebServiceEndPoint>
</WebServiceEndPoints>
</Network>
</PolicyControlFunction>
</ManagedElement>
</config>
</edit-config>
The example above configures one Web Service End Point identified as "BBSC_Notifications". The SOAP notifications sent through the Web Service End Point set the "soapAction" HTTP header to the configured value http://ericsson.com/sccf/webservice/SubsReportingService/.
The example above configures the BBSC URL "http://10.87.163.178:8090 /subsReporting/v1.0/" as the unique Web Service Destination for that Web Service End Point.
Example 2 Configuration of SOAP Notification Receiver for BBSC
To specify the BBSC as the SOAP notification receiver, do the following:
<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>
<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>SOAPNotificationReceivers</eDSourceId>
<definition>
def SOAPNotificationReceivers ( msg )
{
dataSource = {
url = "";
query = "";
}
fieldDef = {
notifMsg = arg( "msg" );
ws = "BBSC_Notifications";
}
}
</definition>
</EDSource>
</EDSources>
</EntityData>
</PolicyControlFunction>
</ManagedElement>
</config>
</edit-config>
The example above represents an EDSource COM object identified as "SOAPNotificationReceivers". The receiver of the SOAP notification is the Web Service Destination configured in the Web Service End Point identified as "BBSC_Notifications."
5.1.3 Configuring the SOAP Notification Policies
The SOAP notification condition includes the AccessData.bearer.requestType policy tag and some subscriber profile policy tags as dynamic conditions at least. For example, the Subscription.group["groupName"].isActive or any other policy tag related with the subscriber.
The Subscriber.serviceChainingProfileId policy tag provides the value for the "subscriberProfile" SOAP operation parameter.
In order to use the Subscriber.serviceChainingProfileId policy tag as subscriber extra data in policies, as in Example 4, configure the "serviceChainingProfileId" name in the Subscriber EDSource COM object.
For more information about policies configuration and how to use subscriber extra data in policies see the Configuration Guide for Subscription and Policies.
To configure the SOAP notification policies, configure the XML notification text for the SOAP operations assignSubscriberProfile and removeSubscriberProfile.
To set the values needed by the BBSC in the SOAP operations, the SAPC uses the input arguments of the EDSource instances containing the notifications text.
5.1.3.1 Configuring SOAP Notification Policies for assignSubscriberProfile operation
The Example 3 permits to compose the content of the SOAP message corresponding to the assignSubscriberProfile request operation.
|
SOAP Operation Parameter Name |
Argument Name in SOAPNotification_activate |
SOAP Notification Input Parameter |
|---|---|---|
|
subscriberProfile |
arg4 |
Subscriber.serviceChainingProfileId |
|
subscriberId |
arg3 |
AccessData.subscriber.imsi |
|
ueIPv4Address |
arg1 |
AccessData.subscriber.ueIpAddress |
|
ueIPv6Prefix |
arg2 |
- |
|
apn |
arg5 |
AccessData.bearer.accessPoint |
|
rat |
arg6 |
AccessData.bearer.accessType |
In the name space declaration, sap is declared as xmlns:sap=http://ericsson.com/sccf/webservice/SubsReportingService
Example 3 Configuration for the SOAP assignSubscriberProfile operation
<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>
<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>SOAPNotification_activate</eDSourceId>
<definition>
def SOAPNotification_activate( arg1, arg2, arg3, arg4, arg5, arg6)
{
dataSource = {
url = "";
query = "";
}
fieldDef = {
xmlText = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'
xmlns:xsd='http://wwww.w3.org/2001/XMLSchema'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-Instance'
xmlns:sap='http://ericsson.com/sccf/webservice/SubsReportingService'>
<soapenv:Body>
<sap:assignSubscriberProfile>
<Message>
<ueIPv4Address>" + arg(arg1) + "</ueIPv4Address>
<ueIPv6Prefix>" + arg(arg2) + "</ueIPv6Prefix>
<subscriberId>" + arg(arg3) + "</subscriberId>
<subscriberProfile>" + arg(arg4) + "</subscriberProfile>
<rat>" + arg(arg5) + "</rat>
<apn>" + arg(arg6) + "</apn>
</Message>
</sap:assignSubscriberProfile>
</soapenv:Body>
</soapenv:Envelope>";
}
}
</definition>
</EDSource>
</EDSources>
</EntityData>
</PolicyControlFunction>
</ManagedElement>
</config>
</edit-config>
Once the SOAP operation with the notification message format is configured by means of the "SOAPNotification_activate" instance of the EDSource, configure the notification rule.
The attrValue of the outputAttributes in the rules URI in the Provisioning REST API contains the notification receiver identities and the notification text using the following syntax:
NotificationReceivers[<New eDSourceId>[<arg1, arg2, ..., argN>].xmlText]
Example 4 Configuration of Notification Rule Using SOAP EDSource for assignSubscriberProfile operation
Example 4 shows how to configure the notification condition and to associate to it the BBSC assignSubscriberProfile operation (using the SOAPNotification_activate EDSource instance).
PUT /rules/rSOAP_IpcanActivated
{
"condition" : "(AccessData.bearer.requestType ==1) && (Subscription.group[\"ParentalControl\"].isActive)",
"outputAttributes" :
[
{
"attrName" : "notification",
"attrValue" : "SOAPNotificationReceivers[SOAPNotification_activate[AccessData.subscriber.ueIpAddress, \"\", AccessData.subscriber.imsi, Subscriber.serviceChainingProfileId, AccessData.bearer.accessPoint, AccessData.bearer.accessType].xmlText]",
"result" : "permit"
}
],
"ruleName" : "rSOAP_IpcanActivated"
}
This example sends a SOAP notification to notify for the IP-CAN session establishment when the subscriber has the "ParentalControl" group active. The SAPC sends the SOAP notification to the web service identified by "BBSC_Notifications". The notification message is configured in the xmlText field definition of the "SOAPNotification_activate"EDSource object. The input arguments of the "SOAPNotification_activate" instance receive the needed values to fill the SOAP notification text properly.
5.1.3.2 Configuring SOAP Notification Policies for removeSubscriberProfile operation
The Example 5 permits to compose the content of the SOAP message corresponding to the removeSubscriberProfile request operation.
|
SOAP Operation Parameter Name |
Argument Name in SOAPNotification_activate |
SOAP Notification Input Parameter |
|
ueIPv4Address |
arg1 |
AccessData.subscriber.ueIpAddress |
|
ueIPv6Prefix |
arg2 |
- |
In the name space declaration, sap is declared as xmlns:sap=http://ericsson.com/sccf/webservice/SubsReportingService
Example 5 Configuration for the SOAP removeSubscriberProfile operation
<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>
<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>SOAPNotification_deactivate</eDSourceId>
<definition>
def SOAPNotification_deactivate(arg1, arg2, arg3)
{
dataSource = {
url = "";
query = "";
}
fieldDef = {
xmlText = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'
xmlns:xsd='http://wwww.w3.org/2001/XMLSchema'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-Instance'
xmlns:sap='http://ericsson.com/sccf/webservice/SubsReportingService'>
<soapenv:Body>
<sap:removeSubscriberProfile>
<Message>
<ueIPv4Address>" + arg(arg1) + "</ueIPv4Address>
<ueIPv6Prefix>" + arg(arg2) + "</ueIPv6Prefix>
<apn>" + arg(arg3) + "</apn>
</Message>
</sap:removeSubscriberProfile>
</soapenv:Body>
</soapenv:Envelope>";
}
}
</definition>
</EDSource>
</EDSources>
</EntityData>
</PolicyControlFunction>
</ManagedElement>
</config>
</edit-config>
Example 6 Configuration of Notification Rule Using SOAP EDSource for removeSubscriberProfile operation
Once the SOAP operation with the notification message format is configured by means of the "SOAPNotification_deactivate" instance of the EDSource, configure the notification rule.
The attrValue of the outputAttributes in the rules URI in the Provisioning REST API contains the notification receiver identities and the notification text using the following syntax:
NotificationReceivers[<New eDSourceId>[<arg1, arg2, ..., argN>].xmlText]
Example 6 shows how to configure the notification condition and to associate to it the BBSC removeSubscriberProfile operation (using SOAPNotification_deactivate EDSource instance).
PUT /rules/rSOAP_IpcanDeactivate
{
"condition" : "(AccessData.bearer.requestType ==3) && (Subscription.group[\"ParentalControl\"].isActive)",
"outputAttributes" :
[
{
"attrName" : "notification",
"attrValue" : "SOAPNotificationReceivers[SOAPNotification_deactivate[AccessData.subscriber.ueIpAddress, \"\"].xmlText]",
"result" : "permit"
}
],
"ruleName" : "rSOAP_IpcanDeactivate"
}
This example sends a SOAP notification to notify for the IP-CAN session termination when the subscriber has the "ParentalControl" group active. The SAPC sends the SOAP notification to the web service identified by "BBSC_Notifications". The notification message is configured in the xmlText field definition of the "SOAPNotification_deactivate"EDSource object. The input arguments of the "SOAPNotification_deactivate" instance receive the needed values in order to fill the SOAP notification text properly.
5.1.3.3 Selecting Different BBSCs Depending on Network Topology
To select different BBSCs, add dynamic conditions such as EPG Origin-Host (AccessData.host.name) in the condition attribute for the rules URI in the Provisioning REST API. Configure a Web Service End Point for each BBSC and associate it with the suitable instance of the EDSsource as a notification receiver. Afterwards, use these instances in the attrValue value of the outputAttributes attribute in the rules URI in the Provisioning REST API. The EDSource instances for the notifications text can be reused for the different destinations.
5.2 Performance Management
Refer to User Notifications.
5.3 Fault Management
Refer to User Notifications.
5.4 Logging
Refer to User Notifications.
6 Capabilities
Refer to User Notifications.
7 Appendix A. Policy Tags
The policy tags that can be used to trigger SOAP notifications from the SAPC to the BBSC, are the ones described in Configuration Guide for Access and Charging Control (Gx), and Configuration Guide for Subscription and Policies.
8 Reference List
-
BBSC-PCRF Interface Description, 2/15519-AXB 250 18/5
-
Hypertext Transfer Protocol -- HTTP/1.1, 1999-06, RFC 2616
-
Simple Object Access Protocol (SOAP) 1.1, 2000–08, W3C SOAP/1.1 Note

Contents