|
JSR-043: JTAPI-1.4 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
CallControlTerminal
interface extends the core
Terminal
interface with features like the ability to
pickup a call at a terminal and the ability to specify that this
terminal should not be disturbed. Applications may query a Terminal object
using the instanceof
operator to see whether it supports this
interface.
CallControlTerminal
interface defines the do not disturb
attribute. The do not disturb attribute indicates to the telephony platform
that this Terminal does not want to be bothered with incoming telephone
calls. That is, if this feature is activated, the underlying telephone
platform will not ring this Terminal for incoming telephone calls.
Applications use the CallControlTerminal.setDoNotDisturb()
method to activate or deactivate this feature and the
CallControlTerminal.getDoNotDisturb()
method to return the
current state of this attribute.
Note that the CallControlAddress
interface also carries the
do not disturb attribute. This attribute associated with each are maintained
independently. Maintaining a separate do not distrub attribute at terminal
and address allows for control over the do not disturb feature at either the
terminal or address level.
pickup()
and the
pickupFromGroup()
methods defined on this interface provide
this pickup feature to the application.
The CallControlTerminal.pickup()
method has three versions and
permits applications to answer a Call at a designated Address or Terminal.
The CallControlTerminal.pickupFromGroup()
method permits
applications to answer a Call at some other Terminal in the same "pickup
group".
CallControlTerminal
interface are
reported via the TerminalObserver.terminalChangedEvent()
method. The application observer object must also implement the
CallControlCallObserver
interface to express interest in the
call control package events.
The following are those events associated with this interface:
CallCtlTermDoNotDisturbEv |
Indicates the do-not-disturb attribute of this Terminal has changed. |
CallControlAddress
,
CallControlTerminalObserver
,
CallCtlTermDoNotDisturbEv
Method Summary | |
boolean |
getDoNotDisturb()
Returns true if the do-not-disturb feature is activated, false otherwise. |
TerminalConnection |
pickup(Address pickupAddress,
Address terminalAddress)
This method "picks up" a Call at this Terminal. |
TerminalConnection |
pickup(Connection pickupConnection,
Address terminalAddress)
This method "picks up" a Call at this Terminal. |
TerminalConnection |
pickup(TerminalConnection pickTermConn,
Address terminalAddress)
This method "picks up" a Call at this Terminal. |
TerminalConnection |
pickupFromGroup(Address terminalAddress)
This method "picks up" a Call at this Terminal. |
TerminalConnection |
pickupFromGroup(java.lang.String pickupGroup,
Address terminalAddress)
This method "picks up" a Call at this Terminal. |
void |
setDoNotDisturb(boolean enable)
Specifies whether the do-not-disturb feature should be activated or deactivated for this Terminal. |
Methods inherited from interface javax.telephony.Terminal |
addCallListener, addCallObserver, addObserver, addTerminalListener, getAddresses, getCallListeners, getCallObservers, getCapabilities, getName, getObservers, getProvider, getTerminalCapabilities, getTerminalConnections, getTerminalListeners, removeCallListener, removeCallObserver, removeObserver, removeTerminalListener |
Method Detail |
public boolean getDoNotDisturb() throws MethodNotSupportedException
MethodNotSupportedException
- This method is not supported by the
given implementation.public void setDoNotDisturb(boolean enable) throws MethodNotSupportedException, InvalidStateException
Pre-conditions:
enable
- True to activated do-not-disturb, false to deactivate.MethodNotSupportedException
- This method is not supported by the
given implementation.InvalidStateException
- The Provider is not "in service".CallCtlTermDoNotDisturbEv
public TerminalConnection pickup(Connection pickupConnection, Address terminalAddress) throws InvalidArgumentException, InvalidStateException, MethodNotSupportedException, PrivilegeViolationException, ResourceUnavailableException
TerminalConnection.answer()
), except the Call typically
is not ringing at this Terminal. For example, this method is used to
answer a "queued" Call or a Call which is ringing at another Terminal
across the room.
This method takes a Connection and an Address as arguments. The Connection
argument represents the destination end of the telephone call to be picked
up. This Connection must be in either the
CallControlConnection.QUEUED
state or the
CallControlConnection.ALERTING
state. The Address argument
chooses the Address associated with this Terminal on which to pick up the
Call. A new TerminalConnection is created and returned which is in the
CallControlTerminalConnection.TALKING
state and associated
with this Terminal.
Connection.getAddress()
method).
If the given Connection is associated with the given Address, this implies
that the Connection was in the CallControlConnection.QUEUED
state, or the Terminal did not ring for some reason even though the
Connection is in the CallControlConnection.ALERTING
state. In
this case, the Connection moves to the
CallControlConnection.ESTABLISHED
state and the new
TerminalConnection created is associated with the Connection.
If the given Connection is not associated with the given Address, this
implies that the call is alerting at an entirely different endpoint from
this Terminal. This scenario permits applications to pick up a telephone
call which is ringing across the room. In this case, the Connection moves
to the CallControlConnection.DISCONNECTED
state. A new
Connection is created and associated with the Address argument. It is in
the CallControlConnection.ESTABLISHED
state. The new
TerminalConnection created is associated with this new Connection.
Pre-conditions:
pickupConnection
- The Connection to be picked upterminalAddress
- The Address associated with the TerminalInvalidArgumentException
- Either the Connection or Address given
as arguments is not valid.InvalidStateException
- Either the Provider is not "in service"
or the Connection is not "queued" or "alerting".MethodNotSupportedException
- This method is not supported by
the implementation.PrivilegeViolationException
- The application does not have
the proper authority to invoke this method.ResourceUnavailableException
- An internal resource necessary
for the successful invocation of this method is not available.ConnCreatedEv
,
TermConnCreatedEv
,
ConnConnectedEv
,
ConnDisconnectedEv
,
TermConnActiveEv
,
CallCtlTermConnTalkingEv
,
CallCtlConnEstablishedEv
,
CallCtlConnDisconnectedEv
public TerminalConnection pickup(TerminalConnection pickTermConn, Address terminalAddress) throws InvalidArgumentException, InvalidStateException, MethodNotSupportedException, PrivilegeViolationException, ResourceUnavailableException
TerminalConnection.answer()
), except the Call typically
is not ringing at this Terminal. For example, this method is used to
answer a "queued" Call or a Call which is ringing at another Terminal
across the room.
This method is similar to the
CallControlTerminal.pickup(Connection, Address)
method
except an explicit TerminalConnection is given. Since an explicit
TerminalConnection is given, this implies its Connection must be
"alerting" since "queued" Connections may not have any associated
TerminalConnections.
pickTermConn
- The TerminalConnection to be picked upterminalAddress
- The Address associated with the TerminalInvalidArgumentException
- Either the Connection or Address given
as arguments is not valid.InvalidStateException
- Either the Provider is not "in service"
or the Connection is not "queued".MethodNotSupportedException
- This method is not supported by
the implementation.PrivilegeViolationException
- The application does not have
the proper authority to invoke this method.ResourceUnavailableException
- An internal resource necessary
for the successful invocation of this method is not available.public TerminalConnection pickup(Address pickupAddress, Address terminalAddress) throws InvalidArgumentException, InvalidStateException, MethodNotSupportedException, PrivilegeViolationException, ResourceUnavailableException
TerminalConnection.answer()
), except the Call typically
is not ringing at this Terminal. For example, this method is used to
answer a "queued" Call or a Call which is ringing at another Terminal
across the room.
This method is similar to the
CallControlTerminal.pickup(Connection, Address)
method
except an Address is given instead of an explicit Connection. This method
permits the implementation to choose a suitable Connection associated with
'pickupAddress'.
pickupAddress
- The Address which is to be picked upterminalAddress
- The Address associated with the TerminalInvalidArgumentException
- Either the Connection or Address given
as arguments is not valid.InvalidStateException
- Either the Provider is not "in service"
or the Connection is not "queued" or "alerting".MethodNotSupportedException
- This method is not supported by
the implementation.PrivilegeViolationException
- The application does not have
the proper authority to invoke this method.ResourceUnavailableException
- An internal resource necessary
for the successful invocation of this method is not available.public TerminalConnection pickupFromGroup(java.lang.String pickupGroup, Address terminalAddress) throws InvalidArgumentException, InvalidStateException, MethodNotSupportedException, PrivilegeViolationException, ResourceUnavailableException
TerminalConnection.answer()
), except the Call typically
is not ringing at this Terminal. For example, this method is used to
answer a "queued" Call or a Call which is ringing at another Terminal
across the room.
This method takes two arguments: a string "pickup group" code and an
Address associated with this Terminal. The Address argument chooses the
Address associated with this Terminal on which to pick up the Call. A new
TerminalConnection is created and returned which is in the
CallControlTerminalConnection.TALKING
state and associated
with this Terminal.
CallControlTerminal.pickup(Connection, Address)
method.
pickupGroup
- The pickup groupterminalAddress
- The Address associated with the TerminalInvalidArgumentException
- Either the Connection or Address given
as arguments is not valid.InvalidStateException
- Either the Provider is not "in service"
or the Connection is not "queued" or "alerting".MethodNotSupportedException
- This method is not supported by
the implementation.PrivilegeViolationException
- The application does not have
the proper authority to invoke this method.ResourceUnavailableException
- An internal resource necessary
for the successful invocation of this method is not available.public TerminalConnection pickupFromGroup(Address terminalAddress) throws InvalidArgumentException, InvalidStateException, MethodNotSupportedException, PrivilegeViolationException, ResourceUnavailableException
TerminalConnection.answer()
), except the Call typically
is not ringing at this Terminal. For example, this method is used to
answer a "queued" Call or a Call which is ringing at another Terminal
across the room.
This method takes a single argument: an Address associated with this
Terminal. The Address argument chooses the Address associated with this
Terminal on which to pick up the Call. A new TerminalConnection is
created and returned which is in the
CallControlTerminalConnection.TALKING
state and associated
with this Terminal.
CallControlConnection.ALERTING
state or the
CallControlConnection.QUEUED
state. The Address associated
with this Connection should belong to the same pickup group as the
Address given as the argument. Once the Connection has been determined,
this method behavior similarly to the
CallControlTerminal.pickup(Connection, Address)
method.
terminalAddress
- The Address associated with the TerminalInvalidArgumentException
- Either the Connection or Address given
as arguments is not valid.InvalidStateException
- Either the Provider is not "in service"
or the Connection is not "queued" or "alerting".MethodNotSupportedException
- This method is not supported by
the implementation.PrivilegeViolationException
- The application does not have
the proper authority to invoke this method.ResourceUnavailableException
- An internal resource necessary
for the successful invocation of this method is not available.
|
JSR-043: JTAPI-1.4 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |