com.cisco.jtapi.extensions
Interface CiscoJtapiProperties


public interface CiscoJtapiProperties

Introduction

Cisco JTAPI's behaviour and functionality is tailored by many parameters which are read in from the jtapi.ini file when an instance of CiscoJtapiPeer is instantiated. These parameters are now exposed to applications for control via this CiscoJtapiproperties interface.
Applications can query the CiscoJtapiproperties properties object and change these parameters to better suit the application functionality. Exposing these properties via the CiscoJtapiproperties interface also allows applications to have a single point of administration (at the application end) for these parameters.
The most visible parameters are those describing the tracing levels and tracing destinations.

Usage:
  JtapiPeer peer = JtapiPeerFactory.getJtapiPeer ( null );
  if(peer instanceof CiscoJtapiPeer){
    CiscoJtapiProperties jProps = ((CiscoJtapiPeer)peer).getJtapiProperties();
    jProps.setTracePath("\\D:\\Traces\\WorkFlow");
    jProps.setUseJavaConsoleTrace(false);
    MyProviderObserver providerObserver = new MyProviderObserver ();
    provider = peer.getProvider ( providerName );
  }

In the above example an application has set the java console tracing to off and set the trace path to D:\Traces\WorkFlowApp1

When the peer is obtained an object implementing CiscoJtapiProperties is created by reading parameters set in the jtapi.ini file. If no jtapi.ini file exists in the classpath default settings are used to create this object.
The parameters used by Cisco Jtapi are read in and frozen when the first getProvider () call is made.


Method Summary
 void deleteCertificates(java.lang.String username, java.lang.String instanceID, java.lang.String ccmCAPFAddress, java.lang.String certificatePath)
           This interface deletes X.509 client certificate installed for USER Instance in cerfiticate store.
 void deleteSecurityPropertyForInstance(java.lang.String username, java.lang.String instanceID, java.lang.String capfIp, java.lang.String certPath)
          This interface can be used to delete security properly from jtapi.ini file and also delete certificate previously installed for username/instanceId
 java.lang.String getAlarmServiceHostname()
          get the alarm service host name
 int getAlarmServicePort()
          get the port number for the alarm service
 boolean getCallSecurityStatusChangedEv()
          This interface is for applications to know if it would receive the event CallSecurityStatusChangedEv when applicable.
 int getCtiRequestTimeout()
          get the timout for cti requests, other than the provider open (seconds)
 java.lang.String[] getDebuggingNames()
          get names of supported debugging level jtapi traces
 boolean getDebuggingValue(java.lang.String debuggingName)
          get the enabled or disabled state of a debugging level trace
 int getDesiredServerHeartbeatInterval()
          get the desired interval at which the CTI Manager must send heartbeats to JTAPI (seconds).
 boolean getDiscConnBeforeCreatingInCPIC()
          Controls the event order for the scenario when only redirected party in observed by Application This interface returns True if ConnDisconnectedEv is send before ConnCreatedEv, False otherwise
 java.lang.String getFileNameBase()
          the filename for individual log files.
 java.lang.String getFileNameExtension()
          get the filename extension for log files
 int getJavaSocketConnectTimeout()
          This method returns the value of service parameter for SOCKET CONNECT TIMEOUT in seconds
 int getNumTraceFiles()
          number of trace files before rollover
 boolean getPeriodicWakeupEnabled()
          get the enabled state of periodic wake up
 int getPeriodicWakeupInterval()
          get the interval for periodic wakeup (milliseconds)
 boolean getProcessOfferingAfterNewcallevent()
          This interface retrieves the boolean value for the jtapi.ini parameter 'ProcessOfferringAfterNewcallEvent'.By default this interface returns false.
 int getProviderOpenRequestTimeout()
          get the timout for a provider open request (seconds)
 int getProviderOpenRetryAttempts()
          This method returns the value of service parameter for maximum number of reconnect attempts to CTI Manager
 int getProviderRetryInterval()
          get the interval at which the connection to the CTI Manager will ge retried (seconds)
 int getQueueSizeThreshold()
          Get the threshold for the event queue size to trigger alarms
 boolean getQueueStatsEnabled()
          get the enabled state of event queue stats
 int getRouteSelectTimeout()
          get the route select timeout (milliseconds)
 java.util.Hashtable getSecurityPropertyForInstance()
          This interface return a Hashtable with all the parameters set for User/InstanceID Hashtable is set with following "key" "value" pair
KEY-----------------------------VALUE
"user"---------------------------userName
String "instanceID"--------------InstanceID
String "AuthCode"----------------authCode
String "CAPF"--------------------capfServer IP-Address
String "CAPFPort"----------------capfServer IP-Address port
String "TFTP"--------------------tftpServer IP-Address
String "TFTPPort"----------------tftpServer IP-Address port
String "CertPath"----------------certificate Path
String "securityOption" ---------Boolean security option(true for enable/ false for disabled)
String "certificateStatus"-------Boolean certificate status(true for updated/ false for not updated)
 java.util.Hashtable getSecurityPropertyForInstance(java.lang.String user, java.lang.String instanceID)
          This interface return a Hashtable with all the parameters set for User/InstanceID Hashtable is set with following "key" "value" pair
KEY-----------------------------VALUE
"user"---------------------------userName
String "instanceID"--------------InstanceID
String "AuthCode"----------------authCode
String "CAPF"--------------------capfServer IP-Address
String "CAPFPort"----------------capfServer IP-Address port
String "TFTP"--------------------tftpServer IP-Address
String "TFTPPort"----------------tftpServer IP-Address port
String "CertPath"----------------certificate Path
String "securityOption" ---------Boolean security option(true for enable/ false for disabled)
String "certificateStatus"-------Boolean certificate status(true for updated/ false for not updated)
 java.lang.String[] getServices()
          Returns the services that this implementation supports.
 java.lang.String getSyslogCollector()
          get the syslog collector hostname
 int getSyslogCollectorUDPPort()
          get the syslog collector UDP port
 java.lang.String getTraceDirectory()
          The directory in the path where trace files will be written
 int getTraceFileSize()
          The size of the tracefiles before rollover
 java.lang.String[] getTraceNames()
          get the names of supported jtapi traces
 java.lang.String getTracePath()
          get the path where the trace files will be located
 boolean getTraceValue(java.lang.String traceName)
          get the enabled or disabled state of a trace
 boolean getUpdateJtapiCalledWithOriginalCalled()
          The interface is used to query parameter setting that changes Jtapi behavior on updating called address.
 boolean getUseAlarmService()
          get the enabled/disabled state of the alarm service
 boolean getUseFileTrace()
          get the enabled or disabled state of jtapi log file tracing
 boolean getUseJavaConsoleTrace()
          get the enabled or disabled state of jtapi console tracing
 boolean getUseSameDir()
          if UseSameDir is true this will cause the traces to go to a single directory.
 boolean getUseSyslog()
          get the enabled or disabled state of syslog tracing
 boolean IsCertificateUpdated(java.lang.String user, java.lang.String instanceID)
          This interface provides information about where or not Client and Server certificates are updated for a given user/instanceID
 void setAlarmServiceHostname(java.lang.String hostname)
          set the alarm service host name
 void setAlarmServicePort(int portNumber)
          set the port number the alarm service is listening on
 void setCallSecurityStatusChangedEv(boolean val)
          This interface enables applications to set the filter to receive CallSecurityStatusChangedEv to true or false.
 void setCtiRequestTimeout(int seconds)
          set the timeout for cti requests other than provider open (seconds)
 void setDebuggingValue(java.lang.String debuggingName, boolean value)
          enable or disable a particular debugging level trace
 void setDesiredServerHeartbeatInterval(int seconds)
          set the desired interval at which the CTI Manager must send heartbeats to JTAPI (seconds).
 void setDiscConnBeforeCreatingInCPIC(boolean val)
          set event order, sent Disconnect before Connection created during redirect at redirted party.
 void setFileNameBase(java.lang.String base)
          set the filename for log files
 void setFileNameExtension(java.lang.String extn)
          set the filename extension for log files
 void setJavaSocketConnectTimeout(int timeout)
          Allows application to set the SOCKET CONNECT TIMEOUT in seconds
 void setNumTraceFiles(int val)
          set the number of trace files before rollover
 void setPeriodicWakeupEnabled(boolean enabled)
          set the enable/disable state for periodic wake up
 void setPeriodicWakeupInterval(int milliseconds)
          set the periodic wake up interval (milliseconds)
 void setProcessOfferingAfterNewcallevent(boolean val)
          Controls the event order for the transfer scenario when only transfer destination observed by Application and transfer is completed in offering state..
 void setProviderOpenRequestTimeout(int seconds)
          set the timeout for a provider open request (seconds)
 void setProviderOpenRetryAttempts(int retryAttempts)
          Allows application to set the JTAPI's Reconnect Attempts to CTI Manager
 void setProviderRetryInterval(int seconds)
          set the interval at which the connection to the CTI Manager will ge retried (seconds)
 void setQueueSizeThreshold(int size)
          Set the threshold for the event queue size to trigger alarms
 void setQueueStatsEnabled(boolean enabled)
          enable / disable event queue statistics
 void setRouteSelectTimeout(int milliseconds)
          set the route select timeout milliseconds
 void setSecurityPropertyForInstance(java.lang.String user, java.lang.String instanceID, java.lang.String authCode, java.lang.String tftp, java.lang.String tftpPort, java.lang.String capf, java.lang.String capfPort, java.lang.String certPath, boolean securityOption)
          Deprecated. This method is replace by overloaded method setSecurityPropertyForInstance which takes an extra parameter certStorePassphrase, a passphrase for java key store. This method might have some security vulnerability.
 void setSecurityPropertyForInstance(java.lang.String user, java.lang.String instanceID, java.lang.String authCode, java.lang.String tftp, java.lang.String tftpPort, java.lang.String capf, java.lang.String capfPort, java.lang.String certPath, boolean securityOption, java.lang.String certstorePassphrase)
          This interface provides application ability to downloading server/client cerfiticate and set security property for application instance in jtapi.ini file of JTAPI
 void setServices(java.lang.String[] services)
          set a list of available services
 void setSyslogCollector(java.lang.String value)
          set the syslog collector hostname
 void setSyslogCollectorUDPPort(int port)
          set the syslog collector UDP port
 void setTraceDirectory(java.lang.String dir)
          Set the directory where jtapi trace files should be written
 void setTraceFileSize(int val)
          Set the size of the trace file
 void setTracePath(java.lang.String path)
          set the directory root where jtapi traces will be written
 void setTraceValue(java.lang.String traceName, boolean value)
          enable or disable a particular trace
 void setUpdateJtapiCalledWithOriginalCalled(boolean val)
          The interface can be used to always update Jtapi Called information with original called once the parameter is set to true.
 void setUseAlarmService(boolean value)
          To enable or disable the alarm service
 void setUseFileTrace(boolean value)
          enable or disable jtapi log file tracing
 void setUseJavaConsoleTrace(boolean value)
          enable or disable jtapi console tracing
 void setUseSameDir(boolean value)
          if UseSameDir is true this will cause the traces to go to a single directory.
 void setUseSyslog(boolean value)
          enable or disable syslog tracing
 void updateCertificate(java.lang.String user, java.lang.String intanceID, java.lang.String authcode, java.lang.String ccmTFTPAddress, java.lang.String ccmTFTPPort, java.lang.String ccmCAPFAddress, java.lang.String ccmCAPFPort, java.lang.String certificatePath)
          Deprecated. This method is replace by overloaded method updateCertifcate which takes an extra parameter certStorePassphrase, a passphrase for java key store. This method might have some security vulnerability.
 void updateCertificate(java.lang.String user, java.lang.String intanceID, java.lang.String authcode, java.lang.String ccmTFTPAddress, java.lang.String ccmTFTPPort, java.lang.String ccmCAPFAddress, java.lang.String ccmCAPFPort, java.lang.String certificatePath, java.lang.String certStorePassphrase)
           This interface installs an X.509 client certificate for USER Instance in cerfiticate store.
 void updateServerCertificate(java.lang.String ccmTFTPAddress, java.lang.String ccmTFTPPort, java.lang.String ccmCAPFAddress, java.lang.String ccmCAPFPort, java.lang.String certificatePath)
          Deprecated. This method is replace by overloaded method updateServerCertifcate which takes an extra parameter certStorePassphrase, a passphrase for java key store. This method might have some security vulnerability.
 void updateServerCertificate(java.lang.String userName, java.lang.String instanceID, java.lang.String ccmTFTPAddress, java.lang.String ccmTFTPPort, java.lang.String ccmCAPFAddress, java.lang.String ccmCAPFPort, java.lang.String certificatePath, java.lang.String certStorePassphrase)
           This interface installs an X.509 server certificate given certificate path.
 

Method Detail

getServices

java.lang.String[] getServices()
Returns the services that this implementation supports. Note: This is a static list administered in the jtapi.ini file. There is no automatic discovery mechanism to locate available cti services


setServices

void setServices(java.lang.String[] services)
set a list of available services


getTraceNames

java.lang.String[] getTraceNames()
get the names of supported jtapi traces


getTraceValue

boolean getTraceValue(java.lang.String traceName)
get the enabled or disabled state of a trace


setTraceValue

void setTraceValue(java.lang.String traceName,
                   boolean value)
enable or disable a particular trace


getDebuggingNames

java.lang.String[] getDebuggingNames()
get names of supported debugging level jtapi traces


getDebuggingValue

boolean getDebuggingValue(java.lang.String debuggingName)
get the enabled or disabled state of a debugging level trace


setDebuggingValue

void setDebuggingValue(java.lang.String debuggingName,
                       boolean value)
enable or disable a particular debugging level trace


getTracePath

java.lang.String getTracePath()
get the path where the trace files will be located


setTracePath

void setTracePath(java.lang.String path)
set the directory root where jtapi traces will be written


getTraceDirectory

java.lang.String getTraceDirectory()
The directory in the path where trace files will be written


setTraceDirectory

void setTraceDirectory(java.lang.String dir)
Set the directory where jtapi trace files should be written


getFileNameBase

java.lang.String getFileNameBase()
the filename for individual log files.


setFileNameBase

void setFileNameBase(java.lang.String base)
set the filename for log files


getFileNameExtension

java.lang.String getFileNameExtension()
get the filename extension for log files


setFileNameExtension

void setFileNameExtension(java.lang.String extn)
set the filename extension for log files


getUseSameDir

boolean getUseSameDir()
if UseSameDir is true this will cause the traces to go to a single directory. Otherwise each instance of a jtapi application will cause the traces to go to a seperate directory, indexed in sequence from the last directory written or available.


setUseSameDir

void setUseSameDir(boolean value)
if UseSameDir is true this will cause the traces to go to a single directory. Otherwise each instance of a jtapi application will cause the traces to go to a seperate directory, indexed in sequence from the last directory written or available.


getTraceFileSize

int getTraceFileSize()
The size of the tracefiles before rollover


setTraceFileSize

void setTraceFileSize(int val)
Set the size of the trace file


getNumTraceFiles

int getNumTraceFiles()
number of trace files before rollover


setNumTraceFiles

void setNumTraceFiles(int val)
set the number of trace files before rollover


getUseFileTrace

boolean getUseFileTrace()
get the enabled or disabled state of jtapi log file tracing


setUseFileTrace

void setUseFileTrace(boolean value)
enable or disable jtapi log file tracing


getUseJavaConsoleTrace

boolean getUseJavaConsoleTrace()
get the enabled or disabled state of jtapi console tracing


setUseJavaConsoleTrace

void setUseJavaConsoleTrace(boolean value)
enable or disable jtapi console tracing


getUseSyslog

boolean getUseSyslog()
get the enabled or disabled state of syslog tracing


setUseSyslog

void setUseSyslog(boolean value)
enable or disable syslog tracing


getSyslogCollector

java.lang.String getSyslogCollector()
get the syslog collector hostname


setSyslogCollector

void setSyslogCollector(java.lang.String value)
set the syslog collector hostname


getSyslogCollectorUDPPort

int getSyslogCollectorUDPPort()
get the syslog collector UDP port


setSyslogCollectorUDPPort

void setSyslogCollectorUDPPort(int port)
set the syslog collector UDP port


getUseAlarmService

boolean getUseAlarmService()
get the enabled/disabled state of the alarm service


setUseAlarmService

void setUseAlarmService(boolean value)
To enable or disable the alarm service


getAlarmServiceHostname

java.lang.String getAlarmServiceHostname()
get the alarm service host name


setAlarmServiceHostname

void setAlarmServiceHostname(java.lang.String hostname)
set the alarm service host name


getAlarmServicePort

int getAlarmServicePort()
get the port number for the alarm service


setAlarmServicePort

void setAlarmServicePort(int portNumber)
set the port number the alarm service is listening on


getPeriodicWakeupEnabled

boolean getPeriodicWakeupEnabled()
get the enabled state of periodic wake up


setPeriodicWakeupEnabled

void setPeriodicWakeupEnabled(boolean enabled)
set the enable/disable state for periodic wake up


getPeriodicWakeupInterval

int getPeriodicWakeupInterval()
get the interval for periodic wakeup (milliseconds)


setPeriodicWakeupInterval

void setPeriodicWakeupInterval(int milliseconds)
set the periodic wake up interval (milliseconds)


getQueueStatsEnabled

boolean getQueueStatsEnabled()
get the enabled state of event queue stats


setQueueStatsEnabled

void setQueueStatsEnabled(boolean enabled)
enable / disable event queue statistics


getQueueSizeThreshold

int getQueueSizeThreshold()
Get the threshold for the event queue size to trigger alarms


setQueueSizeThreshold

void setQueueSizeThreshold(int size)
Set the threshold for the event queue size to trigger alarms


getCtiRequestTimeout

int getCtiRequestTimeout()
get the timout for cti requests, other than the provider open (seconds)


setCtiRequestTimeout

void setCtiRequestTimeout(int seconds)
set the timeout for cti requests other than provider open (seconds)


getProviderOpenRequestTimeout

int getProviderOpenRequestTimeout()
get the timout for a provider open request (seconds)


setProviderOpenRequestTimeout

void setProviderOpenRequestTimeout(int seconds)
set the timeout for a provider open request (seconds)


getProviderRetryInterval

int getProviderRetryInterval()
get the interval at which the connection to the CTI Manager will ge retried (seconds)


setProviderRetryInterval

void setProviderRetryInterval(int seconds)
set the interval at which the connection to the CTI Manager will ge retried (seconds)


getDesiredServerHeartbeatInterval

int getDesiredServerHeartbeatInterval()
get the desired interval at which the CTI Manager must send heartbeats to JTAPI (seconds). The actual interval is decided by the server at connect time.


setDesiredServerHeartbeatInterval

void setDesiredServerHeartbeatInterval(int seconds)
set the desired interval at which the CTI Manager must send heartbeats to JTAPI (seconds). The actual interval is decided by the server at connect time.


getRouteSelectTimeout

int getRouteSelectTimeout()
get the route select timeout (milliseconds)


setRouteSelectTimeout

void setRouteSelectTimeout(int milliseconds)
set the route select timeout milliseconds


getSecurityPropertyForInstance

java.util.Hashtable getSecurityPropertyForInstance()
This interface return a Hashtable with all the parameters set for User/InstanceID Hashtable is set with following "key" "value" pair

    KEY-----------------------------VALUE
    "user"---------------------------userName
    String "instanceID"--------------InstanceID
    String "AuthCode"----------------authCode
    String "CAPF"--------------------capfServer IP-Address
    String "CAPFPort"----------------capfServer IP-Address port
    String "TFTP"--------------------tftpServer IP-Address
    String "TFTPPort"----------------tftpServer IP-Address port
    String "CertPath"----------------certificate Path
    String "securityOption" ---------Boolean security option(true for enable/ false for disabled)
    String "certificateStatus"-------Boolean certificate status(true for updated/ false for not updated)

Returns:
Hashtable in above described format for first user and instance.

getSecurityPropertyForInstance

java.util.Hashtable getSecurityPropertyForInstance(java.lang.String user,
                                                   java.lang.String instanceID)
This interface return a Hashtable with all the parameters set for User/InstanceID Hashtable is set with following "key" "value" pair

    KEY-----------------------------VALUE
    "user"---------------------------userName
    String "instanceID"--------------InstanceID
    String "AuthCode"----------------authCode
    String "CAPF"--------------------capfServer IP-Address
    String "CAPFPort"----------------capfServer IP-Address port
    String "TFTP"--------------------tftpServer IP-Address
    String "TFTPPort"----------------tftpServer IP-Address port
    String "CertPath"----------------certificate Path
    String "securityOption" ---------Boolean security option(true for enable/ false for disabled)
    String "certificateStatus"-------Boolean certificate status(true for updated/ false for not updated)

Parameters:
user - UserName for which we are getting security parameter
instanceID - InstanceID for which we are getting security parameter
Returns:
Hashtable in above described format.

setSecurityPropertyForInstance

void setSecurityPropertyForInstance(java.lang.String user,
                                    java.lang.String instanceID,
                                    java.lang.String authCode,
                                    java.lang.String tftp,
                                    java.lang.String tftpPort,
                                    java.lang.String capf,
                                    java.lang.String capfPort,
                                    java.lang.String certPath,
                                    boolean securityOption)
Deprecated. This method is replace by overloaded method setSecurityPropertyForInstance which takes an extra parameter certStorePassphrase, a passphrase for java key store. This method might have some security vulnerability.

This interface provides application ability to download server/client cerfiticate and set security property for application instance in jtapi.ini file of JTAPI.

Parameters:
user - UserName for which security parameter is being updated
instanceID - InstanceID for which security parameter is being updated
authCode - Autherization String
capf - IP-Address of CAPF Server
capfPort - IP-Address port number on which CAPF server is running, this this defined in CallManger Service Parameter. If null is specific default value 3804 will be taken
tftp - IP-Address of TFTP Server
tftpPort - IP-Address port number on which TFTP server is running, CallManager TFTP server usually runs on port 69, if null is specific default value 69 will be taken.
certPath - path where certificate needs to be installed

setSecurityPropertyForInstance

void setSecurityPropertyForInstance(java.lang.String user,
                                    java.lang.String instanceID,
                                    java.lang.String authCode,
                                    java.lang.String tftp,
                                    java.lang.String tftpPort,
                                    java.lang.String capf,
                                    java.lang.String capfPort,
                                    java.lang.String certPath,
                                    boolean securityOption,
                                    java.lang.String certstorePassphrase)
This interface provides application ability to downloading server/client cerfiticate and set security property for application instance in jtapi.ini file of JTAPI

Parameters:
user - UserName for which security parameter is being updated
instanceID - InstanceID for which security parameter is being updated
authCode - Autherization String
capf - IP-Address of CAPF Server
capfPort - IP-Address port number on which CAPF server is running, this this defined in CallManger Service Parameter. If null is specific default value 3804 will be taken
tftp - IP-Address of TFTP Server
tftpPort - IP-Address port number on which TFTP server is running, CallManager TFTP server usually runs on port 69, if null is specific default value 69 will be taken.
certPath - path where certificate needs to be installed
certstorePassphrase - passphrase for java key store where client/server certificates are stored

deleteSecurityPropertyForInstance

void deleteSecurityPropertyForInstance(java.lang.String username,
                                       java.lang.String instanceID,
                                       java.lang.String capfIp,
                                       java.lang.String certPath)
This interface can be used to delete security properly from jtapi.ini file and also delete certificate previously installed for username/instanceId

Parameters:
username - UserName for which security parameter is being deleted
instanceID - InstanceID for which security parameter is being deleted
capfIp - IP-Address of CAPF Server
certPath - path where certificate needs to be deleted

updateCertificate

void updateCertificate(java.lang.String user,
                       java.lang.String intanceID,
                       java.lang.String authcode,
                       java.lang.String ccmTFTPAddress,
                       java.lang.String ccmTFTPPort,
                       java.lang.String ccmCAPFAddress,
                       java.lang.String ccmCAPFPort,
                       java.lang.String certificatePath)
                       throws java.lang.Exception,
                              java.io.IOException,
                              java.net.UnknownHostException
Deprecated. This method is replace by overloaded method updateCertifcate which takes an extra parameter certStorePassphrase, a passphrase for java key store. This method might have some security vulnerability.

This interface installs an X.509 client certificate for USER Instance in cerfiticate store. And it download server certificate CTL(Certificate Trust List) from CallManager TFTP server. For gettting client X.509 cerfiticate, this connects to CallManager CAPF(Certificate Authority Proxy Function) server. If user credential provided are not valid, this method will throw PriviledgeVoilationException. If TFTP server or CAPF server address provided is not correct, this method would throw InvalidArgumentException. Every instance of Application, require a unique client certificate. If multiple instanceID is configured in CallManager db, Applications can call this interface multiple time to install client certificate for every intances.

Pre-conditions:

    When calling this interface,Application should have Network connectivity with CallManager CAPF and TFTP server.
Post-conditions:
    This will install client and server certificale on JTAPI Application machine.

Parameters:
user - The name of CTI Application user configured in CallManager DB.
intanceID - Application instance ID configured in CallManager DB, every instance of Application require a unique ID to be configured.
authcode - Autherization string configured in CallManager DB, can be used only once for getting certificate.
ccmTFTPAddress - The IP address of CallManger TFTP server.
ccmTFTPPort - Port number on which CallManager TFTP Server is running, if null specified default value 69 will be taken
ccmCAPFAddress - The IP Address of CallManager CAPF server
ccmCAPFPort - Port number on which CallManager CAPF server is running, if null specified default value 3804 will be taken
certificatePath - The directory path for where certificate need to be installed.
Throws:
javax.telephony.InvalidArgumentException - If TFTP server or CAPF server address are not valid, this exception would be thrown.
PriviledgeVoilationException - This exception would be thrown if user or intanceID or authcode provided is not valid.
java.lang.Exception
java.io.IOException
java.net.UnknownHostException

updateCertificate

void updateCertificate(java.lang.String user,
                       java.lang.String intanceID,
                       java.lang.String authcode,
                       java.lang.String ccmTFTPAddress,
                       java.lang.String ccmTFTPPort,
                       java.lang.String ccmCAPFAddress,
                       java.lang.String ccmCAPFPort,
                       java.lang.String certificatePath,
                       java.lang.String certStorePassphrase)
                       throws java.lang.Exception,
                              java.io.IOException,
                              java.net.UnknownHostException

This interface installs an X.509 client certificate for USER Instance in cerfiticate store. And it download server certificate CTL(Certificate Trust List) from CallManager TFTP server. For gettting client X.509 cerfiticate, this connects to CallManager CAPF(Certificate Authority Proxy Function) server. If user credential provided are not valid, this method will throw PriviledgeVoilationException. If TFTP server or CAPF server address provided is not correct, this method would throw InvalidArgumentException. Every instance of Application, require a unique client certificate. If multiple instanceID is configured in CallManager db, Applications can call this interface multiple time to install client certificate for every intances.

Pre-conditions:

    When calling this interface,Application should have Network connectivity with CallManager CAPF and TFTP server.
Post-conditions:
    This will install client and server certificale on JTAPI Application machine.

Parameters:
user - The name of CTI Application user configured in CallManager DB.
intanceID - Application instance ID configured in CallManager DB, every instance of Application require a unique ID to be configured.
authcode - Autherization string configured in CallManager DB, can be used only once for getting certificate.
ccmTFTPAddress - The IP address of CallManger TFTP server.
ccmTFTPPort - Port number on which CallManager TFTP Server is running, if null specified default value 69 will be taken
ccmCAPFAddress - The IP Address of CallManager CAPF server
ccmCAPFPort - Port number on which CallManager CAPF server is running, if null specified default value 3804 will be taken
certificatePath - The directory path for where certificate need to be installed.
certStorePassphrase - passphrase for java key store where client/server certificates are stored
Throws:
java.io.IOException - this signals that an I/O exception of some sort has occured
java.net.UnknownHostException - is thrown to indicate that the IP address of a host could not be determined.
java.lang.Exception - is thrown to indicate that an exception of some sort has occured

deleteCertificates

void deleteCertificates(java.lang.String username,
                        java.lang.String instanceID,
                        java.lang.String ccmCAPFAddress,
                        java.lang.String certificatePath)

This interface deletes X.509 client certificate installed for USER Instance in cerfiticate store.

Pre-conditions:

    Application user certificate installed on JTAPI application machine
Post-conditions:
    This will delete client and server certificate installed on JTAPI Application machine.

Parameters:
username - The name of CTI Application user configured in DataBase.
instanceID - Application instance ID configured in DataBase
ccmCAPFAddress - The IP Address of CallManager CAPF server
certificatePath - The directory path for where certificate currently installed.

IsCertificateUpdated

boolean IsCertificateUpdated(java.lang.String user,
                             java.lang.String instanceID)
This interface provides information about where or not Client and Server certificates are updated for a given user/instanceID

Parameters:
user - Takes UserName as defined in CallManager admin page
instanceID - Takes instanceID for UserName
Returns:
true if certificates are already update, false if certificate are not updated.

updateServerCertificate

void updateServerCertificate(java.lang.String ccmTFTPAddress,
                             java.lang.String ccmTFTPPort,
                             java.lang.String ccmCAPFAddress,
                             java.lang.String ccmCAPFPort,
                             java.lang.String certificatePath)
                             throws java.lang.Exception,
                                    java.io.IOException,
                                    java.net.UnknownHostException
Deprecated. This method is replace by overloaded method updateServerCertifcate which takes an extra parameter certStorePassphrase, a passphrase for java key store. This method might have some security vulnerability.

This interface installs an X.509 server certificate given certificate path. If TFTP server address provided is not correct, this method would throw InvalidArgumentException.Auto update Application should use this interface to update server certificate before involking HTTPS connection with CallManager.

Pre-conditions:

    When calling this interface,we should have Network connectivity TFTP server.
Post-conditions:
    This will install server certificate on JTAPI Application machine.

Parameters:
ccmTFTPAddress - The IP address of CallManger TFTP server.
ccmTFTPPort - Port number on which CallManager TFTP Server is running, if null specified default value 69 will be taken
certificatePath - The path for installing certificate.
ccmCAPFAddress - The IP Address of CallManager CAPF server
ccmCAPFPort - Port number on which CallManager CAPF server is running, if null specified default value 3804 will be taken
Throws:
javax.telephony.InvalidArgumentException - If TFTP server this exception would be thrown.
java.lang.Exception
java.io.IOException
java.net.UnknownHostException

updateServerCertificate

void updateServerCertificate(java.lang.String userName,
                             java.lang.String instanceID,
                             java.lang.String ccmTFTPAddress,
                             java.lang.String ccmTFTPPort,
                             java.lang.String ccmCAPFAddress,
                             java.lang.String ccmCAPFPort,
                             java.lang.String certificatePath,
                             java.lang.String certStorePassphrase)
                             throws java.lang.Exception,
                                    java.io.IOException,
                                    java.net.UnknownHostException

This interface installs an X.509 server certificate given certificate path. If TFTP server address provided is not correct, this method would throw InvalidArgumentException.Auto update Application should use this interface to update server certificate before involking HTTPS connection with CallManager.

Pre-conditions:

    When calling this interface,we should have Network connectivity TFTP server.
Post-conditions:
    This will install server certificate on JTAPI Application machine.

Parameters:
userName - The name of CTI Application user configured in DataBase.
instanceID - Application instance ID configured in DataBase
ccmTFTPAddress - The IP address of CallManger TFTP server.
ccmTFTPPort - Port number on which CallManager TFTP Server is running, if null specified default value 69 will be taken
certificatePath - The path for installing certificate.
ccmCAPFAddress - The IP Address of CallManager CAPF server
ccmCAPFPort - Port number on which CallManager CAPF server is running, if null specified default value 3804 will be taken
certStorePassphrase - passphrase for javakeystore where server certificates are stored
Throws:
java.io.IOException - this signals that an I/O exception of some sort has occured.
java.net.UnknownHostException - is thrown to indicate that the IP address of a host could not be determined.
java.lang.Exception - is thrown to indicate that an exception of some sort has occured

getDiscConnBeforeCreatingInCPIC

boolean getDiscConnBeforeCreatingInCPIC()
Controls the event order for the scenario when only redirected party in observed by Application This interface returns True if ConnDisconnectedEv is send before ConnCreatedEv, False otherwise

Returns:
True or false

setDiscConnBeforeCreatingInCPIC

void setDiscConnBeforeCreatingInCPIC(boolean val)
set event order, sent Disconnect before Connection created during redirect at redirted party. For the scenario when only redirected party in observed by Application


getProcessOfferingAfterNewcallevent

boolean getProcessOfferingAfterNewcallevent()
This interface retrieves the boolean value for the jtapi.ini parameter 'ProcessOfferringAfterNewcallEvent'.By default this interface returns false. Application may use the setProcessOfferingAfterNewcallevent() inerface to set the jtapi.ini parameter value.

Returns:
True or false

setProcessOfferingAfterNewcallevent

void setProcessOfferingAfterNewcallevent(boolean val)
Controls the event order for the transfer scenario when only transfer destination observed by Application and transfer is completed in offering state.. If this parameter is set to true, CallCtlOfferingEv will be sent after CiscoTransferStartedEv This also cause JTAPI to send CallActive/ConnCreateEv, ConnInitiatedEv CallCtlOfferedEv in two separate event set for normal call. If this parameter is not set or set to false, there is no change to current event set.

Parameters:
val - boolean True or false

getCallSecurityStatusChangedEv

boolean getCallSecurityStatusChangedEv()
This interface is for applications to know if it would receive the event CallSecurityStatusChangedEv when applicable. A true value indicates that application will receive CallSecurityStatusChangedEv when security status changes during secure conferencing. By default this filter is set to false

Returns:
boolean

setCallSecurityStatusChangedEv

void setCallSecurityStatusChangedEv(boolean val)
This interface enables applications to set the filter to receive CallSecurityStatusChangedEv to true or false. Application may set a true value if it wishes to receive the event CallSecurityStatusChangedEv.

Parameters:
val - boolean

setProviderOpenRetryAttempts

void setProviderOpenRetryAttempts(int retryAttempts)
Allows application to set the JTAPI's Reconnect Attempts to CTI Manager

Parameters:
retryAttempts - int
Since:
7.0

getProviderOpenRetryAttempts

int getProviderOpenRetryAttempts()
This method returns the value of service parameter for maximum number of reconnect attempts to CTI Manager

Returns:
int
Since:
7.0

setUpdateJtapiCalledWithOriginalCalled

void setUpdateJtapiCalledWithOriginalCalled(boolean val)
The interface can be used to always update Jtapi Called information with original called once the parameter is set to true. By default, the parameter is set to false.

Parameters:
val - boolean True or False

getUpdateJtapiCalledWithOriginalCalled

boolean getUpdateJtapiCalledWithOriginalCalled()
The interface is used to query parameter setting that changes Jtapi behavior on updating called address.

Returns:
boolean

setJavaSocketConnectTimeout

void setJavaSocketConnectTimeout(int timeout)
Allows application to set the SOCKET CONNECT TIMEOUT in seconds

Parameters:
timeout - int parameter to set timeout in seconds

getJavaSocketConnectTimeout

int getJavaSocketConnectTimeout()
This method returns the value of service parameter for SOCKET CONNECT TIMEOUT in seconds

Returns:
int