JBoss.orgCommunity Documentation

Chapter 4. Using the Mobicents JAIN SLEE HSS Client Enabler

4.1. The Child's SbbLocalObject Interface
4.2. Creating And Retrieving The Child Sbb

In the last chapter we integrated the Enabler in the JAIN SLEE Service's Sbb, the Parent Sbb, in this chapter it is explained how to use the Enabler's Sbb, the Child Sbb.

The Mobicents JAIN SLEE HSS Client Enabler Sbb, the Child Sbb, implements the org.mobicents.slee.enabler.hssclient.HSSClientChildSbbLocalObject, which extends the org.mobicents.slee.SbbLocalObjectExt and org.mobicents.slee.enabler.hssclient.HSSClientChild interfaces, the latter declares the methods which can be used to interact with the HSS:



package org.mobicents.slee.enabler.hssclient;
import java.io.IOException;
public interface HSSClientChild {
  // Sh-Pull Operations -------------------------------------------------------
  public String getRepositoryData(String publicIdentity, byte[][] serviceIndications, 
            String destinationRealm, String destinationHost) throws IOException;
  public String getIMSPublicIdentity(String publicIdentity, byte[] msisdn, int identitySet, 
            String destinationRealm, String destinationHost) throws IOException;
  public String getIMSUserState(String publicIdentity, String destinationRealm, 
            String destinationHost) throws IOException;
  public String getSCSCFName(String publicIdentity, String destinationRealm, String destinationHost)
            throws IOException;
  public String getInitialFilterCriteria(String publicIdentity, String serverName, 
            String destinationRealm, String destinationHost) throws IOException;
  public String getLocationInformation(byte[] msisdn, int requestedDomain, String destinationRealm, 
            String destinationHost) throws IOException;
  public String getUserState(byte[] msisdn, int requestedDomain, String destinationRealm, 
            String destinationHost) throws IOException;
  public String getChargingInformation(String publicIdentity, byte[] msisdn, String destinationRealm,
            String destinationHost) throws IOException;
  public String getMSISDN(String publicIdentity, byte[] msisdn, String destinationRealm, 
            String destinationHost) throws IOException;
  public String getPSIActivation(String publicIdentity, String destinationRealm, 
            String destinationHost) throws IOException;
  // Sh-Update Operations -----------------------------------------------------
  public String updateRepositoryData(String publicIdentity, String data, String destinationRealm, 
            String destinationHost) throws IOException;
  public String updatePSIActivation(String publicIdentity, String data, String destinationRealm, 
            String destinationHost) throws IOException;
  
  // Sh-Subscribe Operations --------------------------------------------------
  public String subscribeRepositoryData(String publicIdentity, byte[][] serviceIndications, 
            int subscriptionRequestType, String destinationRealm, String destinationHost) 
            throws IOException;
  public String subscribeIMSUserState(String publicIdentity, int subscriptionRequestType, 
            String destinationRealm, String destinationHost) throws IOException;
  public String subscribeSCSCFName(String publicIdentity, int subscriptionRequestType, 
            String destinationRealm, String destinationHost) throws IOException;
  public String subscribeInitialFilterCriteria(String publicIdentity, String serverName, 
            int subscriptionRequestType, String destinationRealm, String destinationHost) 
            throws IOException;
  public String subscribePSIActivation(String publicIdentity, int subscriptionRequestType, 
            String destinationRealm, String destinationHost) throws IOException;
}
        
        
The getRepositoryData(String, byte[][], String, String) method:

Retrieves the "Repository Data" data type from the HSS, for the specified Public Identity and Service Indication(s). Response is provided through parent's callback deliverRepositoryData(...).

The getIMSPublicIdentity(String, byte[], int, String, String) method:

Retrieves the "IMS Public Identity" data type from the HSS, for the specified Public Identity or MSISDN, and Identity Set. Response is provided through parent's callback deliverIMSPublicIdentity(...).

The getIMSUserState(String, String, String) method:

Retrieves the "IMS User State" data type from the HSS, for the specified Public Identity. Response is provided through parent's callback deliverIMSUserState(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.getSCSCFName(String, String, String) method:

Retrieves the "S-CSCF Name" data type from the HSS, for the specified Public Identity. Response is provided through parent's callback deliverSCSCFName(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.getInitialFilterCriteria(String, String, String, String) method:

Retrieves the "Initial Filter Criteria" data type from the HSS, for the specified Public Identity and Server Name. Response is provided through parent's callback deliverInitialFilterCriteria(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.getLocationInformation(byte[], int, String, String) method:

Retrieves the "Location Information" data type from the HSS, for the specified MSISDN and Requested Domain. Response is provided through parent's callback deliverLocationInformation(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.getUserState(byte[], int, String, String) method:

Retrieves the "User State" data type from the HSS, for the specified MSISDN and Requested Domain. Response is provided through parent's callback deliverUserState(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.getChargingInformation(String, byte[], String, String) method:

Retrieves the "Charging Information" data type from the HSS, for the specified Public Identity or MSISDN. Response is provided through parent's callback deliverChargingInformation(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.getMSISDN(String, byte[], String, String) method:

Retrieves the "MSISDN" data type from the HSS, for the specified Public Identity or MSISDN. Response is provided through parent's callback deliverMSISDN(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.getPSIActivation(String, String, String) method:

Retrieves the "PSI Activation" data type from the HSS, for the specified Public Identity. Response is provided through parent's callback deliverPSIActivation(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.updateRepositoryData(String, String, String, String) method:

Updates the "Repository Data" data type from the HSS, for the specified Public Identity. Response is provided through parent's callback updateRepositoryDataResponse(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.updatePSIActivation(String, String, String, String) method:

Updates the "PSI Activation" data type from the HSS, for the specified Public Identity. Response is provided through parent's callback updatePSIActivationResponse(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.subscribeRepositoryData(String, byte[][], int, String, String) method:

Subscribes/Unsubcribes (depending on Subscription-Request-Type value) to the "Repository Data" data type from the HSS, for the specified Public Identity and Service Indication(s). Response is provided through parent's callback subscribeRepositoryDataResponse(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.subscribeIMSUserState(String, int, String, String) method:

Subscribes/Unsubcribes (depending on Subscription-Request-Type value) to the "IMS User State" data type from the HSS, for the specified Public Identity. Response is provided through parent's callback subscribeIMSUserStateResponse(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.subscribeSCSCFName(String, int, String, String) method:

Subscribes/Unsubcribes (depending on Subscription-Request-Type value) to the "S-CSCF Name" data type from the HSS, for the specified Public Identity. Response is provided through parent's callback subscribeSCSCFNameResponse(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.subscribeInitialFilterCriteria(String, String, int, String, String) method:

Subscribes/Unsubcribes (depending on Subscription-Request-Type value) to the "Initial Filter Criteria" data type from the HSS, for the specified Public Identity and Server Name. Response is provided through parent's callback subscribeInitialFilterCriteriaResponse(...).

The org.mobicents.slee.enabler.hssclient.HSSClientChild.subsribePSIActivation(String, int, String, String) method:

Subscribes/Unsubcribes (depending on Subscription-Request-Type value) to the "PSIActivation" data type from the HSS, for the specified Public Identity and Service Indication(s). Response is provided through parent's callback subsribePSIActivationResponse(...).

The Child Relation in the Parent Sbb Abstract Class is used to create and retrieve a Child Sbb:



    HSSClientChildSbbLocalObject sbb = null;
    // creation
    try {
        sbb = (HSSClientChildSbbLocalObject) getHSSClientChildRelation().create(childName);                
    }
    catch (Exception e) {
      tracer.severe("Failed to create child sbb", e);      
    }
    // retrieval
    try {
        sbb = (HSSClientChildSbbLocalObject) getHSSClientChildRelation().get(childName);                
    }
    catch (Exception e) {
      tracer.severe("Failed to retrieve child sbb", e);      
    }