JBoss.orgCommunity Documentation

Chapter 4. Using the JBoss Communications JAIN SLEE SIP Subscription Client Enabler

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

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.

Enabler performs following tasks:

manage subscription

send subscription events on behalf of Parent Sbb

automatic refresh

based on values exchanged between Enabler and Server, Enabler keeps track of subscription life time(expiration) and issues refresh requests to Server

JAIN SLEE SIP Subscription Client Enabler control flow

The JBoss Communications JAIN SLEE SIP Subscription Client Enabler Sbb, the Child Sbb, implements the org.mobicents.slee.enabler.sip.SubscriptionClientChildSbbLocalObject , which extends the org.mobicents.slee.SbbLocalObjectExt and org.mobicents.slee.enabler.sip.SubscriptionClientChild interfaces, the latter declares the methods which can be used to interact with the SIP Event Server:



package org.mobicents.slee.enabler.sip;
    public SubscriptionData getSubscriptionData();
    public void subscribe(SubscriptionData subscriptionData) throws SubscriptionException;
    public void subscribe(SubscriptionData subscriptionData, SubscriptionRequestContent content) throws SubscriptionException;
    public void unsubscribe() throws SubscriptionException;
        
        

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



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

Enabler can be configured with SLEE environment entries. Currently following entries are supported: