This document contains the Frequently Asked Questions on Avaya Interaction Center Client SDKs.
There are two settings that determine the log level for the Client SDK server: the log level in the log4j configuration file on the Client SDK Server (tomcat) machine and the value of the Avaya IC property Agent/Desktop/WebClient/LogLevelServer on the IC core.
The log4j configuration file on the Client SDK server is IC_INSTALL_DIR\IC71\sdk\server\icsdk\WEB-INF\classes\log4j.xml.
If the log level of Agent/Desktop/WebClient/LogLevelServer is lower than the value in the log4j.xml file, then the LogLevelServer setting takes precedence. In other words, the setting in the log4j.xml file can never make the logging more verbose than the IC property setting. It can, however, make the logging less verbose.
Perform the following steps to check and set the value of the Avaya IC property Agent/Desktop/WebClient/LogLevelServer on the IC core.
To set the log level in the log4j configuration file there are two choices for how to proceed. Avaya provides several pre-configured log4j.xml files with the IC 7.1 installation. These files are named with the log level they are configured for, e.g., debug.log4j.xml has settings for the debug log level. These file are located in the IC_INSTALL_DIR\IC71\sdk\server\icsdk\WEB-INF\classes directory.
Simply copy one of these files to log4j.xml.
Alternately, open the log4j.xml file and modify log levels manually. A sample excerpt from the log4j.xml file is given below. Modify "level value =" settings as desired. For more information about log4j and its configuration see http://logging.apache.org/log4j/docs.
<!-- These are the possible log levels - debug | info | warn | error | fatal -->
In order to be able to transfer a work item to another agent using that agent's login ID, make sure that the agent is set to be "addressable" in IC Manager. If you do not do this, the transfer will not succeed.
So, if it is possible to transfer a voice call using the extension number, but cannot transfer chat, email, and voice by agent login ID, check that the agent is addressable.
Perform the following steps:
Once this is done, it should be possible to transfer a chat, email, or voice work item by entering the agent's login ID.
Because the Java Client SDK client code uses the log4j logging mechanism all aspects of logging can be controlled thru the log4j.xml configuration file. This file should be placed in the directory from which the client program is launched. A sample of the log4j.xml file that is used by the Avaya sample client can be found in IC_INSTALL_DIR\IC71\sdk\design\java\sample\config. Copy this file to the custom client's directory. For more information on the log4j logging mechanism see http://logging.apache.org/log4j/docs. What follows is a short discussion along with examples for manipulating the most common elements of logging: setting the log level, creating application specific loggers and causing the logs to go to a file.
Application specific loggers can be created that control custom code log statements separately from Client SDK client log statements. Simply add an entry similar to the one below to the log4j.xml file.
<!-- custom client code -->
Then, in the application code, open this logger like this:
import org.apache.log4j.Logger;
This will produce a log message (provided that the log level is set at least to debug level) to the effect of:
By convention it is common and useful to encode the class name in the log message. This can easily be done with the following technique:
<!-- custom client code -->
This assumes that the root path to the custom application classes is com.mycompany.crm.client. Then open the logger as follows:
public class myclass {
Because the log4j logger uses a partial match of the logger name when choosing the logger definition, this produces:
The sample log4j.xml file defaults to sending Java log messages to the console. Log messages can be configured to go to a file by modifying the definition of the Appenders. The log4j.xml delivered with the sample client has the definition for writing to a file commented out. So simply comment out the definition for the console and uncomment the definition for using a file as follows:
<!--appender name="DebugAppender" class="org.apache.log4j.ConsoleAppender">
An application specific Appender can be created for handling custom application log statements separately by copying the above Appender definition and changing the Appender "name" attribute and the "File" value. Then reference this Appender in the logger definition.
<appender name="myAppender" class="org.apache.log4j.RollingFileAppender">
To manipulate the log level, change the "value" attribute of the level tag in the logger definition. The possible values are: debug, info, warn, error, fatal.
Avaya Interaction Center SDK supports JRE 1.4.2_08, but JRE 1.5 is not supported.
The WorkItem.Release method can be called on a workItem in the initiating state. That method would put the workItem in Wrapup State. Then, the WorkItem.Complete method can be called on the WorkItem to completely finalize the contact.
Unfortunately, this feature is not supported in the SDK (nor in the thinclient).
Use workitems contactattributes container to get the queue information from the edu. Follow the steps suggested in SDK Programmers guide for configuring workitem contact attributes. Just remember to configure TSQueueStatistics server that monitors the voice queues, in order to get the queue information.
Creating a dummy workitem through the Client SDK is not supported.
The .NET Client SDK client uses the log4net logger. For a more in depth discussion of log4net see http://logging.apache.org/log4net.
In order to control the custom application's logging, the log4net configuration file must be present in the directory where the .exe resides. Furthermore, the file must be named with the name of the .exe. So, if for example, the .exe is named myClient.exe, the log4net configuration file must be named myClient.exe.log4net. A sample log4net configuration file that can be copied for use can be found in the Avaya C# sample client at IC_INSTALL_DIR\IC71\sdk\design\C#\sample\bin\CSharptester.exe.log4net.
The contents and use of the log4net configuration file are similar to the log4j.xml file. The instructions given in the Java Development section for log4j are applicable for log4net as well.
The WorkItem.Release method can be called on a workItem in the initiating state. That method would put the workItem in Wrapup State. Then, the WorkItem.Complete method can be called on the WorkItem to completely finalize the contact.
Unfortunately, this feature is not supported in the SDK (nor in the thinclient).
Use workitems contactattributes container to get the queue information from the edu. Follow the steps suggested in SDK Programmers guide for configuring workitem contact attributes.
Just remember to configure TSQueueStatistics server that monitors the voice queues, in order to get the queue information.
Creating a dummy workitem through the Client SDK is not supported.