jain.protocol.ss7.tcap
Interface JainTcapStack


public abstract interface JainTcapStack

This interface defines the methods required to represent a proprietary JAIN TCAP protocol stack, the implementation of which will be vendor specific. Each vendor's protocol stack will have an object that implements this interface to control the creation/deletion of proprietary JainTcapProviders and the attaching/detaching of those JainTcapProviders to this JainTcapStack implementation.

It must be noted that under the JAIN Naming Convention the lower-level package structure and classname of a proprietary implementation of the jain.protocol.ss7.tcap.JainTcapStack interface must be jain.protocol.ss7.tcap.JainTcapStackImpl.

Under the JAIN naming convention, the upper-level package structure (pathname) can be used to differentiate between proprietary implementations from different SS7 Vendors. The pathname used by each SS7 Vendor must be the domain name assigned to the Vendor in reverse order, e.g. Sun Microsystem's would be 'com.sun'

It follows that a proprietary implementation of a JainTcapStack will be located at:
.jain.protocol.ss7.tcap.JainTcapStackImpl
Where:
pathname = reverse domain name, e.g. com.sun'
The resulting Peer JAIN SS7 Object would be located at: com.sun.jain.protocol.ss7.tcap.JainTcapStackImpl
An application may create a JainTcapStackImpl by invoking the JainSs7Factory.createJainSS7Object() method. The PathName of the vendor specific implementation of which you want to instantiate can be set before calling this method or the default or current pathname may be used.


For applications that require some means to identify multiple stacks (with multiple SPCs) setStackName() can be used. An application can choose to supply any identifier to this method.

Note that a JainTcapStack represents a single SPC.

Version:
1.0
Author:
Colm Hayden & Phelim O'Doherty
See Also:
JainTcapProvider

Method Summary
 void attach(JainTcapProvider jainTcapProvider)
          Attaches the specified vendor specific Peer JAIN TCAP Provider to this JainTcapStackImpl.
 JainTcapProvider createAttachedProvider()
          Creates a new Peer (vendor specific) JainTcapProvider that is attached to this JainTcapStackImpl and returns a reference to it.
 JainTcapProvider createDetachedProvider()
          Creates a new Peer (vendor specific) Provider that is detached from this JainTcapStackImpl and returns a reference to it.
 void deleteProvider(JainTcapProvider providerToBeDeleted)
          Deletes the specified Peer JAIN TCAP Provider attached to this JainTcapStackImpl.
 void detach(JainTcapProvider jainTcapProvider)
          Detaches the specified vendor specific Peer JAIN TCAP Provider from this JainTcapStackImpl.
 int getProtocolVersion()
          Gets the Protocol Version that this Stack is currently supporting.
 java.util.Vector getProviderList()
          Returns the vector of Peer JAIN TCAP Provider s that have been created by this JainTcapStackImpl.
 byte[] getSignalingPointCode()
          The Signaling Point Code will uniquely identify the JainTcapStack.
 java.lang.String getStackName()
          Gets the Stack Name.
 void setProtocolVersion(int protocolVersion)
          Sets the Protocol Version that this Stack is to support.
 void setStackName(java.lang.String stackProtocol)
          Sets the Name of this Stack.
 

Method Detail

getSignalingPointCode

public byte[] getSignalingPointCode()
The Signaling Point Code will uniquely identify the JainTcapStack. There is no restriction on the limit of the byte[ ] used by the Signaling Point Code. This byte[] limitation should happen during the instantiation of the Signaling Point Code object therefore it will be dependent on the implementation of the JAIN TCAP API.
Returns:
the signalingPointCode of this JainTcapStack.

createAttachedProvider

public JainTcapProvider createAttachedProvider()
                                        throws SS7PeerUnavailableException,
                                               ProviderNotAttachedException
Creates a new Peer (vendor specific) JainTcapProvider that is attached to this JainTcapStackImpl and returns a reference to it. Note to developers: The implementation of this method should add the newly created JainTcapProvider to the providerList once the JainTcapProvider has been successfully created.
Returns:
Peer JAIN TCAP Provider attached to this JainTcapStackImpl.
Throws:
PeerUnavailableException - thrown if the Peer class could not be found
ProviderNotAttachedException - thrown if the created Provider could not be attached to the JainTcapStackImpl.

createDetachedProvider

public JainTcapProvider createDetachedProvider()
                                        throws SS7PeerUnavailableException
Creates a new Peer (vendor specific) Provider that is detached from this JainTcapStackImpl and returns a reference to it. Note to developers: The implementation of this method should add the newly created JainTcapProvider to the providerList once the Peer JAIN TCAP Provider has been successfully created.
Returns:
the newly created detached Peer JAIN TCAP Provider .
Throws:
PeerUnavailableException - thrown if the Peer class could not be found

deleteProvider

public void deleteProvider(JainTcapProvider providerToBeDeleted)
                    throws UnableToDeleteProviderException
Deletes the specified Peer JAIN TCAP Provider attached to this JainTcapStackImpl. Note to developers: The implementation of this method should remove the specified Peer JAIN TCAP Provider from the providerList.

Parameters:
providerToBeDeleted - the Peer JAIN TCAP Provider to be deleted from this JainTcapStackImpl.
Throws:
UnableToDeleteProviderException - thrown if the specified Peer JAIN TCAP Provider cannot be deleted. This may be because the Peer JAIN TCAP Provider has already been deleted, or because the Peer JAIN TCAP Provider is currently in use.

attach

public void attach(JainTcapProvider jainTcapProvider)
            throws ProviderNotAttachedException
Attaches the specified vendor specific Peer JAIN TCAP Provider to this JainTcapStackImpl.
Parameters:
jainTcapProvider - the Peer JAIN TCAP Provider to be attached to this JainTcapStack
Throws:
ProviderNotAttachedException - thrown if this method is invoked and the Peer JAIN TCAP Provider could not be attached to this JainTcapStackImpl.

detach

public void detach(JainTcapProvider jainTcapProvider)
            throws ProviderNotAttachedException
Detaches the specified vendor specific Peer JAIN TCAP Provider from this JainTcapStackImpl.
Parameters:
jainTcapProvider - the JainTcapStackImpl to be detached from this JainTcapStackImpl.
Throws:
ProviderNotAttachedException - thrown if this method is invoked and the specified Peer Provider is not attached to this Stack.

getProviderList

public java.util.Vector getProviderList()
Returns the vector of Peer JAIN TCAP Provider s that have been created by this JainTcapStackImpl. All of the Peer JAIN TCAP Provider s of this JainTcapStackImpl will be proprietary objects belonging to the same stack vendor. Note that the Peer JAIN TCAP Provider s in this vector may be either attached or detached.
Returns:
a Vector containing all the of Peer JAIN TCAP Provider s created by this JainTcapStackImpl.

getStackName

public java.lang.String getStackName()
Gets the Stack Name. This parameter string should be returned with the format of "SPECIFICATION-YEAR-VENDOR-POINTCODE". Where the pointcode is in the format Signalling_Point_Id(member)-Area_Id(cluster)-Zone_Id(network). For example a Sun Micosystem's implementation could return "ANSI-96-SUN-255-255-255". This string can be used to identify the implementation.
Returns:
a string describing the Stack

setStackName

public void setStackName(java.lang.String stackProtocol)
Sets the Name of this Stack. This parameter accepts a string of which the recommended format is "SPECIFICATION-YEAR-VENDOR-POINTCODE". Where the pointcode is in the format Signalling_Point_Id(member)-Area_Id(cluster)-Zone_Id(network). For example a Sun Micosystem's implementation could return "ANSI-96-SUN-255-255-255". This string can be used to identify the implementation.
Parameters:
stackProtocol - the stack name.

getProtocolVersion

public int getProtocolVersion()
Gets the Protocol Version that this Stack is currently supporting.
Returns:
the current Protocol Version of this stack. This may be one of the following values:
  • PROTOCOL_VERSION_ANSI_92
  • PROTOCOL_VERSION_ANSI_96
  • PROTOCOL_VERSION_ITU_93
  • PROTOCOL_VERSION_ITU_97
These values are defined in the Dialogue Constants class.

setProtocolVersion

public void setProtocolVersion(int protocolVersion)
                        throws TcapException
Sets the Protocol Version that this Stack is to support. Invoking this method should initially configure the stack to support the specified variant if the variant supported has not already been set. In the event that this Stack is already supporting a variant other than the supplied variant, then the Stack will change the supported variant if possible, or throw an Exception if this is not possible.
Parameters:
protocolVersion - the Protocol Version of this Stack. This may be one of the following values:
  • PROTOCOL_VERSION_ANSI_92
  • PROTOCOL_VERSION_ANSI_96
  • PROTOCOL_VERSION_ITU_93
  • PROTOCOL_VERSION_ITU_97
Throws:
TcapException - thrown if the supplied protocol version cannot be supported by this Stack, or if the Stack cannot change supported protocol because it is not in a idle state.


28 June 2000
If you have any comments or queries, please mail them to JainTcapApiFeedback@AePONA.Com

Copyright - 2000 Sun Microsystems