UCCX 8.5 Sticky Agent
I am trying to setup a sticky agent function i.e If the same client calls the CC within a time period then they'll get the same agent if he's availible
I have managed to do an external DB write and read but all the info i need is already on the servers informix DB
How do perform a read on my local informix DB from within the script ?
Thank
My preference for this would be SQL since it's faster to get working than all of the xpath and xsl transforms that would be needed.
One other option that is a bit more obscure: You can use a Java hash table stored into a session with a always-known mapping ID. This is probably the most ideal because:
It eliminates any external dependancies.
It will have a smaller footprint in the Java heap than XML documents will.
I suspect it's more efficient than performing all of the xpath logic.
The whole table will self-reset if the session expunges due to inactivity. You'd still need to timestamp specific entries though I suspect. Also don't forget to account for the session not existing and to re-generate it.
Similar Messages
-
Configuring sticky agent on UCCX
Hello, I am currently trying to configure this functinoality on UCCX 8.5.1:
If a caller rings back within 30 minutes, I would like him to be transferred to the same agent that handled the previous call if it is in Ready State. Otherwise it should be transferred to the next available agent.
I know this can be done with the Session steps, mapping the calling number. I have checked Cisco Reference Documents and tried some test scripts, but I can´t get it work yet. I would need some help about how to implement this.
Thank you very much,
HéctorThere's two assumptions in this approach you want to be careful of:
Sessions always last 30 minutes
You don't end sessions when the call ends
The safer, and more reliable approach to this would be to store the calls in a database as soon as the agent picks the call up, and then have the script query that database for new calls that come in. You'd want to enable something like a nightly/hourly scheduled job to purge entries from the table that are past your 30 minute threshold.
I'm not able to prove or disprove your existing approach, but based on experience, it could have holes that you'd end up having to deal with down the road.
By the way, I love this concept of sticky agent transfer, and I think I'll be pitching it to our team managers internally. -
UCCX Best Practice - UCM Agent Line Configuration documentation
With UCCX, I have always abided by some rules when it came to configuration of the agent's line in CUCM. At least to be a TAC supported solution anyway. For Example:
1. Agent Extension can not be shared
2. Agent Exension not part of any CUCM hunt group or call pickup group
3. Call Waiting Disabled Max/Busy 2/1
4. Agent Extension should not take inbound calls
5. Agent extensions not set to CFNA
6. etc....
I had someone ask me to back this up with some sort of documentation. I reviewed the UCCX 7.x SRND and could not find anywhere explicitly talking about CUCM configuration.
Does anyone know if this type of information is documented?
Thanks in advance,
ShaneShane,
Look at the release notes for your version of UCCX. They typically have a
section called "Unsupported Features in Unified CM". There is also a
section on "Unsupported and Supported Actions" and general "Unsupported
Configurations in Cisco Unified CCX".
Release notes URL:
http://www.cisco.com/en/US/products/sw/custcosw/ps1846/prod_release_notes_li
st.html
You won't find the data in the SRND for whatever reason.
HTH.
Regards,
Bill
Please remember to rate helpful posts.
On 9/8/10 5:40 PM, "shane.orr" -
Looking for limits and comparison on UCCE vs UCCX for 300-400 agents cc
Hello all,
I am trying to find some comparison and qualifying info for my client who currently have under 300 agents and may go to 400 agents max. They have CUCM, IPCC 7.x and CVP all redundant etc.
I need some facts and documents to support if UCCX can (if it can) support upto 400 or so agents. I am neutral however I would like my client to lookinto this if it makes long term sense and short term ease in support. They only have about 20 or so call flows with limited data dips and screen pops. May be refreshing CM 4.x to 7.x soon along with icm, cvp etc.
I apprecite any quick feedback. You are welcome to send me direct at [email protected] as well.
Many thanks in advance.Well UCCX supports 150 agents on a 7845 in either HA or in normal operation. So your already at 2-3 clusters of UCCX. The pricing for UCCE won't be much different. If they aren't going to grow much you could consider System CCE, but at the cost they are looking at having to spend regardless you might as well go UCCE / CVP in my book. IP IVR isn't even much cheaper anymore..
Cheers,
Chad -
UCCX script check "which agents not ready" and turn on MWI
Hi!
Is there a way to check which agents that are "not ready" i.e gather user-id and extension?
Then i want to use this "extension information" to light up the MWI on the "not ready" agents Cisco phones maybe by using unity and ctiports
to turn on the MWI.
OR do i need DB access to the UCCX to gather realtime of the agents name + extension + status?
Somebody tried something similar before?
Thx MikaelIts new but I like it!
I would database dip back into the UCCX database (find the scheme guides online in the reporting guide) check status and gather all agent ID's / extensions they are logged into.
Then do a for loop and a place call to the MWI number with the correct CSS on the CTI ports to do so... the interesting part is going to be turning them off!
I would say you could make a UCCX thats runs more like a service with an trigger point and a service based TCL script on a router to hit that number every so often to launch it like a service.
Or if your any good at coding you could write a small service and use something like OSIP(C Library) to trigger the MWI points over a custom built SIP trunk into CUCM with the service. Tons of ways to skin a cat depending on your time and knowledge level.
Chad -
UCCX 10.5 / Finesse - agent state error
Hi,
I am curently testing UCCX 10.5 and finesse agent desktop I have a trouble with finesse :
A agent is in READY state, when a call is comming, the state change to NOT READY, it should be TALKING
In the Agent state log is see NOT READY -> Reason code 32761, in the documentation I reed "Agent is logged in to the desktop or IP phone and receives a call that is not queued on the Unified CCX platform."
The caller is effectively an internal phone but the composed number is the CTI route point of the UCCX
I have check with "Reactive script" function of the CCX Editor, there is not any error, the call goes well through the script
Any idea ?
Hugo ChevalierHi,
I test using the "select ressource" box, that way I am using a CSQ and it's works. Before, I was just testing with a "Redirect call" box and that is not the right solution.
Thank you
H.C -
UCCX abandoned calls when agents are ready
We are running CME 7.1.3.32900-4 and UCCX Premium 7.0(1)SR04_Build 443. We are having a problem with agents going into reserved state for a call but the call never gets delivered to the agent's phone. Since the call goes unanswered, it is marked "abandoned" and gets dropped even though several agents are ready to accept calls. I did a reboot on the UCCX primary and secondary servers and I also reset the voice gateways. Does anyone have any idea what causes this behavior and how to correct it?
Hello,
I had it before with UCCX 7.0 and it was a BUG.
check these two bugs in 7.0
CSCtc32123
UCCX 7.x Select Resource Step reaches 1000 step max and fails
CSCsz93333
Modifying CSQ variable in the Select Resource Step after queuing a
call
Those two caused a group of agents to go to reserve state for like 60 agents causing the calls to DROP.
these problems resolved in SR4 with ES02 , as i understand you already have the SR4 , so i suggest to opne a TAC so that they can give you the ES .
BTW , this is happened to me before like 1 and half years , i didn't check if there is a later version of SR for the UCCX 7.0 , if there is check the cavateas on the next SR maybe they solved the problem without the need for the ES.
Hope this helps.
Amer -
UCCX 10.5 CAD agent cannot log out
UCCX version 10.5.1.10000-24
CAD agent can log in, go ready/not ready just fine. But when agent hits the logout button, it fails.
CAD logs shows logout failure as below. Trying to figure out why agent can't log out and how to fix it.
2015-01-08 16:37:42:747 DEBUG [0x2fdc] Configuration.cpp[978] GetLocalConfigPath: CC0978 Local Path: C:\Program Files (x86)\Cisco\Desktop\
2015-01-08 16:37:42:747 DEBUG [0x2fdc] MainFrm.cpp[1265] CMainFrame::ACDLoginLogout: MF1265 User clicked ACD LOGIN/LOGOUT button
2015-01-08 16:37:42:748 DEBUG [0x2fdc] MainFrm.cpp[1390] CMainFrame::ACDLoginLogout: MF1390 User clicked ACD LOGOUT button
2015-01-08 16:37:42:748 DEBUG [0x2fdc] AgentStateManager.cpp[1125] CAgentStateManager::SetReasonCode: Begin.
2015-01-08 16:37:42:748 DEBUG [0x2fdc] AgentStateManager.cpp[1125] CAgentStateManager::SetReasonCode: End.
2015-01-08 16:37:42:748 DEBUG [0x2fdc] AgentStateManager.cpp[155] CAgentStateManager::HandleRequest: Begin handling agent state change request. Use <PromptedReasonCode=0> to SetAgentState.
2015-01-08 16:37:42:748 DEBUG [0x2fdc] CJToolbars.cpp[679] CCJMainToolBars::CheckButton: set check for <Login> to true
2015-01-08 16:37:42:748 DEBUG [0x2fdc] PhoneDev.cpp[506] SetAgentState: Begin. Set Agent State AS_LOGOUT , Invoked ID 9, AgentID joeb, DeviceID 7004, PeripheralID 1, reasonCode 0, ForcedFlag 0
2015-01-08 16:37:42:750 DEBUG [0x2fdc] PhoneDev.cpp[586] SetAgentState: Set Agent state to AS_LOGOUT NOT successful
2015-01-08 16:37:42:750 DEBUG [0x2fdc] PhoneDev.cpp[506] SetAgentState: End.
2015-01-08 16:37:42:750 DEBUG [0x2fdc] AgentStateManager.cpp[200] CAgentStateManager::HandleRequest: ASM0200 The agent state change succeeded
2015-01-08 16:37:42:750 DEBUG [0x2fdc] CJToolbars.cpp[679] CCJMainToolBars::CheckButton: set check for <Login> to false
2015-01-08 16:37:42:750 DEBUG [0x2fdc] AgentStateManager.cpp[260] CAgentStateManager::HandleRequest: ASM0260 End handling agent state change requestCertainly something to try, but I don't see why that would make a difference in an inability to log out. I have many customers who only use the default workflow and haven't seen any of them with this issue previously.
Are you guessing here, or have you actually seen that resolve similar problems? -
Hello, Where could I get step by step setup guide for Home Agent function of UCCX 10.5? Thanks.
AndyThe CCX Administration Guide has a chapter on Extend and Connect. It even links to the CUCM Features & Service guide which also has a chapter to cover the CUCM-specific parts in further detail.
-
UCCX 7 HA - IPPA Agent cannot log in
Hello all,
In this setup we have two different UCCX HA deployments that are both intergrated to the same CUCM cluster. Although the UCCX clusters share the same agent numbers, the numbers are in different partitions in CUCM.
I have a question and a problem to resolve. Firstly, for each UCCX cluster I have defined seperate AXL, Jtapi and RmCm accounts. The agent extensions are in different partitions as are the CTI ports and RP. However, when I am in the admin web on one UCCX cluster I can see all UCCX agents from both clusters. I'm guessing that this is normal behaviour, but could some one confirm this?
The problem I need resolving is when an agent attempts to login in via IPPA, a message is returned saying that the CTI server is unavailable and to try later. An application log entry in the windows event viewer is also written:-
BIPPA0041 Agent <deagenttest1> already logged in: <error: agent is already logged in>.
and
BIPPA0040 CTI action <change agent state> timed out for agent id <deagenttest1>.
Here is the MIVR log entries too:
4001: Feb 22 17:19:45.189 CET %MIVR-ICD_CTI-7-UNK:ClientConnMgr: Processing msg on socket:Socket addr=10.25.1.20,port=50106,localport=42027] Msg is {length=61 type=SET_AGENT_STATE_REQ,invokeId=28,agentState=LOGIN,eventReasonCode=0,forcedFlag=False,agentID=deagenttest1,agentDN=84997001,agentPwd=***** }
4002: Feb 22 17:19:45.189 CET %MIVR-SS_RM-7-UNK:Processing msg: CTISetAgentStateReqMsg (Rsrc:deagenttest1 InvokeID:28 State:LOGIN Forced:False)
4003: Feb 22 17:19:45.189 CET %MIVR-SS_RM-7-UNK:Agent deagenttest1 is not outbound capable.)
4004: Feb 22 17:19:55.236 CET %MIVR-SS_RM-3-LOGIN_FAILED:Login of resource failed: Module Name=RM component,The description of a message sent from/to the RM=CTISetAgentStateReqMsg (Rsrc:deagenttest1 InvokeID:28 State:LOGIN Forced:False),A specific description for a trace=resource's state is UNAVAILABLE
4005: Feb 22 17:19:55.236 CET %MIVR-SS_RM-7-UNK:Posting msg CONTROL_FAILURE_CONF Socket:Socket[addr=10.25.1.20,port=50106,localport=42027] invokeID:28 failureCode:CF_SPECIFIED_AGENT_ALREADY_SIGNED_ON errorCode:0 text:error: agent is already logged in in CTI Server's message queue
4006: Feb 22 17:19:55.236 CET %MIVR-SS_RM-7-UNK:Rsrc: deagenttest1 Contacts:
4007: Feb 22 17:19:55.236 CET %MIVR-SS_RM-7-UNK:Rsrc: deagenttest1 PrevState: UNAVAILABLE PrevStateSet:true
4008: Feb 22 17:19:55.236 CET %MIVR-SS_RM-7-UNK:Rsrcs in ARL of ESD IT HelpDesk:
4009: Feb 22 17:19:55.236 CET %MIVR-ICD_CTI-7-UNK:OutboundMsgProcessor: got message: { CONTROL_FAILURE_CONF }
4010: Feb 22 17:19:55.236 CET %MIVR-ICD_CTI-7-UNK:OutboundMessageprocessor : sending msg : { length=-1 type=CONTROL_FAILURE_CONF,invokeId=28,failureCode=CF_SPECIFIED_AGENT_ALREADY_SIGNED_ON,errorCode=0, text=error: agent is already logged in to socket: Socket[addr=10.25.1.20,port=50106,localport=42027] }
4011: Feb 22 17:19:55.236 CET %MIVR-ICD_CTI-7-UNK:MsgHandler : Sent : { CONTROL_FAILURE_CONF to Socket[addr=10.25.1.20,port=50106,localport=42027] }
The system seems to think that the agent is already logged on but he can't be becuase I've just created the account.
I have tried to change the RmCm accounts and restarted both servers but the problem persists. I have also restarted the CTI server on the CUCM server which the UCCX cluster points to. I've also changed the CTI server to other CUCM servers in the cluster but it didn't fix the problem.
Any ideas?
Thanks,Yes this used to work but we had a CTI problem whereby all the ports became unregistered. This was fixed by deleting all the ports and the UCCX accounts and starting again from scratch. We also changed the servers under the CM Telephony so that axl, jtapi and rmcm all point to local devices. After making these changes we started experiencing these problems.
It seems to me that the UCCX servers are unable to communicate properly with the CUCM CTI Manager service but I don't know how I can resolve this. -
UCCX 9.0.2 - Agent state problems when Default script is execute
Hello,
I need some help on that problem.
I created a special script I want to use as the default script in my application. When I use this special script as the main script, everything is fine.
But when I use this special script as the "default script" in my application, desabled the main script to force my special script to be executed, I have problems with the agent's states.
--> When my agent receives the call from UCCX, he becomes in reserved state but when he answers the call, instead of going in talking state, it goes to available state. The UCCX do not further monitor the call. The only way to hang up the call is with the telephone.
Thanks,The default scripts are not meant to be used as call routing scripts. The intention is to allow you to gracefully bow out of the call, with a customized and friendly error message, versus the default Cisco message.
NoteRemember that the purpose of the default script is to gracefully terminate the call when the main script fails, not to have a fall back to provide the original services intended by the primary script. This distinction is important because using system resources to execute this default script may impair system performance. If the primary script fails too often, then you should fix the primary script rather than providing another script to attempt the same task.
Source: UCCX Getting Started with Scripts, Chapter 5 - Advanced Scripting Techniques, Section Advanced Error Handling, Subsection Using Default Scripts
Good Example
StartAccept (--Triggering Contact--)Play Prompt (--Triggering Contact--, P[whoops.wav] + DP[3000])Terminate (--Triggering Contact--)End
EDIT: August 1, 2013 - I just learned a new trick. If you need to only play a single prompt as your default script, as in the above "good example", then UCCX has a way to do this without creating a new default script, and setting it on every single application. You upload your prompt to the repository with the filename: "unrecov_error.wav". You can even have one per language! That's pretty cool!
Bad Example
StartAccept (--Triggering Contact--)...greeting......check for holidays......check business hours......deliver main menu of 7 choices......ask caller for account number......perform DB lookup on account number......check agents logged in......select resource......queue the caller for 5 minutes......route call to agent...End
I'm not saying this is why you are seeing the weird behavior, I'm just trying to inform you that you shouldn't be routing calls to Agents in your default script.
Anthony Holloway
Please use the star ratings to help drive great content to the top of searches. -
UCCX Wallboard not displaying Agent statistics correctly
I have a UCCX 8.5 with the Gila-Wallboard running, the setup is perfect(after many hours) but the Agent Statistics is not displaying correctly. Sometimes it will show a logged in user but most times it doesn’t. enclosed is the wallboard.asp file. I am using the uccxhruser for the Informix login. Is this a user issue or ASP issue? I am looking into the wrong table on the db_cra?
Here is the whole .asp. The only part that isn't populating is the Agent specific stats. Queue stats are rolling. The agents I can see look like this:
Christina Smith
Logged Out
11:16:08
Unavailable for Call
<%
//******************************START AGENT STATS MODULE********************************//
// Module: Agent Stats //
// PURPOSE: Retrieves Agent Sumary stats & team names and formats them for display. //
sqlGetAgentstats = "SELECT x.resourceName, x.resourceType, t.eventType, t.reasonCode, x.resourceGroupID, x.datetime FROM (SELECT t1.resourceID, t1.resourceType, t1.resourceName, t1.resourceGroupID, MAX(t2.eventDateTime) AS datetime FROM Resource AS t1 INNER JOIN AgentStateDetail AS t2 ON t2.agentID = t1.resourceID and t1.dateInactive is null GROUP BY t1.resourceID, t1.resourceType, t1.resourceName, t1.resourceGroupID ) AS x INNER JOIN AgentStateDetail AS t ON t.agentID = x.resourceID AND t.eventDateTime = x.datetime WHERE x.resourceGroupID = '4' ORDER BY t.eventType, x.resourceName"
Set rs3 = server.createobject("adodb.recordset")
Set cm3 = Server.CreateObject("ADODB.Command")
cm3.ActiveConnection = cn
cm3.commandtext = sqlGetAgentstats
Set rs3 = cm3.execute
teamID = rs3("Partner Services")
Sub getTeamName (teamID)
sqlGetTeamName = "SELECT teamName from Team where teamID = "'& teamID &'"
Set rs4 = server.createobject("adodb.recordset")
Set cm4 = Server.CreateObject("ADODB.Command")
cm4.ActiveConnection = cn
cm4.commandtext = sqlGetTeamName
Set rs4 = cm4.execute
teamName = rs4("teamName")
rs4.close
End Sub
Sub getReasonCodeText (reasonCode)
Select Case reasonCode
'System Codes
Case 33
strReasonCode = sysReasonCode33Text
Case 32755
strReasonCode = sysReasonCode32755Text
Case 32757
strReasonCode = sysReasonCode32757Text
Case 32758
strReasonCode = sysReasonCode32758Text
Case 32759
strReasonCode = sysReasonCode32759Text
Case 32760
strReasonCode = sysReasonCode32760Text
Case 32761
strReasonCode = sysReasonCode32761Text
Case 32762
strReasonCode = sysReasonCode32762Text
Case 32763
strReasonCode = sysReasonCode32763Text
Case 32766
strReasonCode = sysReasonCode32766Text
'User Codes
Case udReasonCode1ID
strReasonCode = udReasonCode1Text
Case udReasonCode2ID
strReasonCode = udReasonCode2Text
Case udReasonCode3ID
strReasonCode = udReasonCode3Text
Case udReasonCode4ID
strReasonCode = udReasonCode4Text
Case udReasonCode5ID
strReasonCode = udReasonCode5Text
Case udReasonCode6ID
strReasonCode = udReasonCode6Text
Case udReasonCode7ID
strReasonCode = udReasonCode7Text
'Catch all
Case Else
strReasonCode = udReasonCodeUndefined
End Select
End Sub
Sub getAgentStatus (eventType)
Select Case eventType
Case 7
Call getReasonCodeText(rs3("reasonCode"))
strAgentStatus = strStatusCode7
TextColor = TextColor_AgentStats_LoggedOut
Case 6
strAgentStatus = strStatusCode6
strReasonCode = udReasonCodeWorking
TextColor = TextColor_AgentStats_Working
Case 5
strAgentStatus = strStatusCode5
strReasonCode = udReasonCodeTalking
TextColor = TextColor_AgentStats_Talking
Case 4
strAgentStatus = strStatusCode4
strReasonCode = udReasonCodeReserved
TextColor = TextColor_AgentStats_Reserved
Case 3
strAgentStatus = strStatusCode3
strReasonCode = udReasonCodeReady
TextColor = TextColor_AgentStats_Ready
Case Else
Call getReasonCodeText(rs3("reasonCode"))
If rs3("reasonCode") = 32761 or rs3("reasonCode") = 32762 Then
strAgentStatus = strStatusCode8
TextColor = TextColor_AgentStats_NonACDCall
Else
strAgentStatus = strStatusCode2
TextColor = TextColor_AgentStats_NotReady
End If
End Select
End Sub
%>
<!-- ##### Agent Statistics Table ##### -->
<td width="65%">
<table width=100% cellpadding="0" table align="left">
<tr bgcolor="#E5E5E5">
<td align="center">
<a><font size ='<%= TextSize_AgentStats %>'><strong><%= TableColumnHeader_AgentStats_Column1 %></strong></font></a>
</td>
<td align="center">
<a><font size ='<%= TextSize_AgentStats %>'><strong><%= TableColumnHeader_AgentStats_Column2 %></strong></font></a>
</td>
<td align="center">
<a><font size ='<%= TextSize_AgentStats %>'><strong><%= TableColumnHeader_AgentStats_Column3 %></strong></font></a>
</td>
<td align="center">
<a><font size ='<%= TextSize_AgentStats %>'><strong><%= TableColumnHeader_AgentStats_Column4 %></strong></font></a>
</td>
</tr>
<tr>
<td colspan=4>
<hr colspan=4>
</td>
</tr>
<%
While Not rs3.EOF
Call getAgentStatus (rs3("eventType"))
Call CalculateStatusTime (rs3("datetime"))
Call CheckAgentStatusBlinking
%>
<% If rs3("ResourceType") = 2 Then %>
<% If intAgentStatsMaxDays = 0 Then %>
<tr>
<td><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= rs3("resourceName") %></strong></font></i></td>
<td align='center'><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strAgentStatus %></strong></font></i></td>
<td align='center'><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strStatusDays & " days / " & strStatusHours & ":" & strStatusMinutes & ":" & strStatusSeconds %></strong></font></i></td>
<td align='center'><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strReasonCode %></strong></font></i></td>
</tr>
<tr>
<td colspan=4>
<hr colspan=4>
</td>
</tr>
<% End If %>
<% If intAgentStatsMaxDays = 1 And intStatusDays < intAgentStatsMaxDays And intStatusHours < intAgentStatsMaxHours Then %>
<tr>
<% If AgentStatusBlink = 1 And strAgentStatus = strStatusCode2 then %>
<td><BLINK speed="1000"><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= rs3("resourceName") %></strong></font></i></BLINK></td>
<td align='center'><BLINK speed="1000"><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strAgentStatus %></strong></font></i></BLINK></td>
<td align='center'><BLINK speed="1000"><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strStatusHours & ":" & strStatusMinutes & ":" & strStatusSeconds %></strong></font></i></BLINK></td>
<td align='center'><BLINK speed="1000"><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strReasonCode %></strong></font></i></BLINK></td>
<% Else %>
<td><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= rs3("resourceName") %></strong></font></i></td>
<td align='center'><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strAgentStatus %></strong></font></i></td>
<td align='center'><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strStatusHours & ":" & strStatusMinutes & ":" & strStatusSeconds %></strong></font></i></td>
<td align='center'><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strReasonCode %></strong></font></i></td>
<% End If %>
</tr>
<tr>
<td colspan=4>
<hr colspan=4>
</td>
</tr>
<% End If %>
<% If intAgentStatsMaxDays > 1 And intStatusDays < intAgentStatsMaxDays Then %>
<tr>
<td><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= rs3("resourceName") %></strong></font></i></td>
<td align='center'><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strAgentStatus %></strong></font></i></td>
<td align='center'><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strStatusDays & " days / " & strStatusHours & ":" & strStatusMinutes & ":" & strStatusSeconds %></strong></font></i></td>
<td align='center'><i><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strReasonCode %></strong></font></i></td>
</tr>
<tr>
<td colspan=4>
<hr colspan=4>
</td>
</tr>
<% End If %>
<% Else %>
<% If intAgentStatsMaxDays = 0 Then %>
<tr>
<td><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= rs3("resourceName") %></strong></font></td>
<td align='center'><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strAgentStatus %></strong></font></td>
<td align='center'><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strStatusDays & " days / " & strStatusHours & ":" & strStatusMinutes & ":" & strStatusSeconds %></strong></font></td>
<td align='center'><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strReasonCode %></strong></font></td>
</tr>
<tr>
<td colspan=4>
<hr colspan=4>
</td>
</tr>
<% End If %>
<% If intAgentStatsMaxDays = 1 And intStatusDays < intAgentStatsMaxDays And intStatusHours < intAgentStatsMaxHours Then %>
<tr>
<% If AgentStatusBlink = 1 And strAgentStatus = strStatusCode2 then %>
<td><BLINK speed="1000"><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= rs3("resourceName") %></strong></font></BLINK></td>
<td align='center'><BLINK speed="1000"><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strAgentStatus %></strong></font></BLINK></td>
<td align='center'><BLINK speed="1000"><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strStatusHours & ":" & strStatusMinutes & ":" & strStatusSeconds %></strong></font></BLINK></td>
<td align='center'><BLINK speed="1000"><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strReasonCode %></strong></font></BLINK></td>
<% Else %>
<td><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= rs3("resourceName") %></strong></font></td>
<td align='center'><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strAgentStatus %></strong></font></td>
<td align='center'><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strStatusHours & ":" & strStatusMinutes & ":" & strStatusSeconds %></strong></font></td>
<td align='center'><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strReasonCode %></strong></font></td>
<% End If %>
</tr>
<tr>
<td colspan=4>
<hr colspan=4>
</td>
</tr>
<% End If %>
<% If intAgentStatsMaxDays > 1 And intStatusDays < intAgentStatsMaxDays Then %>
<tr>
<td><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= rs3("resourceName") %></strong></font></td>
<td align='center'><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strAgentStatus %></strong></font></td>
<td align='center'><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strStatusDays & " days / " & strStatusHours & ":" & strStatusMinutes & ":" & strStatusSeconds %></strong></font></td>
<td align='center'><font size ='<%= TextSize_AgentStats %>' color='<%= TextColor %>'><strong><%= strReasonCode %></strong></font></td>
</tr>
<tr>
<td colspan=4>
<hr colspan=4>
</td>
</tr>
<% End If %>
<% End If %>
<% rs3.MoveNext %>
<% Wend %>
</table>
</td>
</tr>
</table>
<%
rs3.close
//*******************************END AGENT STATS MODULE*********************************//
%> -
Bringing in Called name from CUCM into UCCX to present to agent
i am using cucm 8.6 and uccx 8.5. I have a call center that will be accepting calls from many of our different sites. The agents would like to no where the call was originally headed for. Is there a way for the script to collect the name of the trigger instead of just the number?
Thank you,Hi Duane,
I am guessing that you mean that you have multiple triggers for an Application and the agent wants to know which trigger the call came from (the name of the trigger rather than number)?
I created this script for you, you can try. You can use the "Get Call Contact Info" to get the called number (trigger number) and then use some IF statements. However, I have used the "Get Trigger Info" Step, which lets us obtain the DN of the trigger. I have used this so that the called number is not changed in a complex call flow and so that we can get the exact DN of the trigger.
Once this is done, use an IF statement (if name==4000, set name==Site 1). Then use the "Set Enterprise Call Info" to set this name as an Enterprise Data. Ensure that you add the Enterprise Variable to the Layout List on the CDA.
I have attached the script, and you can see the screenshot of CAD. If the trigger dialled into is 4000, then i display: "Site 1"
Do let me know in case you have any queries.
Cheers!
Regards,
Abhiram Kramadhati -
Is there a setting in UCCX for long an agent phone rings before it sets him to NOT READY?
Greetings,
This is a new install, version 8.5.1.11..2-22, and we're in the testing phase. So, when calls are presented to an agent the phone rings for about 3 seconds (maybe 5) and then the agent is placed in the NOT READY state on the CAD and the call is presented to the next available agent. And the same thing happens, his phone rings for about 3 seconds (maybe 5) and then he's placed on NOT READY and if there is another agent the pattern repeats.
IF you have the phone set to auto-answer with speakerphone - the call connects
IF the agent is fast enough to answer via the CAD gui - the call connects
So, I'm thinking there must be a setting buried somewhere we've missed on how long the agent phone will ring before the system puts him on NOT READY. Or could it be something else?
Thanks for your time and attention!
KeithThe script is the culprit. So do I get credit for correctly answering my own question?
-
UCCX standard and Enhanced agents
Is it possible to have some agents be standard licensed and other agents enhanced? If i upload an enhanced license for two agents will it cause the other standard agents to stop working? Will that license file be lost and overwritten?
Hi Evan
No - you can't mix licenses on the same server. I think you'll just end up with the count of Enh agents, and the std ones will become inactive.
If you need a mix, you need them on separate CCX clusters (i.e. one standard cluster, one enhanced) but that will have lots of other implications.
Regards
Aaron
Maybe you are looking for
-
Best Practice for DHCP when Anchoring to a Guest Wireless LAN Controller
Hi all, I'm interested in the communities opinion in relation to DHCP provisioning when using auto-anchor/guest tunneling. As far as I can tell, one cannot use the internal DHCP on the anchor controller when using auto-anchor due to incompatibility b
-
Error when extraction with generic datasource using function model
Hi,experts,When i check the error log in bw side for one egeneric datasource from R/3 side , it shows all the data from the datasource has been extracted ,and the error lies in the data selection .But when I use the Tcode RSA3 to check the datasour
-
Flash Builder 4.5.1 Standard Windows 7 Ultimate & Home Premium Latest AIR 2.7.0.19530 on all devices Viewsonic GTablet, Android 2.3.3 Gingerbread Been developing an app for quite awhile and running the app on my tablet with no issues. Then last week
-
i am using tutorial "Building Java Portlets Using Oracle9i JDeveloper" from: "http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/ARTICLES/BUILD.JAVA.PORTLETS.USING.JDEVELOPER.V2.HTML " I recieve following error when i try to run this co
-
Need help with emailing a pdf file
how do i upload a finished pdf file to send in an email?