UCCX scripting time comparison

hello all,
I need your assistance.
my customer wants to know for how long a call is been in the queue.
I know how to get the time and keep track of the  time since the call was in the queue until the call was indeed anwered.
my question is how do i make the math here
when i grab the time the format is
1:00:00 AM/PM
I don't think i can just substract the time. do i need to divide the number into hours, minutes and seconds and then substract each of them individually and them put them together ? or whats the most efficient way to do it ?
thanks
I'm working on UCCX 8.5.1 SU3

It's possible to do math on time values, but it's very cumbersome and it's difficult to do correctly. Bear in mind things like seasonal time changes, timezones, leap years, leap seconds, etc. The "Get Reporting Statistic" step would answer your question easily and directly.
You can call that at any point during your caller's hold loop to see how long they've been waiting, in seconds. Naturally, if you'd like minutes, just divide the result by 60. If you're using that for some sort of holding-too-long escalation threshold, then that should be all you need. If there's some reason you need the hold time at the moment the call goes to the agent, you should be able to use Select Resource with Connect set to "no" and call it in the Selected branch, and then Connect the call, but I'm not sure why you would need that.
If this doesn't solve your problem, please let us know exactly why and when you need the time in queue and we might be able to help more.

Similar Messages

  • UCCX Scripting, Time variable

    I am looking for  guidance on UCCX scripting. I have searched all the forums but can't  find what I am looking for. I want to be able to close Contact Center at  different times for different Service Queues on Holidays. For example,  Customer Service closes 5 pm on the day before holiday, but Helpdesk  does not close till 11:30 on the day before holiday. How can i  incorporate time in my script. I am using XML file with Holiday dates as  of now. Any help will be appreciated.
    Scenario:
    Sales: Close 12/23/13 at 5:00 PM and re-open 12/26/13 at 7:00 AM
    Help Desk: Close 12/24/13 at 1:30 AM and re-open 12/26/13 at 6:00 AM

    Take a look at the examples available from script repository:
    Cisco Unified Contact Center Express Script Repository 9.0(2)
    Chris

  • UCCX Scripting - Open/Close time of day is different on some days

    All,
    I currently have a simple UCCX script with a DOW and TOD variable set, but need to make an adjustment to accommodate a new schedule for a call center queue.  My DOW is Monday - Friday, and TOD is set to 8am-5pm.  I need to make a change to where say Wednesday is set to not close the queue until 10pm.  How do I make that happen?
    This is the way it shows in the editor:
    DOW: Monday-Friday
     +open:
      ++8am-5pm:
       +++Goto yadayada
      ++TheRest
     +Closed
    If I need Wednesday's queue to stay open between the hours of 8am and 10pm, what logic do I need to put in?  I'm thinking I'll have to add an IF Statement, but not sure where to start.  Any ideas?

    I was able to figure this out.  Below is what I did:
    Created two new Day of Week options and selected the corresponding days.  Under each, I moved the Time of Day statement and assigned the time ranges, then selected the goto statement and assigned it as needed per my script.  
    This should provide the logic I was needed.  

  • How to update XML file through UCCX script ?

    Hi,
    I have an UCCX script with MENU step. One of the step is for technical support team. When caller chose this step, information about date and time of the call and calling number should be recorded on a XML file located on the web server.
    This XML is uploaded into the web server , but I don't know how to update it through UCCX script.
    Here is how the XML file looks like:
    <?xml version="1.0" ?>
    <rss version="2.0">
    <channel>
    <title>CALL LOG</title>
    <link></link>
    <description>Support Call log</description>
    <ttl>1</ttl>
    <item>
    <title>2011-08-24 14:56:39 - 00044 123 123 123</title>
    <link></link>
    <description></description>
    </item
    </channel>
    </rss>
    Any idea?
    Thanks,
    O

    Hi
    The 'keyword transform' step uses the template XML file to generate the actual XML file you want to post... the template would be a plain text file uploaded to the repository, and would look like so:
    <?xml version="1.0" ?>
    CALL LOG
    Support Call log
    1
    %%calldatetime%% - %%clinumber%%
    Now - if you had that bit of XML, with correct time/number in it - have you verified know that you can definately just post that XML to a certain URL to get it on the server? Check with whoever manages that server exactly what you need to do to get it to appear - then worry about how you do that from UCCX. It may not be a matter of posting up that XML, you may need it in a different format or something..
    Aaron

  • UCCX script editor not working

    1-The loading bar down of the screen always loading and never finishes.Please  take a look to the attached picture.
    2-When i go to the uccx and want to change the server from hostname to ip address,i always get update failed.
    I am so new in uccx,help is appreciated.
    Thanks in advance.

    Hello,
    You have come to the right place to ask questions on UCCX.
    Please take some time to read through the product manuals, as they are full of good information and will answer most of your questions.
    UCCX Documentation Home Page
    http://www.cisco.com/en/US/customer/products/sw/custcosw/ps1846/tsd_products_support_series_home.html
    On to your two questions:
    1.  This is not a loading bar.  This bar is completely useless, and all it's telling you is how much memory the Editor has available to it in order to process things.  The button to the right is simply a "garbage collector" which will attempt to free up any abandoned memory, but mostly it just sits there looking pretty.  You really don't need to bother with either of these too status bar items, and can ignore them.
    Source: UCCX Scripting Volume 1 - Getting Started with Scripts
    2. It's been about two years since I've completed an install of UCCX, and therefore don't have this information fresh in my head.  I did spend  few minutes trying to find documentation on the topic, but to no avail.  I was only really able to read the Help page for that specific page (Help > For This Page), however, it didn't make a big deal about changing the value.  It simply says, change it and then click Save.
    Could you post the exact error message you are receiving?  Also, what is your intention with changing the hostname to IP?  Unlike CUCM where you may want to remove DNS dependency on the phones to communicate with the server, UCCX clients use the IP address regardless.  So perhaps it's not a necessary step?
    Anthony Holloway
    Please use the star ratings to help drive great content to the top of searches.

  • DB Read error from UCCX Script

    Hi All,
    We are running uccx 7.0.
    Trying to return data from DB using stored procedure from the uccx script.
    We are able to run this when we pass explicit value instead of variable ANI.
    But whenever we provide variable ANI, we get below
    error: SQL statement varible not defined : ANI
    Query which provided in the DB Read as below,
    select * from  table(credit_back.fun_select_point($ANI));
    Request your help on it..
    Regards,
    Shalid K.C

    Yes Gergely.
    we have created new script and when i add DB Read function in the script, it is not allow to apply it, same time it is giveing the above mentioned error.
    but when i test it with explicite value it is working.. .not working by providing variable name
    Regards,
    Shalid

  • Time Comparison PHP

    Hi There
    I am trying to create a time comparison for a website I am building.
    I have the following so far
    <?php
    $date=$_POST ['daydropdown'];
    $month=$_POST ['monthdropdown'];
    $year=$_POST ['yeardropdown'];
    $datevalue="$date/$month/$year";
    $booking=strtotime ("now + 24 hours");
    if ($date_value > $booking)
    echo ("lovey");
    else
    echo ("tut tut");
    ?>
    which is pulling its date info from
              <form action="timetest.php" method="post">
              <table>
      <tr>
        <td class="tableheight">
          Party Size</td>
        <td>
          <select name="partysize" size="1" id="partysize">
          <option>1</option>
          <option selected="selected">2</option>
          <option>3</option>
          <option>4</option>
          <option>5</option>
          <option>6</option>
          <option>7</option>
          <option>8</option>
          <option>9</option>
          <option>10</option>
          <option>11</option>
          <option>12</option>
          <option>13</option>
          <option>14</option>
          <option>15</option>
          <option>16</option>
          <option>17</option>
          <option>18</option>
          <option>19</option>
          <option>20</option>
        </select>
        </td>
      </tr>
      <tr>
        <td class="tableheight">Date</td>
        <td>
    <select name="daydropdown" id="daydropdown">
    </select>
    <select name="monthdropdown" id="monthdropdown">
    </select>
    <select name="yeardropdown" id="yeardropdown">
    </select>
    </td>
      </tr>
      <tr>
        <td class="tableheight">Time</td>
        <td><select name="time">
          <option>12 noon</option>
          <option>12:15pm</option>
          <option>12:30pm</option>
          <option>12:45pm</option>
          <option>1:00pm</option>
          <option>1:15pm</option>
          <option>1:30pm</option>
          <option>1:45pm</option>
          <option>2:00pm</option>
          <option>2:15pm</option>
          <option>2:30pm</option>
          <option>2:45pm</option>
          <option>3:00pm</option>
          <option>3:15pm</option>
          <option>3:30pm</option>
          <option>3:45pm</option>
          <option>4:00pm</option>
          <option>4:15pm</option>
          <option>4:30pm</option>
          <option>4:45pm</option>
          <option>5:00pm</option>
          <option>5:15pm</option>
          <option>5:30pm</option>
          <option>5:45pm</option>
          <option>6:00pm</option>
          <option>6:15pm</option>
          <option>6:30pm</option>
          <option>6:45pm</option>
          <option>7:00pm</option>
          <option>7:15pm</option>
          <option>7:30pm</option>
          <option>7:45pm</option>
          <option>8:00pm</option>
          <option>8:15pm</option>
          <option>8:30pm</option>
          <option>8:45pm</option>
          <option>9:00pm</option>
          <option>9:15pm</option>     
    </select></td>
      </tr>
      <tr>
        <td class="tableheight">First Name</td>
        <td><input name="firstname" type="text" placeholder="Your First Name" /></td>
      </tr>
      <tr>
        <td class="tableheight">Surname</td>
        <td><input name="surname" type="text" placeholder="Your Last Name"/></td>
      </tr>
      <tr>
        <td class="tableheight">Email Address</td>
        <td><input name="email" type="email" placeholder="Your Email Address"/></td>
      </tr>
      <tr>
        <td class="tableheight">Confirm Email </td>
        <td><input name="confirm" type="email"  placeholder="Confirm Email"/></td>
      </tr>
      <tr>
        <td class="tableheight">Contact Number</td>
        <td><input name="contactnumber" type="text" placeholder="Your Contact Number"/></td>
      </tr>
      <tr>
        <td style="padding-top:0px"><input name="Book Now" type="submit" value="Book Now" /></td>
        <td></td>
      </tr>
    </table>
              </form>
              <script type="text/javascript">
    //populatedropdown(id_of_day_select, id_of_month_select, id_of_year_select)
    window.onload=function(){
    populatedropdown("daydropdown", "monthdropdown", "yeardropdown")
    </script>
    What I want to happen is if a booking for a table is made for more than 24hours in advance then its fine and sends the reservation to the restaurant aka "Lovely" where as if its for within the next 24 hours then "tut tut" they are told to ring the restaurant.
    Does anyone have any pointers for me please.
    G

    You need to change the $datevalue variable to a timestamp like you did with $booking.
    $dateTried = strtotime($datevalue); 
    Then you can compare them.
    if ($dateTried < $booking) {      // this is what to do if the time chosen was within 24 hours } else {      // this is what to do if the time chosen was a valid value (24 hours or more from current time) } 
    BTW, it looked like your form fields are populated using JavaScript. If I were you I would switch that to be PHP driven. The code will be very similar in PHP as your JavaScript code, but it will work for all your visitors, not just the ones that have JavaScript enabled.
    -Jason
    Sorry the code didn't line up. I used the wrong code insert options.
    Message was edited by: UteFanJason

  • Working with TimeZone variables in UCCx script

    Hi Team
    I'm wondering if you guys could help me to find out the best way to work with TZ variables in UCCx script.
    Because of different countries customer has a branches, I need to setup different TimeZones for each country handled by the same centralized UCCx.
    In this post they use Java to work with TZ, however, but I prefer another way to work with TZ variables:
    https://supportforums.cisco.com/discussion/11851751/how-make-uccx-holiday-script-timezone-aware
    My idea is to work with Time Zone variables in the script, so what I did was to create different TZ variables and each one of the them assigned the proper timezone based on the country, so depending of the Trigger involved (DNIS), I can find witch country this call came from and give the right timezone.
    The problem I have is that at the time I want to add or subtract two variables of TZ, I got an error because of the syntax. I've been trying different options, but until now, no luck.
    Would you mind you guys who had been working on this let me know what is the right syntax to add or subtract TimeZone variables un UCCx?
    Thanking you in advance
    Martin

    Hi
    I've been working on TZ's recently... see this post:
    https://supportforums.cisco.com/discussion/12474756/how-check-daylight-saving-within-uccx-script
    My approach in the scripts was that basically I allow the department to set their opening hours in the timezone of their choice.
    They have a management web page served from CCX that accepts start/end times each day, and a timezone. That all gets stored in XML.
    In the script, based on that information I get the current time in whatever timezone is set, and compare that to the XML open/close times.
    Similarly for holidays, I get the current date/time in the holiday TZ and compare the holidays to that.
    Aaron

  • Procedure of mapping new UCCX script

    Hi Guys,
    Can you please tell me the procedure of correctly creating a trigger for a UCCX script?
    do I need to create a separate call control group all together or I can use existing one?

    Hi Shyam,
    Make sure before testing a script you have checked below:
    1. Unified CTI telephony Subsystem is InService
    2. The validation of Script is successful before uploading in script management.
    Yes , You can do a reactive script to check if trigger is hitting the script.
    Set the reactive script, once you make a call the script will reloaded and you will come to know that the script is triggered.
    Step 1: in Script Editor , go to Debug-->Reactive script
    Step 2: Select the Script you want to monitor from dropdown and set the timer timer
    Step 3: Call the Route point (trigger), the script will reloaded with the red mark. So you can to know the script is triggered.
    Step 4: You can debug the script by click step over button to check if any error is there in the script.

  • UCCX script to pull XML data

    Hello,
    My goal is to create a UCCX script that will run on a Standard license server. Basically, when a user dials a four digit "speed dial", I want them to be translated to a UCCX route point, that will take the original called number, and the calling number, and use that to create a URL that it will then query and retrieve the actual number that will need to be dialed.
    So my plan currently is to have a phone inside of a partition that has a translation pattern of XXXX. The called number gets translated to 1158, which is the trigger of the application on UCCX.
    The url I want to query will be something like this:
    http://localhost:35798/RestServiceImpl.svc/XML/1017/6314
    "Localhost" will eventually become the IP address of the server hosting IIS application that will provide the XML output. 1017 is the "speed dial" or the original called number, 6314 is the calling number.
    Going to that URL should return me this output:
    <XMLDataResponse xmlns="http://tempuri.org/">
      <XMLDataResult>
      <CallingXML>
      <Extension>6300</Extension>
      <SpeedDial>1001</SpeedDial>
      <PhoneNumber>918005551212</PhoneNumber>
      </CallingXML>
      </XMLDataResult>
    </XMLDataResponse>
    This is the script as I have written it out so far:
    It does not seem to like what I have put together thus far when I try to validate it. I'm just wondering if I'm doing something that's obviously wrong.
    The end goal will be to take the NewNumber and dial it, while hiding it from the phone.
    Thanks,
    Mark

    Here's an update: I have the script retrieving the correct numbers and formulating the URL correctly. It also appears to be delivering the query from the XML.
    Here's what the XML looks like when I hit it from my browser:
    http://tempuri.org/
    ">
      http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">63141017918003551111
    When I do an Interactive Script Debug session and dial the number, I can see that there are two problems: 1) the NewNumber string is "null" by the time it gets to the step to do a Call Consult Transfer, and 2) the script just shows up a blank Exception.
    This tells me I am not parsing the XML correctly.
    Here is what I have currently:
    NewNumber = Get XML Data (xml, "/descendant::XMLDataResponse/child::XMLDataResult/child::PhoneNumber")
    Which based upon what I've read in Cisco's Volume 2 and elsewhere, should be correct.
    Notice in the screenshot that the XML data that UCCX pulls in looks different from when I look at it from my browser. I've also attached the script.
    Thanks,
    Mark

  • UCCX scripting, Voicemail?

    I'm creating a new UCCX script and I have a question regarding voicemail fwd when no
    agents are available. I know that I need to add the 'Get Reporting' stat before the menu,
    but I'm not sure where to place it. Also, I wanted to make sure that I wouldn't be using
    to many uccx ports. I have attached the script . I will appreciate if someone can edit it for me.

    mislam2
    I place my get reporting step right before a caller would go to the queue.  If not agents are available or the average queue time is too high I set a transfer string variable and send the caller to the voice mail box.
    You should not have to worry about using too many ports.  Once the caller is transferred the uccx port is done with the call.
    HTH

  • UCCX Scripting issue

    Hello,
    I'm desiging a UCCX Script ,  If  No agents Logged In -> Yes, There will be a prompt  -> End
    If  No agents Logged In -> No, There will be two prompts
    Prompt1: If you are calling for CC issue, press 1
    Prompt2: If you have TS question, press 2
    If caller press either 1 or  2  there will be a prompt : Please note call may be monitored for QA -> then call will be in the Queue to agents
    If caller won't press neither 1 nor 2 call should move to Receptionist Ready status check and if receptionist avalable, there will be a prompt :If you have other inquiries ,press 0 and then call will be in Queue to Receptionist.
    If Receptionist is not avaialable, there will be  a prompt : Thank you for calling please call back at a later time -> End
    Hope you understood, If caller didnt press either 1 or 2 call should jump to Receptionist ready status check .
    How can I accomplish this within the script  after playing two prompts if No agents Logged In -> No?
    Can any body suggest me which step to be used on this occation?
    If would appreciate if you can explain me in details.

    You will need at minimum 1 variable: an Integer and named something like "logged_in_agents"
    You will need at minimum 3 steps: a Get Reporting Stats step, an If step, and a Menu Step.
    Looks something like this:
    Variables
    int logged_in_agents = 0
    Script
    ...your beginning script steps are omitted...logged_in_agents = Get Reporting Statistics (Logged In Agents in "HelpDesk_CSQ")if (logged_in_agents == 0)  true    menu      option 1    ...whatever menu options you have...  false    menu      option 1    ...whatver other menu options you have...

  • How to see programming Code for UCCX Script

    Hi All,
    How can I  see the programming Code for UCCX Script? I have a script and want to see its Code , something like :
    int sum = 0;
    boolean alternate = false;
    boolean isValid = false;
    try {
    int i = 0;
    for (i = ccnumber.length() - 1; i >= 0; i--) {
      int n = Integer.parseInt(ccnumber.substring(i, i + 1));
      if (alternate) {
       n = n * 2;
       if (n > 9) {
        n = (n % 10) + 1;
      sum += n;
      alternate = !alternate;
    isValid = (sum % 10 == 0);
    } catch (Exception e) {
    return -1;
    return (isValid == true ? 1 : 0);
    thanks,
    Hamed

    You're not going to find code per se, unless you have some java class you wrote and then you would only see the code if you had the source java file.  The script is the only interface you get for "code".
    david

  • UCCX script and abandoned calls

    Hi Guys
    I got question about that UCCX script and abandoned calls , so currently we had 4 different script for  support the call follow .
    So the Main script is just AA let the people select menu 1 , 2 ,3 then go to different queue , after select 1 (for example) then call-direct to second script trigger number and coming into the queue .
    Unfortunately , the system counter the action to be an Abandoned call      , I already open the case about this issue and the TAC did not found any configure issue on UCCX , from the log we can seem all the REDIRECT,lrd=5000 is abandoned call .
    23811205: Apr 28 13:01:44.257 GMT+800 %MIVR-SS_TEL-7-UNK:Call.received() JTAPICallContact[id=37148,implId=151183/1,state=STATE_RECEIVED_IDX,inbound=true,App name=APP0,task=null,session=null,seq num=-1,cn=5000,dn=5000,cgn=0405554590,ani=null,dnis=null,clid=null,atype=DIRECT,lrd=null,ocn=5000,route=RP[num=5000],TP=null
    23811420: Apr 28 13:02:00.491 GMT+800 %MIVR-SS_TEL-7-UNK:Call.transferring(5030) JTAPICallContact[id=37148,implId=151183/1,state=STATE_ANSWERED_IDX,inbound=true,App name=APP0,task=48000040709,session=36000027315,seq num=0,cn=5000,dn=5000,cgn=0405554590,ani=null,dnis=null,clid=null,atype=DIRECT,lrd=null,ocn=5000,route=RP[num=5000],TP=5007]
    23811424: Apr 28 13:02:00.491 GMT+800 %MIVR-SS_TEL-7-UNK:Call.abandoned() - transferring JTAPICallContact[id=37148,implId=151183/1,state=STATE_ANSWERED_IDX,inbound=true,App name=APP0,task=48000040709,session=36000027315,seq num=0,cn=5000,dn=5000,cgn=0405554590,ani=null,dnis=null,clid=null,atype=DIRECT,lrd=null,ocn=5000,route=RP[num=5000],TP=5007]
    23818414: Apr 28 13:09:46.095 GMT+800 %MIVR-SS_TEL-7-UNK:Call.transferring(239) JTAPICallContact[id=37149,implId=151183/1,state=STATE_ANSWERED_IDX,inbound=true,App name=app2_Admin,task=48000040710,session=null,seq num=-1,cn=5030,dn=5030,cgn=0405554590,ani=null,dnis=null,clid=null,atype=REDIRECT,lrd=5000,ocn=5000,route=RP[num=5030],TP=5034]
    23818421: Apr 28 13:09:46.095 GMT+800 %MIVR-SS_TEL-7-UNK:Call.abandoned() - transferring JTAPICallContact[id=37149,implId=151183/1,state=STATE_ANSWERED_IDX,inbound=true,App name=app2_Admin,task=48000040710,session=null,seq num=-1,cn=5030,dn=5030,cgn=0405554590,ani=null,dnis=null,clid=null,atype=REDIRECT,lrd=5000,ocn=5000,route=RP[num=5030],TP=5034]
    Please give some advice about that and I am look forward to heard from you guys soon .
    Thanks

    Hi Jon
    I was tested "Set Call Contact Info step to mark the call as handled" last night , but not working .
    so in the get call contact info properties , I was used  last Redirect number  to nest trigger number .
    but not working .
    so have got any idea about that ?
    thanks

  • How to setup a whisper prompt in UCCX Script?

    Guys
    I need some help here.
    We have a cisco UCCX setup which was designed and implemented by a vendor. They had the script written. I want to modify that to have a whisper prompt for the agents to hear something before they start their talk.
    Is there something that anyone can guide me to tell me what actually has to be done on a script to input this whisper message. I have a prompt for that. But don't know where and what to start with.
    Any help is much appreciated.

    @Gergely : For your first question, the answer it yes. The agent should hear that recording before he does go the customer call.
    But the second note what you sent, I don't think that is correct. Because UCCX script supports that. I have pasted a sample below which a whisper prompt works in one of our UCCX script. See below.
    Correct me If I am wrong.

Maybe you are looking for

  • Non-US keyboard layout in Xorg

    Hello, I have a Belgian keyboard layout and had some troubles with the Alt-Gr key. We combine this key with other keys to generate special symbols like the Euro sign or the @ character for example. I found several solutions on several websites but th

  • F9 functionality from Magic Mouse?

    Recently upgraded from a Mighty Mouse to a Magic Mouse. I love it mostly, but I miss the one-handed "side button" equivalent to F9 functionality. Is there a special gesture on the Magic Mouse I could enable to do the same thing?

  • CS3, Vista, Missing Duotones Presets

    Hi, I am using CS3 and Vista. I am trying to use the presets for duotones. I go Image | Mode | Duotone | Load...and get nothing. The Duotones folder is empty. A quick search of the internet suggests that the files have been moved. So I searched my pc

  • Google Maps with AS2

    Hi all, Is there an easy way of embeding a movable google maps in Flash CS6 using AS2. The Google Maps API for flash won't provide anyone with new API keys anymore. I wondering if there is a way to use an HTML iframe in flash as then I would be able

  • Hello sir my iphone screen turns off after using 2-5 minutes what would be the problem please help me out

    hello sir my iphone screen turns off after using 2-5 minutes what would be the problem please help me out