Table Of Contents
Troubleshooting Cisco Unified JTAPI
CTI Error Codes
CiscoEvent IDs
CiscoFeatureReason Codes
Additional Troubleshooting Information
Viewing JTAPI Debug Output
Log Files For JTAPI Client Installer
Troubleshooting Tips for ISMP Installer
"Unable to create provider -- directory login timeout" Message
Troubleshooting Cisco Unified JTAPI
This section contains CTI Error Codes, CiscoEvent IDs, and other information to assist with troubleshooting efforts.
CTI Error Codes
Table C-1 CTI Error Codes
Error Name
|
Description
|
CALL_DROPPED
|
The call is dropped after the feature request (hold, unhold, transfer, conference) but before completing the request.
|
CFWDALL_ALREADY_OFF
|
Attempt to turn off CFWALL while it is already off
|
CFWDALL_ALREADY_SET
|
Attempt to set CFWALL while it is already set
|
CFWDALL_DESTN_INVALID
|
Attempt to CFWALL to an invalid destination
|
COMMAND_NOT_IMPLEMENTED_ON_DEVICE
|
Internal call processing error: device does not support the command.
|
CONFERENCE_ALREADY_PRESENT
|
Attempt to conference a party that is already in conference
|
CONFERENCE_FAILED
|
Conference complete was not successful.
|
CONFERENCE_FULL
|
All conference bridges are busy.
|
CONFERENCE_INACTIVE
|
Attempt to complete conference while consult conference is not active
|
CONFERENCE_INVALID_PARTICIPANT
|
Trying to conference to self or an invalid participant
|
CTIERR_ASSOCIATED_LINE_NOT_OPEN
|
Command issued on a line that must be open
|
CTIERR_CALL_AREADY_EXISTS
|
Another call already exists on the line.
|
CTIERR_CALLHANDLE_NOTINCOMINGCALL
|
Attempt to answer a call that either does not exists or is not in the correct state
|
CTIERR_CALLHANDLE_UNKNOWN_TO_LINECONTROL
|
Attempt to redirect call that was unknown to line control
|
CTIERR_CANNOT_OPEN_DEVICE
|
Device open failed because the associated device is shutting down (unregistering).
|
CTIERR_CANNOT_TERMINATE_MEDIA_ON_PHONE
|
An application cannot terminate media when the device has a physical phone (the phone always terminates the media).
|
CTIERR_CLUSTER_LINK_FAILURE
|
Link failed to one of the call managers in the cluster (network error).
|
CTIERR_COMMAND_NOT_IMPLEMENTED_ON_DEVICE
|
Device does not support the command.
|
CTIERR_DB_ERROR
|
Device query contained an illegal device type.
|
CTIERR_DB_ILLEGAL_DEVICE_TYPE
|
No longer used
|
CTIERR_DB_NO_MORE_DEVICES
|
No longer used
|
CTIERR_DEVICE_NOT_OPEN
|
Attempt to open either a line on a device that is not open or a device that must already be registered (that is, an IP phone device)
|
CTIERR_DIRECTORY_LOGIN_FAILED
|
Login to the directory server failed when the provider was opened.
|
CTIERR_DIRECTORY_LOGIN_TIMEOUT
|
Directory login failed due to timeout. This error occurs when there is no authentication response from CTI. The application must try again. If the ProviderOpenRequest fails on repeated attempts the developer must modify the ProviderOpenRequest.
|
CTIERR_FAC_CMC_REASON_CMC_INVALID
|
Client Matter Code (CMC) entered is invalid
|
CTIERR_FAC_CMC_REASON_CMC_NEEDED
|
Client Matter Code (CMC) is required to offer the call
|
CTIERR_FAC_CMC_REASON_FAC_CMC_NEEDED
|
Forced Authorization Code (FAC) and Client Matter Code (CMC) are required to offer call
|
CTIERR_FAC_CMC_REASON_FAC_INVALID
|
Forced Authorization Code (FAC) entered is invalid
|
CTIERR_FAC_CMC_REASON_FAC_NEEDED
|
Forced Authorization Code (FAC) is required to offer the call
|
CTIERR_FEATURE_SELECT_FAILED
|
Feature select failed
|
CTIERR_HOLDFAILED
|
Line control or call control rejected hold.
|
CTIERR_ILLEGAL_CALLINGPARTY
|
Attempt to originate call by using a calling party that is not on the device
|
CTIERR_ILLEGAL_CALLSTATE
|
Line is not in a legal state to invoke the command.
|
CTIERR_ILLEGAL_HANDLE
|
Handle is unknown to the system.
|
CTIERR_ILLEGAL_MESSAGE_FORMAT
|
QBE protocol error (bug)
|
CTIERR_INCORRECT_MEDIA_CAPABILITY
|
Device registration failed due to incorrect media capability.
|
CTIERR_INVALID_DTMFDIGITS
|
Play DTMF request failed because it is an invalid DTMF digit.
|
CTIERR_INVALID_FILTER_SIZE
|
Filter size is invalid
|
CTIERR_LINE_OUT_OF_SERVICE
|
Line is out of service
|
CTIERR_LINECONTROL_FAILURE
|
Line control refuses to let a new call be initiated because of its state (probably bug).
|
CTIERR_MEDIA_ALREADY_TERMINATED
|
Attempt to terminate on a media device that already has media terminated
|
CTIERR_NOT_INITIALIZED
|
Attempt to open a provider before CTI initialization completes
|
CTIERR_OPERATION_FAILED_QUIETCLEAR
|
Feature unavailable for this call due to temporary failure
|
CTIERR_PRIMARY_CALL_DROPPED
|
Primary call was dropped
|
CTIERR_PROVIDER_ALREADY_OPEN
|
Attempt to reopen a provider
|
CTIERR_PROVIDER_NOT_OPEN
|
Attempt to issue a CTI command before the provider was open
|
CTIERR_REDIRECT_CALL_CALL_TABLE_FULL
|
Internal error returned from call control
|
CTIERR_REDIRECT_CALL_DESTINATION_BUSY
|
Redirect destination is busy.
|
CTIERR_REDIRECT_CALL_DESTINATION_OUT_OF_OR
DER
|
Redirect destination is out of order.
|
CTIERR_REDIRECT_CALL_DIGIT_ANALYSIS_TIMEOU
T
|
Internal error returned from call control
|
CTIERR_REDIRECT_CALL_DOES_NOT_EXIST
|
Attempt to redirect a call that does not exist or is not longer active
|
CTIERR_REDIRECT_CALL_INCOMPATIBLE_STATE
|
Internal error returned from call control
|
CTIERR_REDIRECT_CALL_MEDIA_CONNECTION_FAIL
ED
|
Internal error returned from call control
|
CTIERR_REDIRECT_CALL_NORMAL_CLEARING
|
Internal error returned from call control
|
CTIERR_REDIRECT_CALL_ORIGINATOR_ABANDONED
|
Far end hung up on the call being redirected
|
CTIERR_REDIRECT_CALL_PARTY_TABLE_FULL
|
Internal error returned from call control
|
CTIERR_REDIRECT_CALL_PENDING_REDIRECT_
TRANSACTION
|
Internal error returned from call control
|
CTIERR_REDIRECT_CALL_PROTOCOL_ERROR
|
Internal error returned from call control
|
CTIERR_REDIRECT_CALL_UNKNOWN_DESTINATION
|
Attempt to redirect to an unknown destination
|
CTIERR_REDIRECT_CALL_UNKNOWN_ERROR
|
Internal error returned from call control
|
CTIERR_REDIRECT_CALL_UNKNOWN_PARTY
|
Internal error returned from call control
|
CTIERR_REDIRECT_CALL_UNRECOGNIZED_MANAGER
|
Internal error returned from call control
|
CTIERR_REDIRECT_CALLINFO_ERR
|
Internal error returned from call control
|
CTIERR_REDIRECT_ERR
|
Internal error returned from call control
|
CTIERR_REGISTER_FEATURE_PROVIDER_NOT_
REGISTERED
|
Register feature provider was not registered.
|
CTIERR_REGISTER_FEATURE_APP_ALREADY_
REGISTERED
|
Register feature application was already registered
|
CTIERR_RETRIEVEFAILED
|
Line control or call control rejected retrieve.
|
CTIERR_SSAPI_NOT_REGISTERED
|
Redirect command was issued when internal supporting interface was not initialized; either CTI has not yet finished its initialization or an internal error occurred.
|
CTIERR_TIMEOUT
|
No longer used
|
CTIERR_TRANSFERFAILED
|
Transfer failed (probable cause is one of the call legs was hung up or disconnected from the far end).
|
CTIERR_TRANSFERFAILED_CALLCONTROL_TIMEOUT
|
Expected response from call control not received during a transfer
|
CTIERR_TRANSFERFAILED_DESTINATION_BUSY
|
Attempt to transfer to a busy destination
|
CTIERR_TRANSFERFAILED_DESTINATION_UNALLOCA
TED
|
Attempt to transfer to a directory number that is not registered
|
CTIERR_TRANSFERFAILED_TRANSFER_ALREADY_
OUTSTANDING
|
Existing transfer is still in progress.
|
CTIERR_UNDEFINED_LINE
|
Line was specified that was not found on the device.
|
CTIERR_UNKNOWN_GLOBAL_CALL_HANDLE
|
No longer used
|
CTIERR_UNRECOGNIZABLE_PDU
|
QBE protocol error (bug)
|
CTIERR_UNSUPPORTED_CFWD_TYPE
|
Unsupported call forward type
|
DARES_INVALID_REQ_TYPE
|
Internal call processing error: DaRes invalid request type
|
DATA_SIZE_LIMIT_EXCEEDED
|
XML data object size is bigger than allowed.
|
DEVICE_OUT_OF_SERVICE
|
Device is out of service.
|
DIGIT_GENERATION_ALREADY_IN_PROGRESS
|
Digit generation is already in progress.
|
DIGIT_GENERATION_CALLSTATE_CHANGED
|
Call state invalid to continue
|
DIGIT_GENERATION_WRONG_CALL_HANDLE
|
Call handle is invalid and call may be gone.
|
DIGIT_GENERATION_WRONG_CALL_STATE
|
Call state is not valid to generate digits.
|
DIRECTORY_TEMPORARY_UNAVAILABLE
|
Directory is temporarily unavailable.
|
INVALID_LINE_HANDLE
|
Attempt to perform a line operation on an invalid line handle
|
LINE_INFO_DOES_NOT_EXIST
|
Line information does not exist in database DbDNResponse.
|
LINE_NOT_PRIMARY
|
Internal error returned from call control
|
MAX_NUMBER_OF_CTI_CONNECTIONS_REACHED
|
The maximum number of CTI connections reached; may need to reconfigure the maximum number of CTI connections or log out of some applications to be able to log in
|
MSGWAITING_DESTN_INVALID
|
Attempt to set message waiting lamp for an invalid DN; Message Waiting Destination not found
|
OPERATION_NOTA_AVAILABLE_IN_CURRENT_STATE
|
Feature operation is not available in the current state.
|
PROTOCOL_TIMEOUT
|
Internal error returned from call control
|
PROVIDER_CLOSED
|
Attempt to close provider while it is already closed
|
RETRIEVEFAILED_ACTIVE_CALL_ON_LINE
|
Error occurred in retrieving held call; call may be already dropped.
|
TRANSFER_INACTIVE
|
Attempt to complete transfer while consult transfer is not there
|
CiscoEvent IDs
CiscoProvFeatureUnRegisteredEv = 0x40000008;
CiscoTermCreatedEv = 0x40001001;
CiscoTermDataEv = 0x40001002;
CiscoTermInServiceEv = 0x40001003;
CiscoTermOutOfServiceEv = 0x40001004;
CiscoTermRemovedEv = 0x40001005;
CiscoTermActiveStatusEv = 0x40001006;
CiscoTermAlertingStatusEv = 0x40001007;
CiscoTermHoldStatusEv = 0x40001008;
CiscoTermIdleStatusEv = 0x40001009;
CiscoTermButtonPressedEv = 0x40001010;
CiscoTermRegistraionFailedEv = 0x40001011;
CiscoTermDNDStatusChangedEv = 0x40001014;
CiscoTermDeviceStateWhisperEv = 0x40001015;
CiscoAddrCreatedEv = 0x40002001;
CiscoAddrInServiceEv = 0x40002002;
CiscoAddrOutOfServiceEv = 0x40002003;
CiscoAddrRemovedEv = 0x40002004;
CiscoOutOfServiceEv = 0x40002005;
CiscoAddrAddedToTerminalEv = 0x40002006;
CiscoAddrRemovedFromTerminalEv = 0x40002007;
CiscoAddrAutoAcceptStatusChangedEv = 0x40002008;
CiscoAddrIntercomInfoChangedEv = 0x40002009;
CiscoAddrIntercomInfoRestorationFailEv = 0x400020010;
CiscoProvCallParkEv = 0x40003001;
CiscoConferenceEndEv = 0x40003002;
CiscoConferenceStartEv = 0x40003003;
CiscoConsultCallActiveEv = 0x40003004;
CiscoTransferEndEv = 0x40003005;
CiscoTransferStartEv = 0x40003006;
CiscoToneChanedEv = 0x40003007;
CiscoCallChangedEv = 0x40003008;
CiscoRTPInputStartedEv = 0x40004001;
CiscoRTPInputStoppedEv = 0x40004002;
CiscoRTPOutputStartedEv = 0x40004003;
CiscoRTPOutputStoppedEv = 0x40004004;
CiscoMediaOpenLogicalChannelEv = 0x40004005;
CiscoTermConnPrivacyChangedEv = 0x40005001;
CiscoTermConnSelectChangedEv = 0x40005003;
CiscoFeatureReason Codes
JTAPI provides the following CiscoFeatureReason codes in Call events that are caused by features. CiscoFeatureReason codes are provided for existing as well as new Cisco Unified Communications Manager features. For example, the TRANSFER and CONFERENCE feature reasons would be REASON_TRANSFER and REASON_CONFERENCE.
New reasons and codes might be provided if new features are introduced in the future, and these might not be backward compatible. Applications using CiscoFeatureReason should expect to receive new reasons and must implement default behavior to maintain the Application's backward compatibility.
REASON_TRANSFER = 2
Indicates events are due to the transfer feature
REASON_FORWARDNOANSWER = 3
Indicates events are due to call forward no answer feature
REASON_FORWARDBUSY = 4
Indicates evens are due to call forward busy feature
REASON_FORWARDALL = 5
Indicates events are due to call forward all feature
REASON_REDIRECT = 6
Indicates events are due to call being redirected
REASON_BLINDTRANSFER = 7
Indicates events are due to single step transfer feature
REASON_CONFERENCE = 9
Indicates events are due to the conference feature
REASON_PARK = 10
Indicates events are due to call being parked
REASON_CALLPICKUP = 11
Indicates events are due to call pickup feature
REASON_NORMAL = 12
Indicates the events are due to normal call activity
REASON_PARKREMAINDER = 15
Indicates events are due to park remainder feature
REASON_UNPARK = 16
Indicates the events are due to call being unparked
REASON_BARGE = 20
Indicates the events are due to call being barged
REASON_IMMDIVERT = 21
Indicates events are due to idivert feature
REASON_FAC_CMC = 22
Indicates events are due to forced access code and client matter code feature
REASON_QSIG_PR = 23
Indicates events are due to QSIG path replacement feature
Additional Troubleshooting Information
Viewing JTAPI Debug Output
To view JTAPI debug output, use the JTPREFS application to change the trace settings. The JTPREFS application allows you to enable or disable various kinds of tracing.
JTPREFS is installed in the %SystemRoot%\java\lib directory along with the JTAPI classes. Cisco JTAPI Preferences is installed by default in Program Files\JTAPITools.
To open the Cisco JTAPI Preferences utility, choose Start > Programs > Cisco JTAPI > JTAPI Preferences.
The following trace levels are defined:
•
WARNING - warning events
•
INFORMATIONAL - status events
•
DEBUG - debugging events
If DEBUG is enabled, JTPREFS allows you to enable or disable various debugging levels.
The following debugging levels are defined:
•
TAPI_DEBUGGING - to trace JTAPI methods and events
•
TAPI_IMPLDEBUGGING - internal JTAPI implementation trace
•
CTI_DEBUGGING - to trace Cisco Unified Communications Manager events that are sent to the JTAPI implementation
•
CTIIMPL_DEBUGGING - internal CTICLIENT implementation trace
•
PROTOCOL_DEBUGGING - full CTI protocol decoding
•
MISC_DEBUGGING - miscellaneous low-level debug trace
Traces can be directed to a specific path and folder rather than to the application directory by default. The same trace folder could be used for successive or more than one simultaneous launch of JTAPI. Different launches of JTAPI would also send the traces to different folders. This allows simultaneous JTAPI instances to maintain independent trace destinations
Log Files For JTAPI Client Installer
In order to detect the error which might occur during the installation and uninstallation process, two log files will be generated. These files will be in the same location from which the installer is executed.
•
ismpInstall.log - to track events during installation.
•
ismpUninstall.log - to track events during uninstallation.
The error messages will contain the information about the wizard beans that were executed as a part of the install procedure and if there were any exceptions.
Troubleshooting Tips for ISMP Installer
SN
|
Problem Description
|
Cause
|
Solution
|
1
|
ISMP Uninstall does not remove the target directories installed.
|
Directory from which uninstaller is invoked.
|
The uninstaller needs to be invoked from at least one level above the install directory.
|
2
|
Proper language details are not displayed during installation
|
Locale Files not proper.
|
Please report this problem immediately to the support personnel to suggest the change or error in message.
|
3
|
Uninstaller/Installer throws error.
|
The JVM has been either removed or replaced with an incompatible version
|
The installer comes with a built in JVM which also gets installed if the target machine does not have a JVM. In case you face this error - manual removal of the files needs to be done.
|
4
|
Installer goes through fine, but the files have not been copied.
|
Permissions
|
Ensure that proper write permissions are there for the destination folder. This problem can occur on UNIX platforms.
|
5
|
Installer/Uninstaller throws exception or crashes during the installation process.
|
version name problem / folder name problem.
|
Refer to the log files generated to get an idea of which step caused the error.
|
6
|
Upgrade does not show "upgrade" message during installation of an upgrade version.
|
.jtapiver.ini missing.
|
This file is where the current jtapi install details are located. If this is accidently removed then, upgrade/reinstall will have display issues. In the case of an upgrade/reinstall or downgrade failure, the user will have to manually remove the files from the .jtapi/bin and .jtapi/lib folders and then try the installer in order to ensure proper installation during the next time.
|
"Unable to create provider -- directory login timeout" Message
This error occurs when there is no authentication response from CTI for the ProviderOpenRequest. It could fail because of:
•
LDAP connectivity problems
•
Database delays
•
The CTIManager being busy for some other reason and therefore unable to honor the request
The solution is that the application must try again. If the ProviderOpenRequest fails on repeated attempts, modify the ProviderOpenRequest.