Oracle® Fusion Middleware Administrator's Guide for Oracle Virtual Directory 11g Release 1 (11.1.1) Part Number E10046-03 |
|
|
View PDF |
This chapter describes Oracle Communications Universal User Profile and contains the following topics:
Example Oracle Communications Universal User Profile Use Cases and Deployment Scenarios
Oracle Communications Universal User Profile Diameter Adapters
Note:
Throughout this chapter, the term "Oracle Communications Universal User Profile server" refer to an Oracle Virtual Directory server configured with a Diameter Adapter.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—as well as 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 will 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, it can be used 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.
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, Oracle Communications Universal User Profile can be used 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, Oracle Communications Universal User Profile can be used with a BPEL work-flow to:
Find all mobile subscribers that are not television subscribers
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 need to 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, Oracle Communications Universal User Profile can be used 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.
In today's telecommunications environments, subscriber information may be contained in a IMS-compliant Home Subscriber Service (HSS). One of the features 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 is unable to browse the namespace of Diameter adapter because it does not support subtree search scope with aobjectclass=*
filter. Similarly, the Client View browser is unable to browse a Join View adapter configured with a Diameter adapter as its primary adapter.This topic contains the following sections:
Perform the following steps to enable Oracle Virtual Directory to support Diameter Adapters:
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".
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
Reload the OPMN configuration by executing the following command:
$ORACLE_INSTANCE/bin/opmnctl reload
Restart the Oracle Virtual Directory server.
Perform the following steps to create and configure a Diameter Adapter:
Create a new Custom Adapter. Refer to "Creating and Configuring Custom Adapters" for more information.
Select Diameter as Adapter Template in the New Custom Adapter dialog box and enter the appropriate Adapter Suffix/Namespace. Click the Finish button.
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.
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 or not 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 semi-colon 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 will indicate no timeout. The default value is 5000.
Click the Finish button on the Edit Plug-in: DiameterAdapterPlugin dialog box.
The Diameter Adapter supports SCTP Transport only on Solaris SPARC10 and Linux. Perform the following steps to enable SCTP transport for the Diameter Adapter:
Enable SCTP on the server where Oracle Communications Universal User Profile is running.
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
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
Set the Diameter Adapter's nosctp configuration parameter to false
.
Set the Diameter Adapter's listener configuration parameter to the fully qualified domain name of the Oracle Communications Universal User Profile server.
Set the Diameter Adapter's remotePeers configuration parameter to the fully qualified domain name and port of the HSS server.
Set the Diameter Adapter's remoteHost configuration parameter to the fully qualified domain name of the HSS server.
Restart the Oracle Communications Universal User Profile server.
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 will be linked to a core record via 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 theorclHSSServiceProfile
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, an LDAP control defined as 2.16.840.1.23008.2.9.28 can be used. 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:
|
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:
|
USER STATE |
15;requestedDomain requestedDomain supports integer values of 0 and 1 as follows:
|
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