« Back to CTIOS Toolkit Questions

Java Toolkit sample problem

Combination View Flat View Tree View
Threads [ Previous | Next ]
I need some help related with the CTIOS Client Java toolkit. I coded our own agent desktop based in the java sample shipped with the distribution in path C:\Program Files\Cisco Systems\CTIOS Client\CTIOS Toolkit\Java CIL\samples\JavaPhone.
Testing the application I encountered some problems what happened to occur also in the JavaPhone and TestPhone (C:\Program Files\Cisco Systems\CTIOS Client\CTIOS Toolkit\Java CIL\tools\TestPhone) java agent desktops when calls are not routed properly to the device targets. First call is always routed to the ready agent and everything works as expected but subsequent calls never arrive to the destination target.

It seems that the agent gets reserved but the call cannot be routed to the device hence the call is aborted. My guess is that when hanging the previous call, something is not clean properly, resources are not freed. Maybe the sequence on the events are not handled properly in the samples, but as there are no much documentation, I am using just the Java Phone sample to develop my own agent desktop. Does anybody experience the same behaviour? Or Does anybody know what is the event sequence to follow when hanging up a call?

Any help will be really appreciated,

Isabel

Follows the events log entries:

C:\Program Files\Cisco Systems\CTIOS Client\CTIOS Toolkit\Java CIL\samples\JavaP
hone>java -cp .;..\..\JavaCIL.jar;JavaPhone.jar JavaPhoneFrame
LogWrapper::CreateFile : file .\Log\javaphone.092908.18.06.23.log was created su
ccessfully.
m_ExpireMonitorTread is started !
09/29/2008 18:06:23.703 CtiOsSession(33537384).CtiOsSession()
Version Information:
Product: CTI OS Java CIL 7.0.0, 08577
Date: April 09, 2007 10:47:00
Copyright (c) 2000 - 2007, Cisco Systems, Inc., All rights reserved.
09/29/2008 18:06:34.343 Connecting to CTIOS Server...
09/29/2008 18:06:34.359 NetPort(16197143).Open, Waiting for Socket to connect...

09/29/2008 18:06:34.531 Connecting...
09/29/2008 18:06:34.687 CtiOsSession(33537384).NotifyConnectionRestored, Adding
system event eSysCTIOSServerOnline
09/29/2008 18:06:55.234 Requesting Login
09/29/2008 18:06:55.234 Calling Session->SetAgent
09/29/2008 18:06:55.250 CtiOsSession(33537384).MakeRequest(eIdentifyClientReques
t)
09/29/2008 18:06:55.250 CtiOsSession(33537384).MakeRequest, (ClientPasswordemoticonnul
l) CILClientID:ESQSP011229_AWT-EventQueue-0_6221605984955821893)
09/29/2008 18:06:55.250 CtiOsSession(33537384).MakeRequest(eSetSessionModeReques
t)
09/29/2008 18:06:55.250 CtiOsSession(33537384).MakeRequest, (PeripheralID:5001 P
eripheralType:0 AgentState:eUnknown AgentExtensionemoticonnull) AgentID:21 AgentInstru
ment:3000 AgentPassword:c1sc0123 UniqueObjectIDemoticonnull) ClientAgentTemporaryID:ag
ent.1222704384 ClassIdentifier:1 IsSupervisor:0 LastErroremoticonAWT-EventQueue-0:0) C
onnectionMode:1 AutoLogin:1 SavedAgentState:9 WaitingforRecovery:0 SavedLoginInf
oemoticon) CurrentProfileemoticonnull) IsAgentTeamMember:0 SavedAgentId:21 SilentMonitorTarg
etAgentUIDemoticonnull) SilentMonitorCallUIDemoticonnull))
09/29/2008 18:06:55.406 CtiOsSession(33537384).OnIdentifyClientConf()
09/29/2008 18:06:55.421 http://agent.5001.21.OnSetAgentModeEvent(eSetAgentModeEvent)
09/29/2008 18:06:55.468 http://agent.5001.21.Login()
09/29/2008 18:06:55.468 http://agent.5001.21.SetAgentState( eLogin )
09/29/2008 18:06:55.468 CtiOsSession(33537384).MakeRequest(eSetAgentStateRequest
)
09/29/2008 18:06:55.468 CtiOsSession(33537384).MakeRequest, (PeripheralID:5001 A
gentState:eLogin AgentExtensionemoticonnull) AgentID:21 AgentInstrument:3000 AgentPass
word:c1sc0123 UniqueObjectID:agent.5001.21 ClientAgentTemporaryID:agent.12227043
84 ClassIdentifier:1 AutoLogin:1)
09/29/2008 18:06:55.468 http://agent.5001.21.OnQueryAgentStateConf(eLogout)(eQueryAge
ntStateConf)
09/29/2008 18:06:55.609 http://agent.5001.21.OnAgentInfoEvent(eAgentInfoEvent)
09/29/2008 18:06:55.625 CtiOsSession(33537384).CCtiOsSession:emoticonnEvent, Event eAg
entStateEvent is blocked.
09/29/2008 18:06:55.640 CtiOsSession(33537384).CCtiOsSession:emoticonnEvent, Event eAg
entStateEvent is blocked.
09/29/2008 18:06:55.656 CtiOsSession(33537384).CCtiOsSession:emoticonnEvent, Event eAg
entStateEvent is blocked.
09/29/2008 18:06:55.703 http://agent.5001.21.OnQueryAgentStateConf(eNotReady)(eQueryA
gentStateConf)
09/29/2008 18:06:55.718 http://agent.5001.21.OnAgentDeskSettingsConf(eAgentDeskSettin
gsConf)
09/29/2008 18:06:57.953 CtiOsSession(33537384).OnSnapshotDeviceConf()
09/29/2008 18:06:57.953 CtiOsSession(33537384).OnSnapshotDeviceConf( NumCalls =
0)(eSnapshotDeviceConf)
09/29/2008 18:07:06.875 http://agent.5001.21.GetAgentState()
09/29/2008 18:07:06.875 http://agent.5001.21.SetAgentState( eAvailable )
09/29/2008 18:07:06.875 CtiOsSession(33537384).MakeRequest(eSetAgentStateRequest
)
09/29/2008 18:07:06.875 CtiOsSession(33537384).MakeRequest, (AgentState:eAvailab
le EventReasonCode:1234 UniqueObjectID:agent.5001.21 ClassIdentifier:1)
09/29/2008 18:07:06.875 Requesting Agent State = Ready
09/29/2008 18:07:07.046 http://agent.5001.21.OnAgentStateEvent(eAvailable, Reason: 12
34)(eAgentStateEvent)
09/29/2008 18:07:56.781 CtiOsSession(33537384).OnAgentPrecallEvent()
09/29/2008 18:07:56.781 http://agent.5001.21.OnAgentStateEvent(eReserved, Reason: 123
4)(eAgentStateEvent)
09/29/2008 18:07:56.875 CtiOsSession(33537384).SetCurrentCall, Setting current c
all to: call.5001.16779176.3000
09/29/2008 18:07:56.875 ObjectManager(7756310).GetTarget, Created new Call for U
niqueObjectID:call.5001.16779176.3000.
09/29/2008 18:07:56.875 http://call.5001.16779176.3000.OnCallBeginEvent(eCallBeginEve
nt)
09/29/2008 18:07:56.890 CtiOsSession(33537384).ReportError, Code: -903, Msg: An
object for this call is already set as current in the session
09/29/2008 18:07:56.890 (PeripheralID:5001 PeripheralType:17 NumCTIClients:0 Con
nectionCallID:16779176 CallType:2 ConnectionDeviceIDType:0 ServiceNumber:4294967
295 ServiceID:4294967295 SkillGroupID:5003 LineType:0 SkillGroupPriority:0 NumNa
medVariables:7 NumNamedArrays:1 CampaignID:0 QueryRuleID:0 ANI:3011 UserToUserIn
foemoticonnull) DNIS:3000 DialedNumber:5780 CallerEnteredDigitsemoticonnull) ConnectionDevic
eIDemoticonnull) CallWrapupDataemoticonnull) RouterCallKeyDay:148925 RouterCallKeyCallID:203
DeviceID:3000 UniqueObjectID:call.5001.16779176.3000 CallStatus:eCallConnection
None MessageID:eCallBeginEvent eccemoticonuser.media.id:80A8F794-9EEF018E-26020301-C0A
84EF9 user.microapp.app_media_lib:.. user.microapp.caller_input:Mortgages user.m
icroapp.error_code:0 user.microapp.media_server:http://192.168.83.43:7000/CVP us
er.microapp.metadata:N|000|01|00|00|036047|GS,Server,V user.microapp.ToExtVXML[0 ]:application=PromptCallReason user.microapp.UseVXMLParams:N) ClassIdentifier:3
LastErroremoticonJCIL_Sess(33537384)_EvtThd(7254922):1) CallVariablesemoticon) ICMEnterprise
UniqueID:icm.148925.203 MeasuredCallQTime:0 DeviceUniqueObjectID:device.5001.300
0)
09/29/2008 18:07:56.890 http://call.5001.16779176.3000.OnCallDeliveredEvent(eCallDeli
veredEvent)
09/29/2008 18:08:03.328 http://agent.5001.21.OnAgentStateEvent(eTalking, Reason: 0)(e
AgentStateEvent)
09/29/2008 18:08:03.359 http://call.5001.16779176.3000.OnCallDataUpdateEvent(eCallDat
aUpdateEvent)
09/29/2008 18:08:03.406 http://call.5001.16779176.3000.OnCallEstablishedEvent(eCallEs
tablishedEvent)
09/29/2008 18:08:03.578 http://call.5001.16779176.3000.OnCallRTPStartedEvent(eRTPStar
tedEvent)
09/29/2008 18:08:03.640 http://call.5001.16779176.3000.OnCallRTPStartedEvent(eRTPStar
tedEvent)
09/29/2008 18:09:36.500 http://call.5001.16779176.3000.OnCallRTPStoppedEvent(eRTPStop
pedEvent)
09/29/2008 18:09:36.515 http://call.5001.16779176.3000.OnCallRTPStoppedEvent(eRTPStop
pedEvent)
09/29/2008 18:09:36.515 http://call.5001.16779176.3000.OnCallConnectionClearedEvent(e
CallConnectionClearedEvent)
09/29/2008 18:09:36.531 http://call.5001.16779176.3000.OnCallConnectionClearedEvent(e
CallConnectionClearedEvent)
09/29/2008 18:09:36.546 http://call.5001.16779176.3000.OnCallClearedEvent(eCallCleare
dEvent)
09/29/2008 18:09:36.562 http://call.5001.16779176.3000.OnCallEndEvent(eCallEndEvent)
09/29/2008 18:09:36.562 CtiOsSession(33537384).SetCurrentCall, Setting current c
all to null.
09/29/2008 18:09:36.562 CtiOsSession(33537384).ReportError, Code: 0, Msg: Unknow
n Error: 0x0, ?
09/29/2008 18:09:36.562 http://agent.5001.21.OnAgentStateEvent(eAvailable, Reason: 12
34)(eAgentStateEvent)
09/29/2008 18:12:41.484 CtiOsSession(33537384).OnAgentPrecallEvent()
09/29/2008 18:12:41.484 http://agent.5001.21.OnAgentStateEvent(eReserved, Reason: 123
4)(eAgentStateEvent)
09/29/2008 18:13:11.390 CtiOsSession(33537384).OnAgentPrecallAbortEvent()
09/29/2008 18:13:11.390 http://agent.5001.21.OnAgentStateEvent(eAvailable, Reason: 12
34)(eAgentStateEvent)

Is the agent able to receive calls in your environment using the out of box CTIOS Agent Desktop? From the log snippet it would appear there is a configuration problem transferring the call from CVP to the agent. If you are able to reproduce the error using the out of box CTIOS Agent Desktop then open a TAC case for your environment.

Note that since you are receiving the OnAgentPrecallAbortEvent this indicates there is a problem routing the call to the agent. This would seem to be an ICM scripting issue.

David, I am not having any problems in my installation using the out-of-the-box Agent desktop. It runs as expected. Calls are routed to the ready agents or if not, the calling party waits in queue with audio (expected from my routing script). That's why I am thinking that it is related or to the Java CIL istelf or the sample does not handle properly the "end connection" events. If I reset the application and the phones, first call is routed properly, subsequent calls have the behaviour explained above.

Thanks for your help,

Isabel

The sample(s) are not intended for production use and you are correct they may not handle all the events that you see in your environment.

However, looking at your log snippet I have some additional questions.

  • I do not see any Answer or Release requests from the client so it would appear that these are occuring from the hardphone. Is this correct?

  • The AgentPreCallEvent is not handled by the sample code.

  • The AgentPreCallAbort event would come from ICM (CTI Server) and is not likely due to a CIL or custom application issue.

If you continue to have issues you can open an case for Developer Services providing both the CTIOS Server and CTIOS Client CIL logs associated with good call handling by the CTIOS Agent Desktop as welll as a CTIOS Server and CTIOS Client CIL log associated with the custom Java Cil application.

David

David. Thank you. I was wrong in my assumption that it worked with the out of box Agent Desktop. It's not working, that means that as you said either the routing script is not working properly or I have something misconfigured in the installation.
I got the logs and will open a case for Developer Services.

Isabel

Hi
I need urgency get SDK tooltik of Cisco from Visual Basic 6
you can help me?

Thanks

Contact your sales channel for CTIOS Install Media. The CTIOS Toolkit is
installed as an option of the CTIOS Desktop install. The current
version is 7.5(1) and it supports using COM Cil and ActiveX controls in
Visual Basic 6. If you are a CTDP Partner, see the link on the Getting
Started page of the CTIOS Technology center in the Cisco Developer
Community portal here http://developer.cisco.com/web/ctios/start

David Lender (467)
Shannon McCoy (91)
Arthur Shats (57)
Christopher Nagel (47)
GEOFFREY THOMPSON (38)