Agent route call to IVR and retrieve back

Hi all,
I'm currently using UCCE with CVP v8.5. In this scenario, i would like the agent to transfer the current call to the IVR for the caller to perform authentication. The agent shouldn't be allowed to hear the dtmf tones that is being entered by the caller. During the IVR process, the agent should not be allowed to receive any other call. Once completed, the caller will go back to the same agent.
Other than using conference (where the agent will hear the dtmf tones), is there any other method to achieve this?
Thanks!
-JT-

Hi Loh,
Hope you are doing well.
Create an enterprise skill group and assoiciate it with the skill group you want for this flow. In ICM script there is a node called queue to agent. Under that node use agent selection by skill target ID. and in the expression use the prefered agent id variable. It will make sure that tha call goes to the same agent. just before the queue node set the priority highest for this caller. For this you can use the priority node. Below link will help to configure it properly.
http://docwiki.cisco.com/wiki/Sticky_Agent_Configuration
Now in the agent desktop setting change the wrapup time accordingly. Let say for pin authentication you need 20 sec then make the wrapup time 25 sec. This extra 5 sec will allow the caller in the queue (to hear pls wait while we transfer to the agent) and the call will land to the same agent.
Thanks and Regards,
Ashfaque

Similar Messages

  • Call a webservice and get back a value within an ESB...

    Hi!
    I'd like to call a webservice and get back a value from it within an ESB. But I don't know how.
    I think, I must create a routing service, then a SOAP service, but how can I get back the value from the webservice, which I called in the SOAP service?
    Or it is not possible to realize this within an ESB?
    Thank You very much!
    Viktor

    When you take a look at the Soa Orderbooking example you can see how it works. You create a webservice that accepts certain parameters and these are bundled into an object. This object, in case of the Soa Orderbooking example a 'PurchaseOrder', is described using an Xml Schema. The XML Schema is used to create the ESB with. Using this xsd the ESB knows which object it can expect and this object can be used inside your ESB or inside a bpel process.

  • Agent routes caller back into script

    Not sure if this is possible but I have a script that does a DB dip  to authenticate a caller if they want their password reset.  It asks  them for their Employee ID then will get the last 4 of their SSN.  The  caller is then asked to enter the last 4 of their SSN and I compare it  to my query result.  I then pass the caller information to the agent  desktop and let the agent know if the user was authenticated or not. 
    The customer wants to be able to do this on the fly as well.  If a  caller happens to get to the agent for some other reason that didn't  require authentication and then wants to have their password reset, we  want to be able to have the agent send the caller back into the script,  go through the authentication process then route back to the same agent  that was just helping them.  I could do this with a blind conference but  I can't get the results to appear on the agent desktop.  If I do a  transfer then the caller will probably get a different agent. 
    How can I have the agent initiate this, place the agent in reserved  mode or not ready if I have to, then display the results of the DB query  into the agents desktop?
    Thanks in advance,
    Chris

    Hi Chris,
    This is an interesting question.  I do not think what you are wanting to do is really possible though. I'll try to explain why.
    You are corect that there really isn't a way to have the agent do a conference with the customer back into the script to do the authentication process.  It's just not supported.  Additionally if the agent does send the call back into the script, the agent is released and will either go back into ready or go into work mode.  Either way they are back in the queue and if they are Ready they are able to get any call.  There is no way to reserve them either.
    The only possibility, and honestly I don't really know how you might do this, but in CCX 8.5.1 you can set CAD to have non-ICD line appearances.  Maybe you could have some non-ICD line assigned to the agents that they contol in CAD and could route the caller back to that agent on the non-ICD line??  This has it's drawbacks.  The agent can still receive calls from the system on the ICD line.  I am also not confident the enterprise data will push to the non-ICD line.  This may be a killer for this idea.  This is probably the only remote possibility though on what you are wanting to do.

  • Calling transaction iview and coming back to abap iview

    Hello all,
    Is it possible to call a transaction iview from abap webdynpro application iview and come back to it after we are finishing running the transaction?  I know I can use the navigate_absolute method to call the transaction iview but i want to know if we can come back to the original abap iview, which called this transaction iview.
    resume suspend is not an option since they do not work in portal as per the sap help.
    Thanks.
    J.

    thanks

  • Package calling other package and passing back the control to calling package

    I have to loop through n number of package from a master package, any idea how to implement this?
    Master package Calling child package in for each loop , here I need to loop through n no or rec from a table and each record needs a call to child package and return control back to calling pkg.. need to do this till the end of all the records in a table.
    Child package1 -- Called perform some task and return control back to master package
    Child package2 -- Called perform some task and return control back to master package
    Child package n -- Called perform some task and return control back to master package
    Thanks
    Neil

    You'll need following
    1. A Execute SQL Task to retrieve the list of child packages to be called from table. Use your query inside, set ResultSet option as FullResultset and map the resultset index 0 to a object variable you create inside in the ResultSet tab.
    2. Use For Each Loop with ADO enumerator and map to earlier created object variable. Inside create variables to retrieve individual column values out one of which will contain package name
    3. Add a Execute Package Task inside the loop, choose Location as filesystem and map the Connection property to variable containing package name in expession window as per below
    I assume the table stores the full path of package variable otherwise you need to add another variable to hold the path and a third variable to concatenate path + packagename to get the fully qualified package path value and assign it to execute package
    task.
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • HTML-DB 1.6 (Apex) calling an URL and go back to the calling page

    Hi everybody,
    Is there somebody who can help us ?
    We have a button in your page which call an URL link. This link creates operate a job that will make an XML document. We try to use target....blank to open a new window and after the job is finished to close this new window; but it doesn't work, no new window have been created.
    But, we want to go back to the calling page after doing the XML document creating job. We can't go back to our calling page, the application is gone.
    How, we can do this?
    Thanks. Bye.

    Hi Timiche,
    Firstly, create a new region on your calling page and add in the following as the region's Region Source:
    <script language="JavaScript" type="text/javascript">
    function exportList(page)
    var url;
    url = 'f?p=&APP_ID.:' + page + ':&APP_SESSION.';
    w = open(url,"winExport","Scrollbars=1,resizable=1,width=100,height=100");
    if (w.opener == null)
    w.opener = self;
    w.focus();
    </script>
    <a href="javascript:exportList('n');">Export XML</a>
    Replace n with the page number for your xml export. Notice that I've added an A tag here - you can style this to look like a button if you like.
    I have also set a branch back to the calling page, but this should not be used by the A tag as it doesn't submit the page - I've just included it on my page for completeness.
    Secondly, on your page containing the xml export, make the following settings:
    In the Page Attributes, set the Page Template to "Popup"
    In the Region's Region Definition, set the Template to "No Template"
    In the Region's Report Attributes, set the Report Template to "export: XML"
    And, here's my working example:
    http://htmldb.oracle.com/pls/otn/f?p=42012:1
    Regards
    Andy

  • I have an app called i downloads and I backed up my device. I would like to know if all my songs will be on that app whenever I get my new iPhone?

    I backed up my device on iclouds today because im getting a new phone wednsay.I have an app called i downloads, this app has all my songs on it. Will all the songs be on the app when It backs up?

    The backup contains your app data.  If that is included in the app's app data, it should.  But you would have to ask the developer to know for sure.

  • Saving 3d objects and retrieving back

    I'm using XMLEncoders ....
    its working fine for simple datatypes..but when I tried for Java3D objects.....
    its not saving.....
    For eg :-
    I've variable defined in my class Point.java
    private Point3d first;
    public Point()
    public Point(Point3d f)
    first = new Point3d(f);
    //then get and set methods.....
    public Point3d getFirst()
    return first;
    public void setFirst(Point3d m)
    first = new Point3d(m);
    now the main....when I'm trying to write the Point3d object
    using XMLEncoder.....its internal co-ordinates are not saved
    I mean...first.x,first.y.first.y......
    although I've set these values before writing the object...
    XML file generated says :-
    <void property="first">
    <object class = "javax.vecmath.Point3d>
    </void>
    I've also tried to create a class MyPoint3d.java which extends Point3d and defined getX(),Y,Z and setX(),Y,Z there....and my class Point.java extends MyPoint.java but in that case xml file which is coming is :-<void property="first">
    <object class = "MyPoint3d>
    <void property="x">
    <double>10</double>
    </void>
    same for y and z
    </object>
    </void>
    </void>

    Hi
    This is not an answer, but was wondering how succesful your attempts to use XML Encoder and Decoder were.
    I am about to impliment the xmlencoder on a large java3d scengraph, is it possible to use xml with the top branch group and expect it to save from there?
    Any advice would be greatfully recieved.
    Thanks
    PJ

  • How Can I make redirect caller from agent to any branch IVR?

    I have IPCC Enterprise Edition (ICM 5.0, IVR 3.1)
    How can I make redirect caller from agent to chosen branch IVR, and send with call any variable to IVR (e.g. account number).
    Regards
    Krzysztof

    I would suggest that post-routing should not be used. The way to go is to use translation routing applications. Although post-routing is easy to set up, almost all deployments require translation routing. I can't think of anything good to say about post routing, other than it's trivial to configure.
    You want the main route point to be on the CM_PIM.RC for a number of reasons. You can check to see which of your IVRs are on line, and/or to do load balancing. If calls don't need to go to the IVR if agents are ready, you can have an LAA Select node immediately, and then translation route. Even if you just have one IVR, translation routing will enable you to do RONA more easily.
    You need to bite the bullet and learn translation routing. If you do it that way, peripheral variables attached to the call remain unaffected whether the call is under the control of the CM_PIM.RC or the IVR_PIM.RC. This is exactly what you want.
    There is no need, in my opinion, to go to an external database. In your IVR, decisions made by the caller (e.g. which "skill" they want) set peripheral variables. When the call comes out of this script you check the peripheral variable, and depending on the value do a queue to the appropriate skill group and run external script (BasicQ.aef).
    Separate the intelligence gathering IVR script from the Queuing script. Allow ICM to make the routing decisions.

  • Cisco Supervisor Desktop show "Agent Logs - call" and "Agent Logs - state" in N/A ::: UCCX 8.5.1

    Hi team.
    The Cisco Supervisor Desktop don't show any logs in the "Agent Logs - State" and "Agent Logs - Call" in some agents.
    I restarted the Cisco Desktop Services in CCX Serviceability but the issue continue.
    I appreciate any help respect this case.
    Thanks a lot.
    ErnestoG

    Hi Ernesto,
    Did you click or selct the Specific Agent\Inbound call which is currently being handled by the Agent. From the Screenshot you have attached (first one) doesn't look like the call has been selected.
    Please select or click on that Specific Agent\Inbound call from CSD and check these values.
    Hope this helps.
    Anand
    Please rate helpful posts !!

  • UCCE send a caller from agent to IVR and back to the same agent

    Hello,
    I am trying to come up with a way to implement the following logic in UCCE 7.5 with IP IVR 7.0
    A caller gets to an agent and requests a service that requires identification
    The agent sends the caller back to IVR for identification
    UCCE reserves the agent. If caller hangs up the agent is chaged back to ready state.
    After authentication the caller is taken back to the same agent.
    I am not sure how to do steps 3 and 4. I need to be sure that the agent will be available to take the call and not make the customer wait again in queue. I guess I just need a variable to store the agent ID and pass it to the other script so it can make a queue to agent step, but then how do I make the agent reserved or not ready (so he's not taken by another call) and then present the same call back to him? Then I need a way to monitor the customer's activity in IVR and notify the agent if the customer dropped the call.
    Tough one...
    Stoyan

    Hi Stoyan
    I've been looking into the same thing, did you find a solution yet?  I had considered letting the Agent do a transfer to the IVR, collect the Agent ID (or if possible the instrument number they were currently logged in with) for routing back to the Agent.  Set the Agent to permanent Not Ready so they don't receive any other Contact Centre calls.  Let the IVR play out as long as it takes without having to calculate for retries etc. or leaving long delays before the agent can be reached again.   If I could only set the AgentID in the transfer script I would perform a database lookup on the ICM real time tables to find out what extension they were currently logged in with and route direct to that (reachable even if in the Not Ready state).  The main implication of this would be that I would lose visibility of the remainder of this call with regards the skill group statistics.  However, the default skill group could be set for each agent to account for this....not ideal as reporting would become more manual but still recorded at some level.
    Regards
    Brenda

  • RGS routes calls to Busy agents (alredy In a Call)...

    Hi guys,
    our Call Centre agents are reporting they get 2nd incoming call transferred via the same workflow as the 1st call.
    Their status is In a Call and obviously call should not be routed to them.
    Screenshot
    http://img855.imageshack.us/img855/8094/rgsbug.jpg
    Apparently this happens when there are a whole bunch of incoming calls.
    Do you know what is the coded logic for RGS quering agents status?
    Does it query RTC db for agents status?
    My guess is there's some OCS server component underperforming and RGS application queries something (db?) to find this particular agent status is Available (not updated yet to In A Call).
    OCS 2007 R2 Front-End is running on 3.5.6907.221 updates (RTCC/3.5.0.0 Response_Group_Service)
    Mediation Server
    RTCC/3.5.0.0 MediationServer/3.5.6907.196
    thanks for any hint

    plug n pray,
    "Match Making" component of RGS queries database for Agent's presence State.
    It is possible that it may not be getting the updated State because of performance issues.
    You can use  RGS performace Counters to monitor the activity.
    "LC:RGS - 01 -Response Group Service Match Making"\"Total Number of presence notifications received"
    "LC:RGS - 01 -Response Group Service Match Making"\"Total Number of presence subscriptions terminated"
    Also please review the capacity of your server
    http://technet.microsoft.com/en-us/library/dd425159(office.13).aspx 
    Table 6. Response Group Service User Model
    Component
    Per Enterprise deployment
    Per Standard Edition server
    Active agents (formal and informal)
    1,200
    1,200
    Number of standard Response Groups
    450
    150
    Number of queues used
    One unique queue for each hunt group, two for the One-Level Interactive response group
    One unique queue for each hunt group, two for the One-Level Interactive response group
    Distribution of routing methods on groups
    Parallel routing: 40%
    Longest idle: 40%
    Serial: 10%
    Round robin: 10%
    Parallel routing: 40%
    Longest idle: 40%
    Serial: 10%
    Round robin: 10%
    Percentage of workflows that use speech recognition in their interactive voice response (IVR) versus workflows that use only dual tone multi-frequency (DTMF) in their IVR
    Speech recognition/Text-to-speech (SR/TTS) + DTMF: 50% DTMF: 50%
    SR/TTS + DTMF:50% DTMF: 50%
    Number of hunt groups (mix of 50% simple and 50% complex hunt groups)
    600
    300
    Average number of agents per group
    10 agents
    10 agents
    Average number of groups an agent is a member of
    Two groups
    Two groups
    Number of groups per queue (average)
    90%: One group 10%: Two groups
    90%: One group 10%: Two groups
    Number of simultaneous response group calls
    480
    60
    Average call duration (IVR portion + music on hold)
    30 seconds
    30 seconds
    Average call duration with the agent
    3 minutes
    3 minutes
    Number of sign-in/sign-out cycles for formal agents in a day (based on an 8-hour day)
    4
    4
    Table 7. Maximum Supported Users for Each Topology
    Topology
    Servers required
    Maximum users supported
    Standard Edition server
    One Standard Edition server
    5,000
    Enterprise pool, consolidated configuration
    Eight Enterprise Edition Front-End Servers running all server roles
    One Back-end SQL Server
    100,000
    Note:
    If deploying only IM and presence, Office Communications Server 2007 R2 supports 200,000 client end points, where each end point is a client program, such as Communicator, based on eight Front End Servers and a 16-core computer running the Microsoft
    SQL Server database software. The back-end database must run on a 4-way processor, quad core, or 8-way, dual core, 2.0 GHz+ computer.
    -Santosh

  • How to store images in database and retrieve them back to page?

    Well I don't know how to store an image file to a database (say MSSQL) from the JSP and retrieve it back whenever needed and put it on the JSP page? Please help me.

    I am not sure how to store images in database but what you can do is store the image into particular folder using FileOutputStream and its unique name into the database...and than retrieve it from the folder using that name retrieved from database...
    <%
    response.setContentType("text/html");
    response.setHeader("Cache-control","no-cache");
    String err = "";
    String lastFileName = "";
    String contentType = request.getContentType();
    String boundary = "";
    final int BOUNDARY_WORD_SIZE = "boundary=".length();
    System.out.println("contentType --> "+contentType);
    System.out.println("BOUNDARY_WORD_SIZE --> "+BOUNDARY_WORD_SIZE);
    if(contentType == null || !contentType.startsWith("multipart/form-data"))
    err = "Ilegal ENCTYPE : must be multipart/form-data\n";
    err += "ENCTYPE set = " + contentType;
    else
    boundary = contentType.substring(contentType.indexOf("boundary=") + BOUNDARY_WORD_SIZE);
    System.out.println("boundary --> "+boundary);
    boundary = "--" + boundary;
    try
    ServletInputStream sis = request.getInputStream();
    byte[] b = new byte[1024];
    int x=0;
    int state=0;
    String name=null,fileName=null,contentType2=null;
    java.io.FileOutputStream buffer = null;
    while((x=sis.readLine(b,0,1024))>-1)
         System.out.println("************ x ********** "+x);
         String s = new String(b,0,x);
                   System.out.println("************ s ********** \n"+s);
         if(s.startsWith(boundary))
         state = 0;
         System.out.println("name="+name);
         System.out.println("filename="+fileName);
         name = null;
         contentType2 = null;
         fileName = null;
         else if(s.startsWith("Content-Disposition") && state==0)
              System.out.println("-- 1 --");
              state = 1;
              System.out.println("s.indexOf(filename=) --> "+s.indexOf("filename="));
              if(s.indexOf("filename=") == -1)
                   name = s.substring(s.indexOf("name=") + "name=".length(),s.length()-2);
                   System.out.println("after name substring 1 "+name);
              else
                   name = s.substring(s.indexOf("name=") + "name=".length(),s.lastIndexOf(";"));
                   System.out.println("after name substring 2 "+name);
                   fileName = s.substring(s.indexOf("filename=") + "filename=".length(),s.length()-2);
                   System.out.println("fileName --> "+fileName);
                   //String fileName1 = s.substring(s.indexOf("filename=") + "filename=".length(),s.length());
                   //System.out.println("fileName1 -->"+fileName1);
                   if(fileName.equals("\"\""))
                   fileName = null;
                   else
                        String userAgent = request.getHeader("User-Agent");
                        System.out.println("userAgent --> "+userAgent);
                        String userSeparator="/"; // default
                        if (userAgent.indexOf("Windows")!=-1)
                        System.out.println("test --> "+"\\");
                        userSeparator="\\";
                        if (userAgent.indexOf("Linux")!=-1)
                        userSeparator="/";
                        System.out.println("userSeparator "+userSeparator);
                        System.out.println("fileName before inserting userSeparators "+fileName);
                        fileName = fileName.substring(fileName.lastIndexOf(userSeparator)+1,fileName.length()-1);
                        System.out.println("fileName after userSeparators "+fileName);
                        if(fileName.startsWith( "\""))
                        fileName = fileName.substring( 1);
              name = name.substring(1,name.length()-1);
              System.out.println("name 2 --> "+name);
              System.out.println("final file name "+fileName);
              if (name.equals("file"))
                   if (buffer!=null)
                   buffer.close();
                   lastFileName = fileName;
                   buffer = new java.io.FileOutputStream("/Documents and Settings/sunil/Desktop/images/"+fileName);
         else if(s.startsWith("Content-Type") && state==1)
                             System.out.println("-- 2 --");
              state = 2;
              contentType2 = s.substring(s.indexOf(":")+2,s.length()-2);
              System.out.println("contentType2 --> "+contentType2);
         else if(s.equals("\r\n") && state != 3)
                   System.out.println("-- 3 --");
              state = 3;
         else
              System.out.println("-- 4 --");     
              if (name.equals("file"))
              System.out.println("Final x :: "+x);     
              buffer.write(b,0,x);
    }     // while closing
    sis.close();
    buffer.close();
    }catch(java.io.IOException e)
    err = e.toString();
    boolean ok = err.equals("");
    if(!ok)
    out.println(err);
    else
    %>
              <SCRIPT language="javascript">
              history.back(1);
              alert('Uploaded <%=lastFileName%>');
              window.location.reload(false);
              </SCRIPT>
    <%
         out.println("done");
    %>
    </BODY>
    </HTML>
    I think it will solve ur problem..

  • IVR sample scripts that routes calls base on States?

    Does anyone have a sample IVR script which can route calls to different queues base on the States or ZIP code enter by the user?
    Thanks.

    Yes, I read this document. 
    I've created ccm group, sccp local interface, dspfarm profile, and registered it to telephony-service. It's ok. 
    Yes, IVR still be availible under SRST, it runs as vxml script on router flash.
    I configured router for inbound/outbound calls in g711a, and it works fine. But when using IVR with .wav file in g711u codec I've got a problem. I decided to use translation-profile on incoming dial-peer, from incoming number to internal IVR number, but it doesn't work. 
    I attached config of xcoder, dial-peers and translation rules.
    In normal mode (without IVR) I receive calls in dial-peer voice 30804242 voip and after it translate them to dial-peers 1 or 2 to CUCM phones.

  • Route call to Agent before Accept step

    Hi all,
    our customer has the following requirement:
    If a call comes in and there is an available agent, the caller should hear normal ringback until the call is answered- no announcements, no hold music.
    Only if the call is queued, announcements and hold music should be played.
    I tried to put the "Accept" under the "queued" branch of the select resource step. This does not work, the call is dopped when it goes to the agent phone.
    As far as I understand it, the Accept step must happen before the select resource step or connect step.
    Any ideas if this requirement can be fulfilled using UCCX 8.5?
    Thanks in advance
    Jörg

    Why don't you just put all the logic (announcements, etc) into the Queued
    branch then? It should accomplish the same thing. Call is accepted and
    immediately routed to an agent, if none are available then you begin
    planning your messages and what not.

Maybe you are looking for

  • I can't seem to be able to download apps with IOS 8. I have been able to with other IOS 7 and IOS 6. Any suggestions?

    I Can't seem to be able to download (or update) any apps on IOS 8.0, and I have been able to download apps on IOS 7 and IOS 6. I have 5.2 GB of available space on my iPad (4th generation) and I have only used 7.1 GB on my 16GB ipad. I have a full two

  • All of my contacts do not show up in icloud

    All of my contacts do not show up in the Icloud. The contacts that do show up only show the phone number. I would think that all of the contct information would show up. What am I doing wrong?

  • Creating sales order using web dynpro JAVA

    Hello everyone, i am new to web dynpro. Can any one tell me how to creating sales order by web dynpro JAVA using BAPI. Thanks. Vinita Sharma

  • USB port stops working

    Tis a minor issue but... The keyboard / mouse stops working on my duel 2 GHz G5 and the cure is unpluging from the USB port and plugging back in. Nothing is plugged into the keyboard port and the other port is taken by a Preps i-Key dongle. This seem

  • Setting time in x-axis for waveform

    i would like to make the waveform to shows data within 10 minutes time frame. I've  tried the property and change with different scales but that didn't work as wanted. Is there a setting values for offset and multiplier that i should be aware of?