package org.mobicents.slee.sipevent.server.subscription;
import javax.slee.SbbLocalObject;
import org.mobicents.slee.sipevent.server.subscription.pojo.Subscription;
/**
* Call back interface for the parent sbb of the
* {@link SubscriptionClientControlSbbLocalObject}. Provides the responses to
* the requests sent by the parent sbb and event notifications.
*
* @author Eduardo Martins
*
*/
public interface SubscriptionClientControlParentSbbLocalObject extends
SbbLocalObject {
/**
* informs the parent sbb that a subscribe request was successful
*
* @param subscriber
* @param notifier
* @param eventPackage
* @param subscriptionId
* @param expires
* @param responseCode
* OK or CREATED
*/
public void subscribeOk(String subscriber, String notifier,
String eventPackage, String subscriptionId, int expires,
int responseCode);
/**
* informs the parent sbb that a subscribe request was not successful
*
* @param subscriber
* @param notifier
* @param eventPackage
* @param subscriptionId
* @param error
* the sip error response status code
*/
public void subscribeError(String subscriber, String notifier,
String eventPackage, String subscriptionId, int error);
/**
* informs the parent sbb that a resubscribe request was successful
*
* @param subscriber
* @param notifier
* @param eventPackage
* @param subscriptionId
* @param expires
*/
public void resubscribeOk(String subscriber, String notifier,
String eventPackage, String subscriptionId, int expires);
/**
* informs the parent sbb that a resubscribe request was not successful
*
* @param subscriber
* @param notifier
* @param eventPackage
* @param subscriptionId
* @param error
* the sip error response status code
*/
public void resubscribeError(String subscriber, String notifier,
String eventPackage, String subscriptionId, int error);
/**
* informs the parent sbb that a unsubscribe request was successful
*
* @param subscriber
* @param notifier
* @param eventPackage
* @param subscriptionId
*/
public void unsubscribeOk(String subscriber, String notifier,
String eventPackage, String subscriptionId);
/**
* informs the parent sbb that a unsubscribe request was not successful
*
* @param subscriber
* @param notifier
* @param eventPackage
* @param subscriptionId
* @param error
* the sip error response status code
*/
public void unsubscribeError(String subscriber, String notifier,
String eventPackage, String subscriptionId, int error);
/**
* Notifies the client.
*
* @param subscriber
* @param notifier
* @param eventPackage
* @param subscriptionId
* @param status
* @param terminationReason if occurs an unexpected change that terminates the subscription a reason code will be provided
* @param document
* @param contentType
* @param contentSubtype
*/
public void notifyEvent(String subscriber, String notifier,
String eventPackage, String subscriptionId,
Subscription.Event terminationReason, Subscription.Status status,
String content, String contentType, String contentSubtype);
}