ICM DB Lookup

Hi All,
I need clarity on ICM DB Lookup, the scenario is as follows.
For post call survey we need to retrive Agent peripheral number from termination call detail table using routercallkey, routercallkeyday of the first call so that it can be used in the post call survey script based on that we can review the agent perfomance, kindly let me know this is possible.

Hi Geoff,
Thank You, yes the call variables and ECC Variables will be persistent but the post call survey application will be invoked once the agent disconnects the call by default, so we cannot set the agent ID(agent pheripheral number) to peripheral variable in the primary script before ftransferring it to the agent, because of this limitation we are trying to retrive the agent pheripheral number using the router call keys of the primary call passed using the peripheral variable to the post call script and retrive from termination call details table
Regards,
Dhillip.A

Similar Messages

  • Rerouting or transfering the customer through PSTN

    Dear Sir,
    i need help in configuring ICM script ,CVP,and other need compoents to acheive  the following :
    simply , the customer dialed certain DN to hit the Ingress gateway ,trigers ICM Microapplication script ,hears menu options,one of options allows the caller to enter some credentails to make sure that the caller is trusted and accordingly the custeomer can insert pstn number(mobile,landline,international) that enable  to connect the customer with the number he/she entered.actually i need how to configure the icm script and CVP to enable the custome be connected with the number he entered after credentials passed.
    regarding what i have: i have ICM 7.2.5,CVP 7.0.2, CUCM 6.X, VXML 3500xm and IGWs 5300xm .
    regards and thanks

    This is what I read you're asking, please let me know if it's incorrect.  You have an ICM and CVP setup, the call comes in and you play a microapp where you authenticate the caller.  Once the caller is authenticated, you transfer then to some number they have entered, this number is through the PSTN.
    First, it would be much easier and robust if you were using CVP as your error handling would be much more robust.  However, you can achieve this in a very basic way.  Have a microapp where they enter their account/password.  Do an ICM database lookup against this account to ensure it's the correct account.  Have another microapp ask them for the phone number to transfer to, if you have TTS validate this number is correct.  If you don't have TTS, have them enter the number again, then copare the two entries, if they are not the same the number is wrong and they will have to enter it again.  Then you can pass that number to a dynamic label which routes it out to either UCM to make the outbound call.  Ideally you could use a take back and transfer or a sip refer which would send the call out to the PSTN without tying up any of your outbound trunks.
    david

  • Would it cause any harm to stop the DBworker process on the logger and let it restart during business hours?

    I'm trying to connect to a database in an ICM script for the first time and I added a new database user to the Router registry. I think I must have to restart the service to activate the new credentials. Would it cause any harm to stop the DBworker process on the logger and let it restart during business hours?

    Lisa,
    You shouldn't need to restart any processes. If you already had the database setup in Database Lookup Explorer before putting the credentials in the registry, you can just make a change to the Database Loookup entry, and the Router will try to reconnect.
    Also, the Logger has nothing to do with ICM database lookups - the DBworker is part of the Router processes.
    -Jameson

  • How to do a DB lookup in ICM and return the ANI and Rewards Number to CTI

        Hello,
    Does anyone know how to take the ANI and do a database look up to get the customer loyalty program number?  After the number is collected, I need to return the ANI and the loyalty number to CTI using variable 5.  Any feedback on how to accomplish this? 

    Ok if you have succesfully connected to the Database and call come out of the Right branch in your DBLookUp Node.
    You need to create a Set Variable, If you want to display the Loyalty Number in Peripheral Variable 1, Choose that variable and Click th formula Editor. In the formula Editor, choose the Object Type as Database select the database and choose the vairable as Loyalty Number.
    Note :You should have all the Variable in the Databse Explorer created under this Databse.
    I have atached a scrrenshot like how to se the Customer Type in Peripheral Variable 1
    By Default ANI should be there in the Agent Desktop or Toolkit
    Pam Scarpino wrote: Thank you.  This is very helpful.  We are stuck on the formula now.  We want to return the calling line id and the loyalty number to CTI.  Do you know how the formula should look?
    Regards,
    Senthil
    Rate if this helpful

  • Migrating from ICM scripts to CVP-VXML Apps

    Good day all.
    Currently we are running on:
    ICM 7.2
    CVP 4.1
    CUCM 6.
    Call flow: using ICM-Script Editor
    Applications: Using apps deployed on CVP-VXML server. they are called in ICM scripts.
    Well my dilemma is this. We have planned to move all call flows from ICM-Scripts to Call Studio based apps/Scripts.
    Now I have studied Call studio and VXML flows, and know that CallStudio/VXML scripts can be run directly from Gateway->ICM->CVP/VXML or in the traditional way called in ICM script.
    If we deploy a full Standalone model with ICM lookup (no ICM scripts involved) then how is call queing for SkillGroups/agent transfers handled? do call studio based scripts have the capability, or will we have to include ICM scripts for this?
    Secondly, when migrating from ICM scripts to Standalone+ICm lookup model, the current gateway configurations (ie apps, Dial plan and Dial plan to script matching for EACH dialed number) will have to be reconfigured? So as the Dialled number will directly translate to the IVR menu on VXML script?
    Need expert inputs on this.
    Regards,
    AAK.

    Hi Asif,
    When you use the CVP as Standalone model, its purely for SelfService, Queuing is not possible even if you use Standalone with ICM Lookup. There is no concept of SkillGroups using CVP as Standalone
    After the self service treatment is done, you can either transfer the call to CUCM or TDMACD
    If you need queuing, you have to go for Comprehensive model.
    If you want to go for a StandAlone Model, You will need to configure the Application Name, VxmlServer everything in the Gateway. Have a look at the config guide for CVP Standalone section
    http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/customer_voice_portal/cvp4_1/configuration/guide/cvp41cfg.pdf
    Regards,
    Senthil

  • JNDI lookup fails in a thread created by J2EE application on WAS 8.0.0.4 running on Red Hat Enterprise Server 5.8(2.6.18-308.e15).

    I am using Jackrabbit Repository (jcr's implementation) as backend in my Web Appl.Whose data persists on Oracle Database. To make connection with Oracle database jackrabbit provide provision of JNDI Lookup to read the data source defined in WAS (using WAS 8.0.0.4 as App Server).
    I am able to perform JNDI Lookup everywhere in my application,But in a flow where i am creating a Thread using Java Concurrent Api and insidethread's call() method when I am trying for JNDI Look following exception occurs –
    [8/20/13 10:57:35:163 IST] 000000dd System Out     O ERROR 20-08 10:57:35,163 (DatabaseFileSystem.java:init:209)            failed to initialize file system
    javax.jcr.RepositoryException: JNDI name not found: java:comp/env/jdbc/ofsds
    at org.apache.jackrabbit.core.util.db.ConnectionFactory.getJndiDataSource(ConnectionFactory.java:295)
    at org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
    at org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:166)
    at org.apache.jackrabbit.core.fs.db.DbFileSystem.getDataSource(DbFileSystem.java:226)
    at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.init(DatabaseFileSystem.java:190)
    at org.apache.jackrabbit.core.config.RepositoryConfigurationParser$6.getFileSystem(RepositoryConfigurationParser.java:1057)
    at org.apache.jackrabbit.core.config.RepositoryConfig.getFileSystem(RepositoryConfig.java:911)
    at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:285)
    at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:605)
    at org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:232)
    at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:280)
    at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:376)
    at com.mmpnc.icm.server.repository.RepositoryStartupService.newSession(RepositoryStartupService.java:408)
    at com.mmpnc.icm.server.repository.RepositoryStartupService.newSession(RepositoryStartupService.java:355)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
    at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
    at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
    at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
    at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
    at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
    at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
    at com.mmpnc.icm.server.repository.RepositoryStartupService_$$_javassist_1.newSession(RepositoryStartupService_$$_javassist_1.java)
    at com.mmpnc.icm.server.repository.ICMHouseKeepingSessionManager.create(ICMHouseKeepingSessionManager.java:37)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
    at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
    at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
    at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
    at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
    at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
    at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
    at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
    at com.mmpnc.icm.server.repository.ICMHouseKeepingSessionManager_$$_javassist_8.create(ICMHouseKeepingSessionManager_$$_javassist_8.java)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
    at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:138)
    at org.jboss.seam.Component.callComponentMethod(Component.java:2171)
    at org.jboss.seam.Component.callCreateMethod(Component.java:2094)
    at org.jboss.seam.Component.newInstance(Component.java:2054)
    at org.jboss.seam.Component.getInstance(Component.java:1948)
    at org.jboss.seam.Component.getInstance(Component.java:1910)
    at org.jboss.seam.Component.getInstance(Component.java:1904)
    at org.jboss.seam.Component.getInstanceInAllNamespaces(Component.java:2271)
    at org.jboss.seam.Component.getValueToInject(Component.java:2223)
    at org.jboss.seam.Component.injectAttributes(Component.java:1663)
    at org.jboss.seam.Component.inject(Component.java:1481)
    at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:61)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
    at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
    at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
    at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
    at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
    at com.mmpnc.icm.server.repository.ICMHouseKeepingRepository_$$_javassist_7.create(ICMHouseKeepingRepository_$$_javassist_7.java)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
    at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:138)
    at org.jboss.seam.Component.callComponentMethod(Component.java:2171)
    at org.jboss.seam.Component.callCreateMethod(Component.java:2094)
    at org.jboss.seam.Component.newInstance(Component.java:2054)
    at org.jboss.seam.Component.getInstance(Component.java:1948)
    at org.jboss.seam.Component.getInstance(Component.java:1910)
    at org.jboss.seam.Component.getInstance(Component.java:1904)
    at org.jboss.seam.Component.getInstanceInAllNamespaces(Component.java:2271)
    at org.jboss.seam.Component.getValueToInject(Component.java:2223)
    at org.jboss.seam.Component.injectAttributes(Component.java:1663)
    at org.jboss.seam.Component.inject(Component.java:1481)
    at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:61)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
    at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
    at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
    at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
    at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
    at com.mmpnc.icm.server.repository.ICMHouseKeepingManager_$$_javassist_6.create(ICMHouseKeepingManager_$$_javassist_6.java)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
    at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:138)
    at org.jboss.seam.Component.callComponentMethod(Component.java:2171)
    at org.jboss.seam.Component.callCreateMethod(Component.java:2094)
    at org.jboss.seam.Component.newInstance(Component.java:2054)
    at org.jboss.seam.Component.getInstance(Component.java:1948)
    at org.jboss.seam.Component.getInstance(Component.java:1910)
    at org.jboss.seam.Component.getInstance(Component.java:1904)
    at org.jboss.seam.Component.getInstance(Component.java:1899)
    at com.mmpnc.icm.server.concurrent.PerformCloseTask.call(PerformCloseTask.java:136)
    at com.mmpnc.icm.server.concurrent.PerformCloseTask.call(PerformCloseTask.java:1)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:314)
    at java.util.concurrent.FutureTask.run(FutureTask.java:149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
    at java.lang.Thread.run(Thread.java:770)
    Caused by:
    javax.naming.ConfigurationException: A JNDI operation on a "java:" name cannot be completed because the server runtime is not able to associate the operation's thread with any J2EE application component.  This condition can occur when the JNDI client using the "java:" name is not executed on the thread of a server application request.  Make sure that a J2EE application does not execute JNDI operations on "java:" names within static code blocks or in threads created by that J2EE application.  Such code does not necessarily run on the thread of a server application request and therefore is not supported by JNDI operations on "java:" names. [Root exception is javax.naming.NameNotFoundException: Name comp/env/jdbc not found in context "java:".]
    at com.ibm.ws.naming.java.javaURLContextImpl.throwExceptionIfDefaultJavaNS(javaURLContextImpl.java:522)
    at com.ibm.ws.naming.java.javaURLContextImpl.throwConfigurationExceptionWithDefaultJavaNS(javaURLContextImpl.java:552)
    at com.ibm.ws.naming.java.javaURLContextImpl.lookupExt(javaURLContextImpl.java:481)
    at com.ibm.ws.naming.java.javaURLContextRoot.lookupExt(javaURLContextRoot.java:485)
    at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:370)
    at org.apache.aries.jndi.DelegateContext.lookup(DelegateContext.java:161)
    at javax.naming.InitialContext.lookup(InitialContext.java:436)
    at org.apache.jackrabbit.core.util.db.ConnectionFactory.getJndiDataSource(ConnectionFactory.java:280)
    ... 114 more
    Caused by:
    javax.naming.NameNotFoundException: Name comp/env/jdbc not found in context "java:".
    at com.ibm.ws.naming.ipbase.NameSpace.getParentCtxInternal(NameSpace.java:1969)
    at com.ibm.ws.naming.ipbase.NameSpace.retrieveBinding(NameSpace.java:1376)
    at com.ibm.ws.naming.ipbase.NameSpace.lookupInternal(NameSpace.java:1219)
    at com.ibm.ws.naming.ipbase.NameSpace.lookup(NameSpace.java:1141)
    at com.ibm.ws.naming.urlbase.UrlContextImpl.lookupExt(UrlContextImpl.java:1436)
    at com.ibm.ws.naming.java.javaURLContextImpl.lookupExt(javaURLContextImpl.java:477)
    ... 119 more

    Okay "damorgan", you seem to have me confused with a newbie. All I'm posting is the info that I got from my Sys Admin on the fix to my problem I encountered when trying to install Oracle 11g (11.2.0.0) on Red Hat Linux Enterprise 5. Since we're mouting onto an NFS, these are the steps he took. I'm not trying to "hide" information or post as little as possible. What other info do you want? I don't know what you are referring to when you mention "Filer, make, model, software version"? Please elaborate. I was just trying to post to others that may have encountered this problem, and I get somewhat attacked by you. I don't assume anyone can read my mind (especially you).

  • Added icm/host_name_full to profile and connections died

    After adding the icm/host_name_full to the profile, j2ee admin cannot work, all xi web urls errored.

    Nope that didn't work.
    While trying to connect using default to j2ee admin, error below appeared:
    Unable to lookup connection default
    http://sapxiprd01:8101/msgserver/text/login returned empty list of connection paramters.

  • Persistent User Variable in ICM

    I was wondering if anyone knows what the maximum number of persistent user variables that can be configured on an ICM Enterprise platform. I understand that these are logged to the Logger database so there has to be some limitation.
    I am going to be needing to use about 265 persistant User variables, I just wanted to check if anyone could see any issues with that?

    Hi David,
    I know it is a lot but it is for a self service IVR that is interfacing to a credit card transaction back end, so we will need to keep unique sequence IDs for 240 different unique transaction numbers. 
    For instance example when a call is received it will be given a transaction ID such as 480020001, this will then be be combined with a sequence number (0001-9999) to give a unique Transaction ID. When the call completes successfully, we increment the sequence number for that transaction ID. The problem is that we have 240 of these transaction ID's and each will have it's own sequence number...
    I was thinking that the ICM user variables could be used rather than a database lookup. However I have not ruled out the database yet or any alternative options, as the scripting for the variable would be a real challenge.
    Thanks,
    Kiarash

  • Do I need VXML Port Licenses for CVP Database Lookup.

    Hi,
    Please let me know that whether VXML Port Licenses are required for CVP Database Lookup.
    I am using CVP just for prompt playing in my scenario,
    Appreciate your response.
    Thanks,
    Manish

    [email protected],To make database integration with your IVR, you have different alternatives :1- Use the 'DB Lookup' node ICM scripting node for simple SELECT transactions on SQL Server databases2- Use an 'Application Gateway' component with ICM scripting for more complex database operations on different type of databases. Application Gateway is a software component developed by Cisco partners to make ICM scripts interact with different databases.3- Use VXML scripts. VXML scripts can connect and interact with any kind of databse using the JNDI protocol. You will need a VXML Studio license (to develop the VXML applications) and a CVP Server for VXML Servers (you need to deploy VXML servers on which you will deploy your VXML applications)Hope this will help.
    Good summary. If I can comment ....
    1. DBLookup is so restrictive it is not typically useful for looking up ANIs in a customer DB. It is useful for other things to do with routing - say a DNIS lookup to control some aspect of routing. Look up the restrictions on DBLookup if you don't believe me.
    2. This may be an expensive proposition. Unless you have in-house experience with something like a CTI all events bridge and the ability to code to the required heartbeat interface, you will find building an app gateway tricky. You also need to be in the Cisco Developer's Program ($25k). I have colleagues write app gateways in C++ and VB.NET, so it's possible - just not trvial. For a huge load, this may be the only suitable method, however.
    3. This is the way to go. JNDI is NOT a protocol - it is a naming standard. The protocol that the client (your application running under Tomcat) uses to talk to the server (the database out there) is defined by the library - the JAR file - you hook into it in VXMLServer\lib\endorsed. Through the JNDI specification in Tomcat\conf\server.xml you indicate the host, user name, password and client library that the system needs. Tomcat uses connection pooling to manipulate a pool of connections (threads) giving a more efficient database query system.
    You can then add an additional sepcification through context.xml that allows you to use the JNDI spec in your VXML Database Element.
    If you like coding in Java, you can write a Custom Action Element to use the JNDI (and therefore connection pooling), making your query and manipulating the result. This is the way I do it because I'm a competent programmer. Most will use the Database Element.
    Finally, you could write a Java Custom Action Element that does not use the JNDI at all, but given the server, user, password and database through the settings, opens a connection, runs the query, and closes the connection.
    Regards,
    Geoff

  • Queue priority ICM Script editor 8.5

    HI,
    Can some please let me know about Queue priority node wth example?
    ICM Script editor 8.5

    it changes the priority of the call in ICM, default is 5. but you can change to lower value say 4,3,2 based on customer.
    i will give you 2 examples:
    1. if any priority customer call in, you do DB lookup or any other thing to carried out that the customer is priority at should be treated as earliest.
    so for priority customer you branch out the script and increase their queue priority by this node, and queue them to skill group, this will put them ahead from all the call with normal priority.
    2. when Rona happens:
    in case of customer is assigned an agent, and agent does not pick the call, RNA happens, and CVP will take back the call from agent and request requery to ICM.
    in re query request you can increase the priority of the call take it ahead from all the normal priority call.
    this will reduce customer to once again wait in queue.
    ~ Chintan
    rate all helpful posts

  • Import data from XML file into ICM script

    Hello,
    Is it possible to read data from an XML file into an ICM Admin script? If yes, using which node?
    Thanks,
    Justine.

    Hi,
    as far as i know not directy. Only Method i could think of right now is via CVP Application (Java Class, Custom Node) or IVR Script.
    To import data you only have the Database Node which does only allow sources form the Database Lookup Explorer ir passing data along to/from external scripts.
    Fabian

  • Get / Send ICM data in a CVP Script

    Hi,
    My objective is to translate a CCX Script in a Call Studio script and I'm not sure on the way to do with "Get/Send Enterprise Call Info" functionnality with Call Studio.
    1) Get data from ICM
    I'm working with an ICM script that calls a CVP Script. I want to use ICM variables like peripheral variables in Call Studio. As I read in Cisco documentation, the only way to do this is to create CVP session variable with ICM variable user.microapp.ToExtVXML.
    ex : user.microapp.ToExtVXML[0] --> application=TestApplication;param1=Call.PeripheralVariable1
    If I'm right, it means that I can only use 5 strings with a size of 210 characters to pass data from ICM to CVP.
    2) Send data to ICM
    I have to use a Subdialog Return (or a CVP Subdialog Return) object and set the parameters of this object.
    Is there another way to do like setting ICM call var during the exceution of my CVP script ?
    Same conclusion : I can only use 5 strings with a size of 210 characters to return data from CVP to ICM.
    Does it exist other possibilities to exchange data between ICM and CVP ?
    Thanks !

    Not really, any other method will be completely unreliable or very confusing to maintain, such as DB lookups within ICM.  Do you really need to pass more data around?  Your IVR is not a CRM, leave desktop lookups for the desktop.
    david

  • JDBC Lookup - Import table data from a different schema in same DB

    Hi XI Experts,
    We are facing an issue while importing a Database table into the external definition in PI 7.1.
    The details are as below:
    I have configured user 'A' in PI communication channel to access the database. But the table that I want to access is present in schema "B". Due to this, I am unable to view the table that I have to import in the list available.
    In other words, I am trying to access a table present in a different schema in the same database. Please note that my user has been given all the required permissions to access different schema. Even then, I am unable to access the table in different schema.
    Kindly provide your valuable suggestions as to how I can import table which is present in another schema but in the same Database.
    Regards,
    Subbu

    If you are using PI 7.1, then you can do JDBC Lookup to import JDBC meta data (table structures from DB). Configure a jdbc receiver communication channel where you specify username and password which has permission to access schema A and Schema B of database. Specify database name in the connection string. Then you might have access to import both schema.
    Please refer these links
    SAP PI 7.1 Mapping Enhancements Series: Graphical Support for JDBC and RFC Lookups
    How to use JDBC Lookup in PI 7.1 ?

  • Error while configuring kodo to lookup a datasource

    We had a working application using EEPersistenceManagerFactory
    I changed the kodo.properties to lookup a non XA JDBC datasource.
    After that the application is working fine (it creates
    ,updates,deletes,finds record in the DB)
    but SystemOut.log has the following error for every operation
    We are using Kodo 2.5.0, Websphere 5.0 and Oracle 8
    How can we avoid getting this error ?.
    We tried to find any property on the Websphere datasource which can be
    altered to avoid this error but no luck.
    Thanks
    Paresh
    [10/7/03 15:30:45:467 IST] 3d8b2d1a MCWrapper E J2CA0081E: Method
    destroy failed while trying to execute method destroy on ManagedConnection
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl@437f6d23 from resource
    <null>. Caught exception: com.ibm.ws.exception.WsException: DSRA0080E: An
    exception was received by the Data Store Adapter. See original exception
    message: Cannot call 'cleanup' on a ManagedConnection while it is still in
    a transaction..
         at
    com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:222)
         at
    com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:172)
         at
    com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException(AdapterUtil.java:182)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanupTransactions(WSRdbManagedConnectionImpl.java:1826)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.destroy(WSRdbManagedConnectionImpl.java:1389)
         at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1032)
         at
    com.ibm.ejs.j2c.poolmanager.FreePool.returnToFreePool(FreePool.java:259)
         at com.ibm.ejs.j2c.poolmanager.PoolManager.release(PoolManager.java:777)
         at com.ibm.ejs.j2c.MCWrapper.releaseToPoolManager(MCWrapper.java:1304)
         at
    com.ibm.ejs.j2c.ConnectionEventListener.connectionClosed(ConnectionEventListener.java:195)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processConnectionClosedEvent(WSRdbManagedConnectionImpl.java:843)
         at
    com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.closeWrapper(WSJdbcConnection.java:569)
         at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:132)
         at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.close(SQLExecutionManagerImpl.java:814)
         at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.release(JDBCStoreManager.java(Inlined
    Compiled Code))
         at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManager.java(Compiled
    Code))
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadFields(StateManagerImpl.java(Compiled
    Code))
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.preSerialize(StateManagerImpl.java:784)
         at com.paresh.core.vo.Release.jdoPreSerialize(Release.java)
         at com.paresh.core.vo.Release.writeObject(Release.java)
         at java.lang.reflect.Method.invoke(Native Method)
         at
    com.ibm.rmi.io.IIOPOutputStream.invokeObjectWriter(IIOPOutputStream.java:703)
         at com.ibm.rmi.io.IIOPOutputStream.outputObject(IIOPOutputStream.java:671)
         at
    com.ibm.rmi.io.IIOPOutputStream.simpleWriteObject(IIOPOutputStream.java:146)
         at
    com.ibm.rmi.io.ValueHandlerImpl.writeValueInternal(ValueHandlerImpl.java:217)
         at com.ibm.rmi.io.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:144)
         at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1590)
         at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1107)
         at
    com.paresh.core.interfaces._EJSRemoteStatelessValidation_da16513c_Tie.findCorrectionAction(_EJSRemoteStatelessValidation_da16513c_Tie.java:309)
         at
    com.paresh.core.interfaces._EJSRemoteStatelessValidation_da16513c_Tie._invoke(_EJSRemoteStatelessValidation_da16513c_Tie.java:104)
         at
    com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:582)
         at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:437)
         at com.ibm.rmi.iiop.ORB.process(ORB.java:320)
         at com.ibm.CORBA.iiop.ORB.process(ORB.java:1544)
         at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2063)
         at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:63)
         at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:95)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:592)
    kodo.properties
    com.solarmetric.kodo.LicenseKey=
    #com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=java:/TransactionManager
    com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=TransactionFactory
    TransactionManagerMethod=com.ibm.ejs.jts.jta.TransactionManagerFactory.getTransactionManager
    #com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.InvocationManagedRuntime
    com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.AutomaticManagedRuntime
    #javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.ee.EEPersistenceManagerFactory
    javax.jdo.option.ConnectionFactoryName=ds/kodo/DataSource1
    javax.jdo.option.Optimistic=true
    javax.jdo.option.RetainValues=true
    javax.jdo.option.NontransactionalRead=true
    #com.solarmetric.kodo.DataCacheClass=com.solarmetric.kodo.runtime.datacache.plugins.CacheImpl
    # Changing these to a non-zero value will dramatically increase
    # performance, but will cause in-memory databases such as Hypersonic
    # SQL to never exit when your main() method exits, as the pooled
    # connections in the in-memory database will cause a daemon thread to
    # remain running.
    javax.jdo.option.MinPool=5
    javax.jdo.option.MaxPool=10

    We do have a makeTransientAll() before the object returns from Session
    Bean.
    We also tried the JCA path
    After installing the JCA RAR and doing a lookup for
    PersistenceManagetFactory the same code is not throwing any exception.
    The exception is thrown only if datasource is used.
    Thanks
    Paresh
    Marc Prud'hommeaux wrote:
    Paresh-
    It looks like you are returning a collection of instances from an EJB,
    which will cause them to be serialized. The serialization is happening
    outside the context of a transaction, and Kodo needs to obtain a
    connection. Websphere seems to not like that.
    You have a few options:
    1. Call makeTransientAll() on all the instances before you return them
    from your bean methods
    2. Manually instantiate all the fields yourself before sending them
    back. You could use a bogus ObjectOutputStream to do this.
    3. In 3.0, you can use the new detach() API to detach the instances
    before sending them back to the client.
    In article <[email protected]>, Paresh wrote:
    We had a working application using EEPersistenceManagerFactory
    I changed the kodo.properties to lookup a non XA JDBC datasource.
    After that the application is working fine (it creates
    ,updates,deletes,finds record in the DB)
    but SystemOut.log has the following error for every operation
    We are using Kodo 2.5.0, Websphere 5.0 and Oracle 8
    How can we avoid getting this error ?.
    We tried to find any property on the Websphere datasource which can be
    altered to avoid this error but no luck.
    Thanks
    Paresh
    [10/7/03 15:30:45:467 IST] 3d8b2d1a MCWrapper E J2CA0081E: Method
    destroy failed while trying to execute method destroy on ManagedConnection
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl@437f6d23 from resource
    <null>. Caught exception: com.ibm.ws.exception.WsException: DSRA0080E: An
    exception was received by the Data Store Adapter. See original exception
    message: Cannot call 'cleanup' on a ManagedConnection while it is still in
    a transaction..
         at
    com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:222)
         at
    com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:172)
         at
    com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException(AdapterUtil.java:182)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanupTransactions(WSRdbManagedConnectionImpl.java:1826)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.destroy(WSRdbManagedConnectionImpl.java:1389)
         at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1032)
         at
    com.ibm.ejs.j2c.poolmanager.FreePool.returnToFreePool(FreePool.java:259)
         at com.ibm.ejs.j2c.poolmanager.PoolManager.release(PoolManager.java:777)
         at com.ibm.ejs.j2c.MCWrapper.releaseToPoolManager(MCWrapper.java:1304)
         at
    com.ibm.ejs.j2c.ConnectionEventListener.connectionClosed(ConnectionEventListener.java:195)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processConnectionClosedEvent(WSRdbManagedConnectionImpl.java:843)
         at
    com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.closeWrapper(WSJdbcConnection.java:569)
         at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:132)
         at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.close(SQLExecutionManagerImpl.java:814)
         at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.release(JDBCStoreManager.java(Inlined
    Compiled Code))
         at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManager.java(Compiled
    Code))
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadFields(StateManagerImpl.java(Compiled
    Code))
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.preSerialize(StateManagerImpl.java:784)
         at com.paresh.core.vo.Release.jdoPreSerialize(Release.java)
         at com.paresh.core.vo.Release.writeObject(Release.java)
         at java.lang.reflect.Method.invoke(Native Method)
         at
    com.ibm.rmi.io.IIOPOutputStream.invokeObjectWriter(IIOPOutputStream.java:703)
         at com.ibm.rmi.io.IIOPOutputStream.outputObject(IIOPOutputStream.java:671)
         at
    com.ibm.rmi.io.IIOPOutputStream.simpleWriteObject(IIOPOutputStream.java:146)
         at
    com.ibm.rmi.io.ValueHandlerImpl.writeValueInternal(ValueHandlerImpl.java:217)
         at com.ibm.rmi.io.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:144)
         at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1590)
         at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1107)
         at
    com.paresh.core.interfaces._EJSRemoteStatelessValidation_da16513c_Tie.findCorrectionAction(_EJSRemoteStatelessValidation_da16513c_Tie.java:309)
         at
    com.paresh.core.interfaces._EJSRemoteStatelessValidation_da16513c_Tie._invoke(_EJSRemoteStatelessValidation_da16513c_Tie.java:104)
         at
    com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:582)
         at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:437)
         at com.ibm.rmi.iiop.ORB.process(ORB.java:320)
         at com.ibm.CORBA.iiop.ORB.process(ORB.java:1544)
         at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2063)
         at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:63)
         at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:95)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:592)
    kodo.properties
    com.solarmetric.kodo.LicenseKey=
    #com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=java:/TransactionManager
    >>
    >
    com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=TransactionFactory
    >>
    >
    TransactionManagerMethod=com.ibm.ejs.jts.jta.TransactionManagerFactory.getTransactionManager
    >>
    >>
    >
    #com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.InvocationManagedRuntime
    >>
    >
    com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.AutomaticManagedRuntime
    >>
    >>
    >
    #javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
    >>
    >
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.ee.EEPersistenceManagerFactory
    >>
    javax.jdo.option.ConnectionFactoryName=ds/kodo/DataSource1
    javax.jdo.option.Optimistic=true
    javax.jdo.option.RetainValues=true
    javax.jdo.option.NontransactionalRead=true
    #com.solarmetric.kodo.DataCacheClass=com.solarmetric.kodo.runtime.datacache.plugins.CacheImpl
    >>
    >>
    # Changing these to a non-zero value will dramatically increase
    # performance, but will cause in-memory databases such as Hypersonic
    # SQL to never exit when your main() method exits, as the pooled
    # connections in the in-memory database will cause a daemon thread to
    # remain running.
    javax.jdo.option.MinPool=5
    javax.jdo.option.MaxPool=10
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Error while deleting a Lookup Taxonomy field

    Hi Experts,
    I have created a main table Products and there is a field Manufacturer which is a Lookup Taxonomy field. When I try to delete the field there comes an error stating 'The field cannot be deleted until references to it in Family Hierarchy are removed'. But in data manager there exists no data for that table. Even in the other mode I have checked whether there exists any relationships. There seems to be nothing, still I can't able to delete that field. Please help!!!
    Thanks in Advance,
    Thamizharasi N

    Hi Thamizharasi,
    I feel you have defined a Family table in your repository. This family table is referring to this taxonomy field. To resolve this, try below steps:
    1. Open MDM Console and login to the repository.
    2. Once connected to the repository, click on the repository name, Search for the "Families" table in the Tables Sub-window on right hand side, and check the family field.
    3. If the family field is manufacturer Lookup taxonomy field, then delete the family table.
    4. Delete the lookup taxonomy field from the main table.
    Hope this will solve your issue. Revert with the result..
    - Shiv

Maybe you are looking for