20 Oracle Communications Universal User Profile

This chapter describes Oracle Communications Universal User Profile and contains the following topics:

Note:

Throughout this chapter, the term "Oracle Communications Universal User Profile server" refer to an Oracle Virtual Directory server configured with a Diameter Adapter.

20.1 What is Oracle Communications Universal User Profile?

Oracle Communications Universal User Profile is a stateless subscriber identity service that aggregates and normalizes subscriber data from the various systems that may exist in a telecommunications organization. As telecommunications organizations have grown from land-line to ISP to mobile systems, the number of repositories have also grown exponentially. To take advantage of the new business opportunities enabled by these new services—and to reduce the cost of delivering service to customers—a single view of subscriber identity must be provided to applications.

To provide a single view of subscriber identity to applications, several challenges must be addressed, including:

  • Due to mergers, acquisitions and subsidiaries, subscriber data may be distributed across multiple systems with different keys.

  • Internal organizational data-politics, external regulations, and because the data likely to be out of date if it must be synchronized, it is impossible to merge all data into a single universal repository.

  • Applications require data in application specific views.

  • Multiple aspects related to protecting identity data.

  • The process of duplicating all the storage, security, and back-ups of the existing data while copying it to a different location is an enormous task—one that typically is not a viable option for most organizations.

Oracle Communications Universal User Profile solves the challenges described in the preceding list by providing a stateless, carrier-grade solution that delivers a standard, single point of contact for subscriber identity information. Instead of copying data into a centralized repository, Oracle Communications Universal User Profile retrieves the required data on demand and presents it in a format required by the application.

Additionally, because Oracle Communications Universal User Profile is stateless and integrates with key related technologies such as Oracle's TimesTen In-Memory Database, Service Delivery Platform, and SOA Suite, you can use it to enable "smart-routing" to meet the demands of a telecommunications solution.

The standard interfaces to Oracle Communications Universal User Profile include LDAP and SOAP, and by default, it can access data in LDAP, Relational Database, or Diameter HSS repositories. Oracle Communications Universal User Profile also provides a custom Java API to leverage data in XCAP, Web Services, and any other system Java can connect to.

20.2 Example Oracle Communications Universal User Profile Use Cases and Deployment Scenarios

This topic describes example use cases and deployment scenarios for Oracle Communications Universal User Profile, including:

Enabling Double or Triple Play Services

Many telecommunications companies provide multiple types of service, including mobile/land-line, ISP, and television (cable or fiber) services. As a result, many of these telecommunications companies attempt to "cross-sell" their multiple services to customers that do not currently subscribe to all of them.

In this type off situation, you can use Oracle Communications Universal User Profile to aggregate data from various systems to help build both a marketing campaign and a customer portal to improve the user experience when dealing with the telecommunications company.

For example, to enable the marketing campaign, you can use Oracle Communications Universal User Profile with a BPEL work-flow to:

  1. Find all mobile subscribers that are not television subscribers

  2. Send them a Short Message Service (SMS) message that provides a coupon for a reduced price if they enroll in a television service within a certain time period, say, with in the next four hours

To accomplish this, Oracle Communications Universal User Profile pulls data from:

  • Both mobile and television billing systems to determine which customers have which service

  • The contact database to determine customer phone numbers and phone capabilities

  • The HSS information repository to determine if customers are on-line and capable of meeting the four hour deadline

Using BPEL allows the workflow to be segregated for performance, reliability, and also so that the marketing group can not see customer names and contact information, thereby protecting subscriber's identity information.

Improving Organic Social Networking

While the popularity of social networks is rapidly growing online, social networks have always naturally occurred in our physical, non-electronic communities. In reality however, it is often easier to communicate with the thousands of people in your electronic social network that you have never met face-to-face, than it is to communicate with 10-15 people that you informally associate with by circumstance, say, the parents of the children on a youth athletic team.

Imagine you coach a youth athletic team and one day during practice a rain storm begins unexpectedly. If you wanted to cancel the practice because of the rain it can be very hard, if not impossible for you to contact all the parents of the children in a timely fashion.

However, using Oracle's Web Center, Service Delivery Platform, and Oracle Communications Universal User Profile, telecommunication companies can build a mobile Web application that can address a situation like this and contact the parents of the all children quickly. If you decide to cancel the practice, you could leave a voice or text message on a custom, billable service which would then relay the message to the parents of the children using the team's address book.

In this situation, Oracle Communications Universal User Profile provides:

  • access to the coach's credentials to authenticate to the application

  • the attribute that authorizes the call

  • the team address book, which could have information such as the primary contact number and whether the phone can receive Short Message Service (SMS) or voice only messages

Mid-Call Move

The concept of "Mid-Call Move" refers to a service that allows a person on the phone to have the current call re-directed to different phone. For example, imagine you are participating in a conference call at your desk at work, but you must leave the office. A Mid-Call Move would allow you to press a certain phone number combination on the desk phone, for example, star then 7, and transfer the conference call to your mobile phone. In this situation, you can use Oracle Communications Universal User Profile to determine whether you have enrolled in the Mid-Call Move service, and if so, to then look up your mobile phone number before initiating the transfer.

Smart Package Routing

Imagine while at work, you ordered 1,000 parts and had them sent to Facility A in Atlanta, Georgia. Later you realize you made a mistake and the 1,000 parts are actually needed at Facility B in Boston, Massachusetts. Unfortunately, you do not know the address at Facility B in Boston and you do not know who to notify at either Facility A or B to communicate the situation.

To address a situation like this, a shipping service could be integrated with your office phone service so that a mobile web application could be used to track the package, select a different route, and also notify the correct people—all by selecting the proper office name. In this scenario, Oracle Communications Universal User Profile provides cost-center information for the billing of the package, authorization allowing you to change the package routing, and addresses of the various facilities.

20.3 Oracle Communications Universal User Profile Diameter Adapters

In today's telecommunications environments, subscriber information may be contained in a IMS-compliant Home Subscriber Service (HSS). One feature of Oracle Communications Universal User Profile is the Diameter adapter. The Diameter adapter enables Oracle Communications Universal User Profile to:

  • Connect to 3GPP IP Multimedia Subsystem (IMS) Home Subscriber Systems that run over the Diameter protocol

  • Present a standardized service layer for subscriber identity information regardless of the information's source

Note:

The Client View browser cannot browse the namespace of Diameter adapter because it does not support subtree search scope with a objectclass=* filter. Similarly, the Client View browser cannot browse a Join View adapter configured with a Diameter adapter as its primary adapter.

This topic contains the following sections:

20.3.1 Enabling Support for Diameter Adapters

Perform the following steps to enable Oracle Virtual Directory to support Diameter Adapters:

  1. Use WLST to add schema.diameter.xml to the Oracle Virtual Directory server settings by referring to the "SchemaLocations" entry in "Configuring Oracle Virtual Directory Server Settings Using WLST".

  2. In the ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml file, add the following, as one continuos string, to the end of the java-classpath property for the Oracle Virtual Directory server entry:

    :$ORACLE_HOME/ovd/diameter/lib/wlssdiameter.jar:$ORACLE_
    HOME/ovd/diameter/lib/weblogic.jar:$ORACLE_HOME/ovd/diameter/lib/xbean.jar
    
  3. Reload the OPMN configuration by executing the following command:

    $ORACLE_INSTANCE/bin/opmnctl reload
    
  4. Restart the Oracle Virtual Directory server.

20.3.2 Creating and Configuring Diameter Adapters

Perform the following steps to create and configure a Diameter Adapter:

  1. Create a new Custom Adapter. Refer to "Creating and Configuring Custom Adapters" for more information.

  2. Select Diameter as Adapter Template in the New Custom Adapter dialog box and enter the appropriate Adapter Suffix/Namespace. Click the Finish button.

  3. Go to the Plug-ins tab for the new Diameter adapter. Select DiameterAdapterPlugin and click the Edit button. The Edit Plug-in: DiameterAdapterPlugin dialog box appears.

  4. Add the following configuration parameters (Name: Value) to the Parameters table by selecting a parameter and clicking the Edit button. The remoterealm and remotePeers parameters are required.

    • interface: The type of Diameter interface used to connect to HSS. The default value is Sh.

      Note:

      Currently, Sh is the only supported value for the interface configuration parameter.
    • listener: The hostname of the Oracle Communications Universal User Profile server and the port to listen on to receive messages from the HSS server, which is a requirement of the HSS protocol. The listener value must be in the form of aaa://host:port, for example aaa://ovd.oracle.com:3689. The port must be accessible through the firewall from the HSS server. 3869 is the default port for HSS client listener ports.

      Notes:

      • The aaa string in the listener value is not a replaceable variable—it must be explicitly included.

      • Do not confuse the listener parameter for an Oracle Virtual Directory listener.

    • nosctp: Determines whether to disable SCTP transport. Supported values are true and false. The default setting is true.

      Note:

      Refer to "Enabling SCTP Transport" for more information about using the nosctp option and enabling SCTP Transport.
    • localrealm: The realm of this custom Diameter adapter and can be any valid value for the HSS server. The default is us.oracle.com. The localrealm parameter is used as a key to map records for Oracle Communications Universal User Profile to the HSS server.

    • remoterealm (required): Supplied by the HSS provider, it is the remoterealm value for the HSS server.

    • remotePeers (required): The remotePeers value is the hostname and port to the HSS server. Both values are provided by the HSS server. The remotePeers value must be in the format of aaa://host:port, for example, aaa://hss.oracle.com:3868. The default port is 3868.

      Note:

      Multiple values can be specified by separating each with the semicolon character (;). For example, aaa://127.0.0.1:3868; aaa://different-host:3939.
    • remoteHost: Hostname of the remote HSS server. The default value is 127.0.0.1.

    • connectionWaitTimeout: The amount of time (in milliseconds) for the HSS service to be available while the adapter starts. The default value is 30000.

    • requestTimeout: The maximum waiting time (in milliseconds) for pending HSS transactions to complete. An empty value indicates no timeout. The default value is 5000.

  5. Click the Finish button on the Edit Plug-in: DiameterAdapterPlugin dialog box.

20.3.2.1 Enabling SCTP Transport

The Diameter Adapter supports SCTP Transport only on Solaris SPARC10 and Linux. Perform the following steps to enable SCTP transport for the Diameter Adapter:

  1. Enable SCTP on the server where Oracle Communications Universal User Profile is running.

  2. In Linux and Solaris SPARC 10 environments only, in the ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml file, update LD_LIB_PATH by adding the following to the end of the java-options property for the Oracle Virtual Directory server entry:

    • For Linux, add the following as one line:

      -Djava.library.path=$ORACLE_HOME/ovd/diameter/native/linux32/libsctpwrapper.so

    • For Solaris SPARC10,  add the following as one line:

      -Djava.library.path=$ORACLE_HOME/ovd/diameter/native/solaris10_sparc64/libsctpwrapper.so

  3. Add the following to the end of the java-classpath property for the same Oracle Virtual Directory server entry in the ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml file:

    :$ORACLE_HOME/ovd/diameter/lib/sctp.jar

  4. Set the Diameter Adapter's nosctp configuration parameter to false.

  5. Set the Diameter Adapter's listener configuration parameter to the fully qualified domain name of the Oracle Communications Universal User Profile server.

  6. Set the Diameter Adapter's remotePeers configuration parameter to the fully qualified domain name and port of the HSS server.

  7. Set the Diameter Adapter's remoteHost configuration parameter to the fully qualified domain name of the HSS server.

  8. Restart the Oracle Communications Universal User Profile server.

20.4 Mapping IMS 3GPP Schema to LDAP Schema

Oracle Communications Universal User Profile supports version 6 Sh user profile as defined in the 3GPP TS 29.328 specification (which Oracle recommends becoming familiar with to understand IMS user profiles).

schema.diameter.xml is the Oracle Communications Universal User Profile mapped LDAP schema and defines an LDAP orclHSSProfile objectclass containing the following attributes:

  • orclHSSPublicId: Maps to the Public User Identity IMS user profile as defined in the 3GPP TS 23.008 specification. orclHSSPublicId is the filter attribute typically used to query the HSS Sh profile.

  • orclHSSServiceProfile: In ldapsearch results orclHSSServiceProfile contains the binary value of the XML document contained in the User-Data attribute-value pair of the Diameter Response message. This XML document conforms to version 6 Sh XSD.

    In ldapmodify requests orclHSSServiceProfile contains the RepositoryData serviceIndicator to be updated in the following format:

    <serviceIndicator>:<serviceIndicator_value>
    
  • orclHSSMSISDN: An alternative to orclHSSPublicId, orclHSSMSISDN maps to the Mobile Station ISDN Number as defined in the 3GPP TS23.008 specification.

Example Entry

Generally, the Diameter data can be linked to a core record by using the Join View adapter. For example, the subscriber's core record exists in the billing database but the phone's actual capabilities are stored in the HSS server. The following is an example of what the data may appear like when retrieved and printed out as an LDIF file:

uid=user1,ou=uup2,dc=imc,dc=com
givenname=Jane
sn=Doe
telephonenumber=15551234567
objectclass=top
objectclass=person
objectclass=organizationalperson
objectclass=inetorgperson
objectclass=orclHSSProfile
uid=user1
cn=Jane Doe
title=Associate
authpassword;oid={SASL/MD5}CPvyoxkufZJ69n0YBwfPsw==
authpassword;oid={SASL/MD5-DN}JnDX4y0mf8vdN1dAHVutDw==
authpassword;oid={SASL/MD5-U}/a3vgMwtjQKe8dEcAdxQwQ==
orclHSSPublicId=user1
orclHSSServiceProfile=<?xml version = '1.0' encoding = 'UTF-8'?>
<Sh-Data>
<RepositoryData>
  <PublicIdentifiers>
    <IMSPublicIdentity>
   sip:test.user@test.company.com
    </IMSPublicIdentity>
  </PublicIdentifiers>
  <ServiceIndication>DualRingDiameter</ServiceIndication>
  <SequenceNumber>0</SequenceNumber>
</RepositoryData>
</Sh-Data>
vdejoindn=Diameter:orclhsspublicid=user1,ou=Custom,dc=hsscontractid=2001-A57

Note:

Notice the orclHSSServiceProfile attribute value is stored as XML, which allows for a complex data value to be stored for this attribute without needing to reference another LDAP object.

The orclHSSServiceProfile value contains the result value for the DataReference type for the IMSPublicIdentity. The DataReference type is specified by a numeric value in the communication, however each value corresponds to a type. The result values for the DataReference type are listed in Table 20-2:

Table 20-1 Result Values for DataReference Type

Type Numeric Value

REPOSITORY DATA

0

IMS PUBLIC IDENTITY

10

IMS USER STATE

11

SCSCF NAME

12

INITIAL FILTER CRITERIA

13

LOCATION INFORMATION

14

USER STATE

15

CHARGING INFORMATION

16

MSISDN

17

PSIActivation

Currently not supported


By default, Oracle Communications Universal User Profile sends the value corresponding to IMS PUBLIC IDENTITY with All-Identities SH UDR to the HSS and retrieves the complete user identity set.

If clients must send different UDR requests, you can use an LDAP control defined as 2.16.840.1.23008.2.9.28. The data in the control takes the numeric value followed by a semicolon (;) and Reference Identifier, for example: 0;DualRingTone. The numeric value corresponds to one of the UDR values listed in Table 20-2:

Table 20-2 Result Values for DataReference Type

Type Numeric Value

REPOSITORY DATA

0;serviceIndication

IMS PUBLIC IDENTITY

10;identitySet

identitySet supports integer values of 0, 1, and 2, as follows:

  • 0 = All-Identities

  • 1 = Registered-Identities

  • 2 = Implicit-Identities

IMS USER STATE

11

SCSCF NAME

12

INITIAL FILTER CRITERIA

13;serverName

LOCATION INFORMATION

14;requestedDomain

requestedDomain supports integer values of 0 and 1 as follows:

  • 0 = CS-Domain

  • 1 = PS-Domain

USER STATE

15;requestedDomain

requestedDomain supports integer values of 0 and 1 as follows:

  • 0 = CS-Domain

  • 1 = PS-Domain

CHARGING INFORMATION

16

MSISDN

17

PSIActivation

Currently not supported.


The Diameter adapter supports writes and reads. When updating the data stored in orclHSServiceProfile, the data must be supplied in the following format:

<serviceIndicator>:<serviceIndicator_value>

For example: DualRingTone:30