|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface CiscoRouteTerminal
A CiscoRouteTerminal is a special kind of CiscoTerminal that allows applications to terminate RTP media streams. Unlike a CiscoTerminal, a CiscoRouteTerminal does not represent a physical telephony endpoint, which is observable and controllable in a third-party manner. Instead, a CiscoRouteTerminal is a logical telephony endpoint that may be associated with any application that wants to route calls and terminate media. Unlike a CiscoMediaTerminal, a CiscoRouteTerminal can have multiple active calls at the same time. Typically, applications use CiscoRouteTerminals to queue calls until an agent is available to service them.
NOTE: CiscoRouteTerminals are CTI Route Points on Cisco Unified Communications Manager.
Terminating media is a three-step process:
CiscoRouteTerminal.register
method.
CiscoTerminalObserver
interface by using the Terminal.addObserver
method.
Important: All applications written for or prior to CiscoJtapiClient Release
1.4 must be modified to register with CiscoRouteTerminal.NO_MEDIA_TERMINATION
type
if the applications are not interested in media termination.
Multiple applications can register with same RoutePoint as long as they are registered with the
same media capabilities and registration type. All applications, if registered with
CiscoRouteTerminal.DYNAMIC_MEDIA_REGISTRATION
, will receive
CiscoMediaOpenLogicalChannelEv when they add a callObserver, but only one application will be
able to invoke setRTPParams.
Applications that are interested in media termination must add a CallObserver on the RouteAddress or on the CiscoRouteTerminals. Applications must not register with Dynamic type and add a registerRouteCallBack. Applications should only use registerRouteCallBack if they are not interested in media termination. Applications must not add a registerRouteCallBack and a callObserver at the same time.
CiscoTerminal
Field Summary | |
---|---|
static int |
DYNAMIC_MEDIA_REGISTRATION
Applications that are interested in media termination need to register with this type and pass in the capabilities that the application supports in the registration request. |
static int |
NO_MEDIA_REGISTRATION
Applications that are not interested in media termination need to register with this type and pass in a null value for CiscoMediaCapability in the registration request. |
Method Summary | |
---|---|
boolean |
isRegistered()
This method returns true if the CiscoMediaTerminal is registered and false otherwise. |
boolean |
isRegisteredByThisApp()
This method returns true if this application issued a successful registration request. |
void |
register(CiscoMediaCapability[] capabilities,
int registrationType)
Registers a Terminal with specified CiscoMediaCapabilities and register type. |
void |
register(CiscoMediaCapability[] capabilities,
int registrationType,
int[] algorithmIDs)
Registers a Terminal with the specified CiscoMediaCapabilities, registrationType, and supported SRTP algorithms. |
void |
register(CiscoMediaCapability[] capabilities,
int registrationType,
int[] algorithmIDs,
int activeAddressingMode)
The CiscoRouteTerminal must be in the CiscoTerminal.UNREGISTERED state and its
Provider must be in the Provider.IN_SERVICE state. |
void |
setRTPParams(CiscoRTPHandle rtpHandle,
CiscoRTPParams rtpParams)
Applications can set the IP address and RTP Port number to dynamically stream media for a call. |
void |
unregister()
The CiscoRouteTerminal must be registered and its Provider must be in the Provider.IN_SERVICE state. |
Methods inherited from interface javax.telephony.Terminal |
---|
addCallObserver, addObserver, getAddresses, getCallObservers, getCapabilities, getName, getObservers, getProvider, getTerminalCapabilities, getTerminalConnections, removeCallObserver, removeObserver |
Methods inherited from interface com.cisco.jtapi.extensions.CiscoObjectContainer |
---|
getObject, setObject |
Field Detail |
---|
static final int NO_MEDIA_REGISTRATION
CiscoRouteTerminal.NO_MEDIA_REGISTRATION
, the application
cannot terminate media and can use the CiscoRouteTerminal for call routing.
static final int DYNAMIC_MEDIA_REGISTRATION
Method Detail |
---|
void register(CiscoMediaCapability[] capabilities, int registrationType) throws CiscoRegistrationException
Provider.IN_SERVICE
state. This method returns successfully when
the CiscoRouteTerminal is registered.
capabilities
- The list of RTP encodings that the application supports for this Terminal. If the
application is not interested in media termination, you may pass in a null value.registrationType
- Either CiscoRouteTerminal.DYNAMIC_MEDIA_REGISTRATION
or
CiscoRouteTerminal.NO_MEDIA_REGISTRATION
.
If registrationType is CiscoRouteTerminal.NO_MEDIA_REGISTRATION
, the
application cannot terminate media and can use the CiscoRouteTerminal for call
routing.
If registrationType is CiscoRouteTerminal.DYNAMIC_MEDIA_REGISTRATION
,
the application can terminate media and can have multiple active calls. This
registrationType indicates that the application will supply the IP address and
port dynamically for each call. Applications registering with this type receive a
CiscoMediaOpenLogicalChannelEv for each call and must supply the IP address and
port number by using the setRTPParams method on the CiscoRouteTerminal.
CiscoRegistrationException
CiscoMediaOpenLogicalChannelEv
void register(CiscoMediaCapability[] capabilities, int registrationType, int[] algorithmIDs) throws CiscoRegistrationException, javax.telephony.PrivilegeViolationException
Provider.IN_SERVICE
state. This method returns successfully when the CiscoRouteTerminal is registered.
capabilities
- The list of RTP encodings that the application supports for this Terminal. If the
application is not interested in media termination, you may pass in a null value.registrationType
- Either CiscoRouteTerminal.DYNAMIC_MEDIA_REGISTRATION
or
CiscoRouteTerminal.NO_MEDIA_REGISTRATION
.
If registrationType is CiscoRouteTerminal.NO_MEDIA_REGISTRATION
, the
application cannot terminate media and can use the CiscoRouteTerminal for call
routing. Other parameters in the method are ignored.
If registrationType is CiscoRouteTerminal.DYNAMIC_MEDIA_REGISTRATION
,
the application can terminate media and can have multiple active calls. This
registrationType indicates that the application will supply the IP address and
port dynamically for each call. Applications registering with this type receive a
CiscoMediaOpenLogicalChannelEv for each call and must supply the IP address and
port number by using the setRTPParams method on the
algorithmIDs
- The list of SRTP algorithms that the application supports for this Terminal. To
use this, the application must have the TLS Link and SRTP Enabled flag enabled.
AlgorithmIDs must be one of CiscoMediaEncryptionSupportedAlgorithms.
javax.telephony.PrivilegeViolationException
- The application tried to use the method, but is not authorized to use it.
CiscoRegistrationException
CiscoMediaOpenLogicalChannelEv
void register(CiscoMediaCapability[] capabilities, int registrationType, int[] algorithmIDs, int activeAddressingMode) throws CiscoRegistrationException, javax.telephony.PrivilegeViolationException
CiscoTerminal.UNREGISTERED
state and its
Provider must be in the Provider.IN_SERVICE
state. The successful effect of this
method is to register the RouteTerminal. Registers a Terminal with specified
CiscoMediaCapabilities and register type and supported SRTP Algorithms.
CiscoRouteTerminal.NO_MEDIA_REGISTRATION
, application
cannot terminate media and can use route point for call routing purpose. Other parameters in
the method are ignored.
CiscoRouteTerminal.DYNAMIC_MEDIA_REGISTRATION
, then
app can terminate media and can have multiple active calls. This Indicates that application
is interested in supplying ipAddress and port dynamically for each call. Applications
registering with this type will receive CiscoMediaOpenLogicalChannelEv for each call and will
have to supply ipAddress and port number using setRTPParams method on CiscoRouteTerminal.
CiscoRouteTerminal.NO_MEDIA_REGISTRATION
CiscoRouteTerminal.DYNAMIC_MEDIA_REGISTRATION
capabilities
- the list of RTP encodings supported by this terminalregistrationType
- CiscoRouteTerminal.DYNAMIC_MEDIA_REGISTRATION
or
CiscoRouteTerminal.NO_MEDIA_REGISTRATION
algorithmIDs
- indicates the list of SRTP algorithms supported by this terminal. AlgorithmIDs may
only be one of CiscoMediaEncryptionSupportedAlgorithmsactiveAddressingMode
- is IP Addressing mode in which application intends to register this
CiscoRouteTerminal, activeAddressingMode can be:
CiscoTerminal.IP_ADDRESSING_MODE_IPv4 or CiscoTerminal.IP_ADDRESSING_MODE_IPv6, or
CiscoTerminal.IP_ADDRESSING_MODE_IPv4_v6
CiscoRegistrationException
javax.telephony.PrivilegeViolationException
CiscoMediaOpenLogicalChannelEv
void unregister() throws CiscoUnregistrationException
Provider.IN_SERVICE
state. The successful effect of this method is to unregister
the CiscoRouteTerminal.
CiscoUnregistrationException
void setRTPParams(CiscoRTPHandle rtpHandle, CiscoRTPParams rtpParams) throws javax.telephony.InvalidStateException, javax.telephony.InvalidArgumentException, javax.telephony.PrivilegeViolationException
rtpHandle
- The handle the application receives in CiscoCallOpenLogicalChannelEvrtpParams
-
javax.telephony.InvalidStateException
javax.telephony.InvalidArgumentException
javax.telephony.PrivilegeViolationException
CiscoRTPParams
,
CiscoMediaOpenLogicalChannelEv
boolean isRegistered()
isRegistered
in interface CiscoTerminal
boolean isRegisteredByThisApp()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |