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éctor

    There'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,
    Shane

    Shane,
    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 Mikael

    Its 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 Chevalier

    Hi,
    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 request

    Certainly 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?

  • UCCX 10.5 Home Agent

    Hello, Where could I get step by step setup guide for Home Agent function of UCCX 10.5? Thanks.
    Andy

    The 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!
    Keith

    The 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