|
JCAT v0.3.1 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A JcatTerminal represents a physical endpoint connected to the softswitch domain. For example,
telephone set, computer workstations and hand-held devices are modeled as JcatTerminal objects
if they act as physical endpoints in a communications network.
A JcatTerminal object has a string name that is unique for all JcatTerminal objects. The
JcatTerminal does not attempt to interpret this string in any way. This name is first assigned
when the JcatTerminal is created and does not change throughout the lifetime of the object. The
method getName()
returns the name of the JcatTerminal object. The name of the
JcatTerminal may not have any real-world interpretation. Typically, JcatTerminals are chosen from
a list of JcatTerminal objects obtained from an JcatAddress object.
JcatTerminal objects may be classified into two categories: local and remote. Local JcatTerminal objects are those terminals which are part of the JcatProvider's local domain. These JcatTerminal objects are created by the implementation of the JcatProvider object when it is first instantiated. Remote JcatTerminal objects are those outside of the JcatProvider's domain which the JcatProvider learns about during its lifetime through various happenings (e.g., an incoming call from a currently unknown address). Note that applications never explicitly create new JcatTerminal objects through the JCAT API.
JcatAddress.getTerminals()
method.
An association between a JcatAddress and a JcatTerminal object indicates that the JcatTerminal
contains the JcatAddress object as one of its telephone number addresses. In many instances,
a telephone set (represented by a JcatTerminal object) has only one directory number
(represented by a JcatAddress object) associated with it. In more complex configurations,
telephone sets may have several directory numbers associated with them.
For example, some of the current PDAs may exhibit this configuration.
A JcatTerminal may be associated with a JcatCall only if one of its JcatAddress objects is
associated with the JcatCall. The JcatTerminalConnection object has a state which describes the
current relationship between the JcatConnection and the JcatTerminal. Each JcatTerminal object may
be part of more than one call, and in each case, is represented by a separate JcatTerminalConnection
object. The getTerminalConnections()
method returns all JcatTerminalConnection
objects currently associated with the Terminal.
A JcatTerminal object is associated with a JcatConnection until the JcatTerminalConnection moves
into the JcatTerminalConnection.DROPPED
state. At that time,
the JcatTerminalConnection is no longer reported via the JcatTerminal.getTerminalConnections()
method. Therefore, the JcatTerminal.getTerminalConnections() method never reports a
JcatTerminalConnection in the JcatTerminalConnection.DROPPED state.
addTerminalListener(JcatTerminalListener)
method.
Applications receive events on a listener until the listener is removed via the
removeTerminalListener(JcatTerminalListener)
method or until the JcatTerminal is
no longer observable. In these instances, each JcatTerminalListener instance receives a
JcatTerminalEvent.TERMINAL_EVENT_TRANSMISSION_ENDED
as its final event.
At this point, we envisage use of this feature to be used to report association
and disassociation of JcatAddresses with a JcatTerminal.
addCallListener(JccCallListener)
method.
When a JcatCallListener is added to a JcatTerminal, this listener instance is immediately added
to all JcatCall objects at this JcatTerminal and is added to all calls which come to this
JcatTerminal in the future. These listeners remain on the call as long as the JcatTerminal
is associated with the call.
Method Summary | |
void |
addCallListener(JccCallListener listener)
Adds a listener to a JcatCall when this JcatTerminal first becomes part of that JcatCall. |
void |
addTerminalListener(JcatTerminalListener listener)
Adds a listener to the Terminal. |
void |
deregisterAddress(JcatAddress addr)
This method is used to deregister a JcatAddress with the JcatTerminal |
java.util.Set |
getAddresses()
Returns an array of JcatAddress objects associated with this JcatTerminal object. |
java.lang.String |
getName()
Returns the name of the JcatTerminal. |
JcatProvider |
getProvider()
Returns the JcatProvider associated with this JcatTerminal. |
JcatTerminalCapabilities |
getTerminalCapabilities()
Returns the dynamic capabilities for the instance of the JcatTerminal object. |
java.util.Set |
getTerminalConnections()
Returns a set of JcatTerminalConnection objects associated with this JcatTerminal. |
void |
registerAddress(JcatAddress addr)
This method is used to register a JcatAddress with the JcatTerminal |
void |
removeCallListener(JccCallListener calllistener)
|
void |
removeTerminalListener(JcatTerminalListener termlistener)
Removes the given listener from the Terminal. |
Method Detail |
public void addCallListener(JccCallListener listener) throws MethodNotSupportedException, ResourceUnavailableException
addCallListener(JccCallListener)
). The rules outlined above still apply, with the
following additions:
JccCall.INVALID
state.
JccCallEvent.CALL_EVENT_TRANSMISSION_ENDED
as its final event.
listener
- to be added to any JcatCalls on this JcatTerminal.
MethodNotSupportedException
ResourceUnavailableException
public void addTerminalListener(JcatTerminalListener listener)
removeTerminalListener(JcatTerminalListener)
or until the
terminal is no longer observable. In these instances, a
JcatTerminalEvent.TERMINAL_EVENT_TRANSMISSION_ENDED
is delivered to the listener
as its final event. The listener will receive no events after TERMINAL_EVENT_TRANSMISSION_ENDED
unless the listener is explicitly re-added via the this method. If an application attempts
to add an instance of a listener already present on this terminal, this attempt will silently
fail.
public java.util.Set getAddresses()
public java.lang.String getName()
public JcatProvider getProvider()
public java.util.Set getTerminalConnections()
JcatTerminalConnection.DROPPED
state.
public void removeCallListener(JccCallListener calllistener)
public void removeTerminalListener(JcatTerminalListener termlistener)
JcatTerminalEvent.TERMINAL_EVENT_TRANSMISSION_ENDED
. If a listener is
not part of the Terminal, then this method fails silently.
termlistener
- listener to be removed from the JcatTerminal.public JcatTerminalCapabilities getTerminalCapabilities()
public void registerAddress(JcatAddress addr) throws InvalidPartyException, MethodNotSupportedException, PrivilegeViolationException
addr
- This parameter contains the address which is to be registered with
this terminal.
Successfully invoking this method will lead to emmitting JcatAddressEvent.TERMINAL_REGISTERED
and JcatTerminalEvent.ADDRESS_REGISTERED
.
InvalidPartyException
- - The specified address provided is not valid.
MethodNotSupportedException
- - This method is not supported by the implementation.
PrivilegeViolationException
- - The application does not have the proper authority to invoke this method.public void deregisterAddress(JcatAddress addr) throws InvalidPartyException, MethodNotSupportedException, PrivilegeViolationException
addr
- This parameter contains the address which is to be deregistered with
this terminal. Successfully invoking this method will lead to emmitting
JcatAddressEvent.TERMINAL_DEREGISTERED
and JcatTerminalEvent.ADDRESS_DEREGISTERED
.
InvalidPartyException
- - The specified address provided is not valid.
MethodNotSupportedException
- - This method is not supported by the implementation.
PrivilegeViolationException
- - The application does not have the proper authority to invoke this method.
|
JCAT v0.3.1 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright - 2001, 2003 Sun Microsystems