Oracle® Communications Services Gatekeeper Communication Service Guide Release 5.1 E37526-01 |
|
|
PDF · Mobi · ePub |
This chapter describes the use of Application Subscription Management in Oracle Communications Services Gatekeeper.
Services Gatekeeper supports Open Mobile Alliance (OMA) General Service Subscription Management (GSSM) functionality including subscription management, subscription profile access and subscription validation with Application Subscription Management.
Application Subscription Management includes both a communication service and a RESTful interface for managing and querying service subscription status. Application Subscription Management grants or restricts application access to a subscriber's communication service(s) depending on subscription status.
For information on the OMA GSSM specification see:
http://technical.openmobilealliance.org/Technical/release_program/gssm_v1_0.aspx
For information on using the Application Subscription Management communication service, including configuring subscriptions using SMPP, see the chapter on Application Subscription Management in Oracle Communications Services Gatekeeper Communication Service Guide.
Services Gatekeeper provides a RESTful interface for Application Subscription Management in addition to the Mbean interface accessible from the Administration Console or Platform Test Environment (PTE).
For more information on using the RESTful interface, see the chapter on Application Subscription Management in Oracle Communications Services Gatekeeper RESTful Application Developer's Guide.
Services Gatekeeper supports OAuth authentication in Application Subscription Management. Services Gatekeeper generates and stores an OAuth token for subscription requests using OAuth. Subsequent application access requests for subscriber services usage require a valid OAuth accessToken. The Services Gatekeeper OAuth Interceptor uses the provided accessToken to confirm a subscriber's identity before permitting subscriber services usage.
See "Configure Application OAuth Scope", for information on enabling OAuth accessTokens in Application Subscription Management.
For information about Services Gatekeeper OAuth support, see Oracle Communications Services Gatekeeper OAuth Guide.
The Application Subscription Management communication service generates Event Data records (EDRs) to assist system administrators and developers in monitoring the service.
Table 4-1 lists the EDRs generated by Application Subscription Management operations.
Table 4-1 Application Subscription Management Class EDRs
EDR ID | Description |
---|---|
409001 |
An application created a subscription using createSubscription. |
409002 |
An application deleted a subscription using deleteSubscription. |
409003 |
An application confirmed a subscription using confirmSubscription. |
409004 |
A subscriber list of application subscriptions was generated using listSubscriptionsBySubscriberAddress. |
409005 |
An application subscription list was generated using listSubscriptionsByApplicationName. |
409006 |
An application subscription was retrieved using getSubscriptionById. |
409007 |
An application subscription response was sent. |
409008 |
An application subscription request was created using createSubscription from SMPP. |
409009 |
An application subscription was suspended. |
409010 |
An application subscription was unsuspended. |
409101 |
createSubscription was called in the Access Tier. |
409102 |
deleteSubscription was called in the Access Tier. |
409103 |
confirmSubscription was called in the Access Tier. |
409104 |
listSubscriptionsBySubscriberAddress was called in the Access Tier. |
409105 |
listSubscriptionsByApplicationName was called in the Access Tier. |
409106 |
getSubscriptionById was called in the Access Tier. |
409107 |
notifySubscription callback in the Access Tier. |
409110 |
suspend was called in the Access Tier. |
409111 |
unsuspend was called in the Access Tier. |
This section describes the properties and workflow for setting up the Application Subscription Management plug-in instance.
The Application Subscription Management plug-in supports loading an XML configuration file that includes subscription management settings for managed applications. Additional operations are provided for retrieving configuration, listing subscriptions and connecting to an SMSC.
Table 4-2 lists the technical specifications for the communication service.
Table 4-2 Properties for Application Subscription Management
Property | Description |
---|---|
Managed object in Administration Console |
domain_name- OCSG > server_name > Communication Services > Plugin_app_subscription |
MBean |
Domain=com.bea.wlcp.wlng Name=wlng_nt _app_subscription InstanceName=Plugin_app_subscription Type=oracle.ocsg.plug-in.subscription.management.SubscriptionPluginMbean |
Network protocol plug-in service ID |
Plugin_app_subscription |
Network protocol plug-in instance ID |
The ID is assigned when the plug-in instance is created. See the chapter on managing and configuring the plug-in manager in Oracle Communications Services Gatekeeper System Administrator's Guide. |
Service type |
AppSubscription |
Interfaces with the network nodes using: |
SMPP Esme System Type and Version |
Deployment artifacts: |
wlng_nt_app_subscription.ear and wlng_at_app_subscription_rest.ear |
The Services Gatekeeper installation includes two optional packages used with Application Subscription Management. By default, these packages are not installed. You must install and deploy the following packages before configuring Application Subscription Management:
wlng_at_app_subscription_rest.ear
wlng_nt_app_subscription.ear
You must create and configure a plug-in instance after installing the packages. The following lists the steps for configuring the plug-in:
Deploy the Application Subscription Management plug-in ear packages. See "Deploying Application Subscription Management Packages", for more information.
Create an Application Subscription Management plug-in instance. See "Creating an Application Subscription Management plug-in Instance", for more information.
Configure the Application Subscription Management plug-in attributes. See "Editing Application Subscription Management Attributes", for more information.
Load and retrieve application subscription configurations. See "Loading Application Subscription Configuration Files" and "Retrieving Application Subscription Configuration Files", for more information.
Retrieve application subscription lists. See "Retrieving Application Subscription Lists", for more information.
Configure application OAuth scope if necessary. See "Configure Application OAuth Scope", for more information.
Connect to an SMSC. See "Connecting to an SMSC", for more information.
To deploy the necessary packages:
Log into the Administration Console.
Click Deployments under Domain Structure.
Click Install.
If needed, enter the path to the applications directory in Path. The default location for the applications directory is Oracle_Home/ocsg_5.1/applications.
Select wlng_at_app_subscription_rest.ear.
Click Next.
Select Install this deployment as an application.
Click Next.
Select any optional settings that are needed in your environment. For more information on deployment settings, see the chapter on the deployment model in Oracle Communications Services Gatekeeper System Administrator's Guide.
Click Next.
Review your deployment choices and click Finish.
Repeat steps 1 through 11 for the wlng_nt_app_subscription.ear application file.
You must create one or more instances of the Application Subscription Management plug-in to manage subscription requests. Create an instance of the Application Subscription Management plug-in as follows:
Log into the Administration Console.
Expand OCSG in the Domain Structure pane.
Click on the name of the administration or managed server you want to create the Application Subscription Management plug-in instance on.
Expand the Container Services node in the Oracle Communications Services Gatekeeper pane.
Select PluginManager.
Click the Operations tab.
In the Select An Option pull down menu select createPluginInstsance.
Enter Plugin_app_subscription
in the PluginServiceId field.
Enter a unique name in the PluginInstanceId field.
Click Invoke.
Add a route to the ASM plug-in using the pluginManager Mbean.
The Platform Test Environment MBean interface can also be used to create and manage Application Subscription Management plugins. For information on using the Platform Test Environment, see Oracle Communications Services Gatekeeper Platform Test Environment Guide.
Each instance of the Application Subscription Management plug-in can be configured with its own attributes. For example, you can configure an instance of the plug-in for each type of short message service center (SMSC) used in your environment.
To configure the Application Subscription Management plug-in attributes listed in "Reference: Attributes and Operations for Application Subscription Management":
Log into the Administration Console.
Expand the OCSG node in Domain Structure.
Select the administration or managed server where you created the Application Subscription Management plug-in.
Expand Communication Services in Oracle Communications Services Gatekeeper.
Select the Application Subscription Management plug-in instance to configure.
Click Attributes.
Select the checkboxes of the attributes you wish to change.
Enter the new values for the attribute(s).
Click Update Attributes.
Create and manage subscription configurations for application services using the loadAppSubscriptionsXml operation. You use this operation with an XML configuration file containing subscription parameters described in "Operation: loadAppSubscriptionsXml".
Example 4-1 shows a sample subscription management XML configuration file used to load application subscription data into Services Gatekeeper.
Example 4-1 Sample Subscription Management XML Configuration File
<?xml version="1.0" encoding="UTF-8"?> <subscriptions xmlns="http://oracle/ocsg/appSubscription/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- SP code --> <subscription serviceNumber="tel:1234"> <application appInstanceId="domain_user" applicationName="Oracle News" endpoint="http://www.oracle.com" expirePeriod="36000000" subscriptionChannel="ALL"> <metaInfo key="key1" value="value1"/> <metaInfo key="key2" value="value2"/> <subscribeInfo text="Subscribe 123" notification="You have subscribed Oracle News successfully"/> <unsubscribeInfo text="Un-Subscribe 123" notification="You have unsubscribed Oracle News successfully"/> <suspendInfo text="Suspend 123" notification="You have suspended Oracle News successfully"/> <unsuspendInfo text="Un-Suspend 123" notification="You have unsuspended Oracle News successfully"/> <resourceId>createoutboundMessage</resourceId> </application> <application appInstanceId="domain_user_1" applicationName="Oracle Jokes" endpoint="http://www.oracle.com" expirePeriod="36000000" subscriptionChannel="WEB_RESTFUL"> <subscribeInfo text="Subscribe 456" notification="You have subscribed Oracle Jokes successfully"/> <unsubscribeInfo text="Un-Subscribe 456" notification="You have unsubscribed Oracle Jokes successfully"/> <suspendInfo text="Suspend 456" notification="You have suspended Oracle Jokes successfully"/> <unsuspendInfo text="Un-Suspend 456" notification="You have unsuspended Oracle Jokes successfully"/> <resourceId>createoutboundMessage</resourceId> </application> </subscription> <!--App code--> <subscription serviceNumber="tel:5678"> <application appInstanceId="domain_user_2" applicationName="Google Weather" endpoint="http://www.google.com" expirePeriod="36000000" subscriptionChannel="SMS"> <subscribeInfo text="Subscribe" notification="You have subscribed Google Weather successfully"/> <unsubscribeInfo text="Un-Subscribe" notification="You have unsubscribed Google Weather successfully"/> <suspendInfo text="Suspend" notification="You have suspended Oracle Jokes successfully"/> <unsuspendInfo text="Un-Suspend" notification="You have unsuspended Oracle Jokes successfully"/> <resourceId>createoutboundMessage</resourceId> </application> </subscription> </subscriptions>
Load the new or update an existing application subscription configuration using the following procedure:
Log into the Administration Console.
Expand OCSG under Domain Structure.
Click on the name of the administration or managed server you want to create the application subscription configuration on.
Expand Communication Services.
Select the Application Subscription Management plug-in instance you want to configure.
Click Operations.
In the Select An Operation pull down menu select loadAppSubscriptionsXml.
Copy and paste your XML configuration file contents in the xml field.
Click Invoke.
Retrieve the current application subscription configuration in a plug-in instance using the following procedure:
Log into the Administration Console.
Expand OCSG under Domain Structure.
Click on the name of the administration or managed server from where you want to retrieve the subscription configuration.
Expand Communication Services.
Select the Application Subscription Management plug-in instance you want to retrieve the subscription configuration from.
Click Operations.
In the Select An Operation pull down menu select retrieveAppSubscriptionsXml.
Click Invoke.
Retrieve a list of application subscriptions in Services Gatekeeper using the following procedure:
Log into the Administration Console.
Expand OCSG under Domain Structure.
Click on the name of the administration or managed server from where you want to retrieve the subscription list.
Expand Communication Services.
Select the Application Subscription Management plug-in instance you want to retrieve the subscription list from.
Click Operations.
In the Select An Option pull down menu, select retrieveAppSubscriptionsList.
Click Invoke.
You must configure application scope when using OAuth authentication with Application Subscription Management. Configure the application's resourceId as an OAuth scopeId in Services Gatekeeper using the loadAppSubscriptionResourceXml operation in the OAuthResourceMbean.
Log into the Administration Console.
Expand OCSG under Domain Structure.
Click the name of the administration or managed server where the OAuth container service is hosted.
Expand Container Services.
Expand OAuthService.
Select OAuthResourceMBean.
Click Operations.
In the Select an Option pull down menu, select loadAppSubscriptionResourceXml.
Enter the XML string as shown in Example 4-2. Set the resource id to the same value used when loading the application subscription configuration. See "Loading Application Subscription Configuration Files", for more information. Set the interfaceName, methodName and tokenExpirePeriod as required. See Oracle Communications Services Gatekeeper OAuth Guide, for more information on the loadAppSubscriptionResourceXml operation.
Example 4-2 loadAppSubscriptionResourceXml Sample XML Configuration File
<?xml version="1.0" encoding="UTF-8"?> <resources xmlns="http://oracle/ocsg/oauth2/management/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- amountTransaction --> <resource id="OneAPIMMS" name="mms" interfaceName="oracle.ocsg.parlayrest.plugin.MmsPlugin" methodName="sendMessage" tokenExpirePeriod="3600"> </resource> </resources>
Application Subscription Management plug-in instances must connect to an SMSC to accept and confirm subscription requests by SMS. Connect each plug-in instance to its SMSC using the following procedure:
Log into the Administration Console.
Expand OCSG under Domain Structure.
Click on the name of the administration or managed server where the Application Subscription Management plug-in to connect to an SMSC is hosted.
Expand Communication Services.
Select the Application Subscription Management plug-in instance you want to connect to an SMSC. The plug-in Attributes tab contains the SMSC connection information. See "Editing Application Subscription Management Attributes", for more information on configuring SMSC connection attributes.
Click Operations.
In the Select An Operation pull down menu select connect.
Click Invoke.
Click Attributes and check the ActiveStatus value. A true value indicates successful connection to the configured SMSC.
Application Subscription Management checks for a valid subscription before allowing an application to use a subscriber communication service. However, some applications may not use subscriptions to manage message delivery. For example, a service provider may use an application in Services Gatekeeper to send a subscriber a text message about an emergency or pending service outage.
Services Gatekeeper only validates subscription status for applications configured in the Application Subscription Management XML file. Messages originating from applications not configured in the XML file bypass subscription validation and are sent through the normal delivery pathway. See "Loading Application Subscription Configuration Files", for information on the Application Subscription Management configuration file.
This section describes the attributes and operations for configuration and maintenance.
Attributes list
Scope: LocalUnit: Not applicableFormat: Boolean
Specifies the SMSC connection status for this plug-in.
Scope: ClusterUnit: Not applicableFormat: Integer
Attribute exposed for management.
Scope: ClusterUnit: Not applicableFormat: String
The hostname or IP address of the SMSC.
Scope: ClusterUnit: Not applicableFormat: String
The port number on the SMSC host to connect to.
Scope: localUnit: Not applicableFormat: String
The local machine name or IP address.
Scope: localUnit: Not applicableFormat: String
The start port which the SMPP SMSC should bind to.
Scope: ClusterUnit: Not applicableFormat: Integer
Specifies how the plug-in connects to the SMSC.
Scope: ClusterUnit: Not applicableFormat: Integer
Number of transmitter connections used towards the SMSC when BindType is 0 or 2.
Scope: ClusterUnit: Not applicableFormat: Integer
Number of receiver connections used towards the SMSC when BindType is 0 or 3.
Scope: ClusterUnit: Not applicableFormat: Integer
Number of transceiver connections used towards the SMSC when BindType is 1.
Scope: ClusterUnit: Not applicableFormat: String
The system ID that the plug-in uses when binding to the SMSC.
Scope: ClusterUnit: Not applicableFormat: String
The password that the plug-in uses when binding to the SMSC.
Scope: ClusterUnit: Not applicableFormat: String
The system type that the plug-in uses when binding to the SMSC.
Scope: ClusterUnit: Not applicableFormat: String
The SMPP version supported by this plug-in.
Scope: ClusterUnit: Not applicableFormat: Integer
The ESME type of number (TON) used for the address parameter in a bind operation.
Scope: ClusterUnit: Not applicableFormat: Integer
The ESME numbering plan indicator (NPI) used for the address parameter in a bind operation.
Scope: ClusterUnit: Not applicableFormat: String
The address range that the plug-in uses when binding to the SMSC.
Scope: ClusterUnit: Not applicableFormat: Integer
The maximum time, in seconds, between the submission of a request to the SMSC and the receipt of the corresponding response before the connection is terminated.
Scope: ClusterUnit: Not applicableFormat: Integer
The minimum interval between ENQUIRE_LINK requests to the SMSC, in seconds.
Scope: ClusterUnit: Not applicableFormat: Integer
The maximum number of failed heartbeats before reconnecting to the SMSC.
Scope: ClusterUnit: Not applicableFormat: Integer
The maximum number of times to try to reconnect to the SMSC before giving up.
Scope: ClusterUnit: Not applicableFormat: Integer
The number of simultaneous outstanding requests to the SMSC allowed.
Scope: ClusterUnit: Not applicableFormat: Integer
The number of requests allowed to wait in the windowing queue.
Scope: ClusterUnit: Not applicableFormat: Integer
The maximum amount of time, in seconds, that each request can wait in the windowing queue.
Scope: ClusterUnit: Not applicableFormat: Integer
The command status of the DELIVER_SM_RESP used when an application cannot be reached.
Scope: ClusterUnit: Not applicableFormat: Boolean
Specifies the messageId format used in submitSMResp, submitMultiResp, and dataSMResp operations. True indicates hex format and false indicates decimal format.
Scope: Cluster
Loads application subscriptions configuration XML content.
Signature:
loadAppSubscriptionsXml(String)
Table 4-3 Subscription Management Configuration File Elements
Element Name | Unique | Description | Required |
---|---|---|---|
serviceNumber |
Y |
The target telephone number if subscribed by SMS. The number can be a service provider number, or an application number.When using a service provider number, multiple application registrations share the same number, but must use different subscription short message text. |
Y |
appInstanceId |
Y |
The application's instance ID. |
Y |
applicationName |
Y |
The application's name. |
Y |
endpoint |
N |
The application's endpoint where Services Gatekeeper sends subscription notifications. |
Y |
reqLimit |
N |
The maximum request time limit. |
N |
expirePeriod |
N |
The number of seconds a subscription is valid. |
Y |
subscriptionChannel |
N |
The subscription channel. Supported values are ALL, WEB_RESTFUL or SMS. |
N |
metaInfo.key |
N |
The new added EDR attribute key. |
N |
metaInfo.value |
N |
The new added EDR attribute value. |
N |
subscribeInfo.text |
N |
A regular expression describing accepted SMS subscribe request format. |
Y |
subscribeInfo.notification |
N |
The notification SMS text after subscription confirmation. |
Y |
unsubscribeInfo.text |
N |
A regular expression describing accepted SMS unsubscribe request format. |
Y |
unsubscribeInfo.notification |
N |
The notification SMS text after unsubscription confirmation. |
Y |
suspendInfo.text |
N |
A regular expression describing accepted SMS suspendInfo request format. |
Y |
suspendInfo.notification |
N |
The notification SMS text after a subscription suspension. |
Y |
unsespendInfo.text |
N |
A regular expression describing accepted SMS unsuspendInfo request format. |
Y |
unsuspendInfo.notification |
N |
The notification SMS text after a subscription unsuspension. |
Y |
resourceId |
N |
The value mapped to the OAuth scopeId. |
N |
Scope: Cluster
Retrieves currently configured application subscriptions XML content.
Signature:
retrieveAppSubscriptionsXml()
Scope: Cluster
Retrieves a list of current application subscriptions.
Signature:
retrieveAppSubscriptionsList()
Scope: Cluster
Connects the Application Subscription Management plug-in instance to the configured SMSC.
Signature:
connect()