« Back to General Discussion - All Versions

ReqICMLabel Issue after CVP 8.0 upgrade

Combination View Flat View Tree View
Threads [ Previous | Next ]
Showing 1 - 20 of 27 results.
of 2
Our environment is comprehensive, we were able to use ReqICMLabel in our 7.5 cvp, now we upgraded to CVP 8.0. After the upgrade the ReqICMLabel is not working the way it was working in 7.5. Does anyone know how to make ReqICMLabel work  in CVP 8.0 comprehensive environment?

Thanks in advance.
 

There are some other good threads on the use of ReqICMLabel amongst these forums, but the long and short is that in CVP 7, ReqICMLabel sent "NA" for the Dialed Number to ICM. In 8.x, it sends the original DNIS for the call. This makes it even less friendly to use, IMHO, but it is what it is.

One thing to be aware of, though, is that for UCM-originated calls, your DNIS is likely to be null, which will throw an exception.

The last project I worked on, I used the ReqICMLabel to get real-time data and environment variables from ICM (and in some cases to set variables), which I think is the real power of the function, versus doing the back and forth nonsense with ICM. After discovering the changes I just described and the limitation for UCM-originated calls, I ended up deconstructing the Class from Cisco and building a new, custom one. In the process I actually found an error in the compiled Class - I'd need to check my notes to recall what it was, but I digress...

Bottom line - although it isn't supported, technically the use of ReqICMLabel in CVP Comprehensive isn't either, so I might consider taking a look at the Class and building a custom element that suits your needs in a Comprehensive environment.

- Bill

Thanks Bill.

Is there any way I can pass DNIS for UCM-originated calls? Any settings can be done for UCM-originated calls?
 
All I am trying to set call types by calling ReqICMLabel  node.
 
Can I set call type using custom class?

Here is the log for my application, bolded line shows the exception error.

xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,newcall,
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,ani,NA
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,areacode,NA
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,exchange,NA
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,dnis,NA
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,uui,NA
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,iidigits,NA
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,SQL_QUERY1=SELECT cdsidnametelephoneNumberbldgbldgnamefordNTDomainbldgabbremailroomnumber FROM dbo.cds_download WHERE (cdsid | ?)
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,unit_code=PKS
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,SQL_QUERY=SELECT cdsidnametelephoneNumberbldgbldgnamefordNTDomainbldgabbremailroomnumber FROM dbo.cds_download WHERE (DTMF | ?)
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,callid=0031BA459359B1F75867070513565E6A
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,icm_key1=10279
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,env_code=PROD
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,INPUT_MIN=1
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,CONNECTION_NAME=MSSQL
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,dnis=1062143005
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,locale=en_US
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,ServerName=xxxxxxxxxxx
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,ani=3133230436
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,INPUT_MAX=9
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,group_code=SYS
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,icm_key2=150207
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,Subdialog Start_01,enter,
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.487,Subdialog Start_01,exit,done
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.487,Application_Modifier,enter,
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.487,Application_Modifier,exit,done
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.487,String Function_03,enter,
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.503,String Function_03,custom,StringFunction,REPLACE arg1(SELECT cdsidnametelephoneNumberbldgbldgnamefordNTDomainbldgabbremailroomnumber FROM dbo.cds_download WHERE (DTMF | ?)) arg2(|) arg3(=) => SELECT cdsidnametelephoneNumberbldgbldgnamefordNTDomainbldgabbremailroomnumber FROM dbo.cds_download WHERE (DTMF = ?)
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.503,String Function_03,exit,done
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.503,Audio_02,enter,
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.507,Audio_02,interaction,audio_group,initial_audio_group
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.503,Audio_02,exit,done
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.503,Decision_10,enter,
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.503,Decision_10,exit,ANI_FOUND
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.503,ReqICMLabel_ANI_Found,enter,
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.503,ReqICMLabel_ANI_Found,element,error,A custom element encountered an exception.
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.503,ReqICMLabel_ANI_Found,exit,
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.503,,element,error,
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.507,ReqICMLabel_ANI_Found,interaction,audio_group,initial_audio_group
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:11.112,,end,how,hangup
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:11.112,,end,result,normal
xxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:11.112,,end,duration,7

Is there any way I can pass DNIS for UCM-originated calls?

If integrated with ICM, just pass it down. I guess it’s a standalone?

Regards,
Geoff

I didn't find one - I took the route of decompiling and recompiling the Class file for the ReqICMLabel element so that I could specify a DNIS value, and also have it always contain a default value...

- Bill

Geoff,

I'm passing DNIS from ICM,

19.106.73.121.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,dnis=1062143005

it's comprehensive.

You are clearly not doing it specifically or it would show in the trace. Set ToExternalVXML[1] = “mydnis={Dialed Number from ICM}”

Regards,
Geoff
--------------------------------------------------------------------
Geoff Thompson Unified Contact Center Practice
Email: geoff@hp.com HP Technology Consulting
Phone: +1.408.447.4297 Hewlett-Packard Company
Mobile: +1.408.204.5297 19111 Pruneridge Ave, Cupertino, CA 95014
____________________________________________________________________

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Tuesday, April 03, 2012 2:37 PM
To: cdicuser@developer.cisco.com
Subject: New Message from Vivek Vadivel in Customer Voice Portal (CVP) - General Discussion - All Versions: RE: ReqICMLabel Issue after CVP 8.0 upgrade

Vivek Vadivel has created a new message in the forum "General Discussion - All Versions":

--------------------------------------------------------------
Geoff,

I'm passing DNIS from ICM,

xxxxxxxxxxx.1333483924472.30662.PHONE_KEY_SEARCH_dev,04/03/2012 16:12:04.472,,start,parameter,dnis=1062143005

it's comprehensive.
--
To respond to this post, please click the following link:

<http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/5402542>

or simply reply to this email.

The problem is the ReqICMLabel element is look at the call info "dins" field - the field shown in the 5th line of your log above, which unfortunately always gets passed as "NA" for UCM-originated calls.

This is one of the things they changed or "broke", in my opinion, with 8.x - when you look at the code, there is actually a check to see if the "dins" value is "NA" or "na" or null, etc. - if it is, then the element throws an exception. This is clearly a change from the previous versions.

- Bill

Hi Bill,

Where do I get the ReqICMLabel class code?

Thanks.

Try setting the override values "_dnis" and "_ani" in the ToExtVXML variables in the ICM script to force particular values into dnis and ani.

Thanks Paul. That worked!!
Now I am not getting ReqICMLabel exception error for UCM-originated calls.

Thanks a lot guys emoticon

Now that might have saved me a lot of work a few months ago, Paul! ;-) Actually, I needed the experience of breaking out of the standard element, but that is very good information to know, as it is certainly news to me.

Does that work for all of the standard fields (areacode, exchange, uui, etc.) where you just precede them with an underscore?

- Bill

>>> Try setting the override values "_dnis" and "_ani" in the ToExtVXML variables in the ICM script to force particular values into dnis and ani.

I’ve been using another way for years, but that’s an interesting way of doing it. Thanks.

Regards,
Geoff

Bill,
 
No, unfortunately it only applies to dnis and ani fields.   This was implemented specifically to address the problem of not getting actual caller DNIS and ANI across to Studio applications called in pre-8.x comprehensive model.  The config guide does give them a brief mention but it doesn't look clear enough as to how they're used.
 
Paul

Hi Bill, What are you using ReqIcmLabel for? Students are always asking if anyone uses it in production, and for what purpose? Thanks, Janine On 4/3/2012 5:35 PM, Cisco Developer Community Forums wrote: ... -- Janine Graves

Hi Paul,
After I did the way you said
>>> Try setting the override values "_dnis" and "_ani" in the ToExtVXML variables in the ICM script to force particular values into dnis and ani.

I am not getting ReqICMLabel exception error but do you know why element is erroring out? This error happens for UCM generated calls only.

xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:37.922,ReqICMLabel_ANI_Found,enter,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,callvar1,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,callvar2,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,callvar3,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,callvar4,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,callvar5,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,callvar6,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,callvar7,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,callvar8,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,callvar9,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,callvar10,PROD
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,FromExtVXML0,C=CDSID|ani_found
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,FromExtVXML1,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,FromExtVXML2,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,FromExtVXML3,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,data,caller_input,
xxxxxxxxx.1333504117875.31670.PHONE_KEY_SEARCH_dev,04/03/2012 21:48:38.422,ReqICMLabel_ANI_Found,exit,error
Above seems to be it is not geting DNIS for doDecision.

I should get something like this... below is not for UCM generated call

xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,custom,doDecision,106409000119345
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvar1,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvar2,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvar3,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvar4,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvar5,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvar6,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvar7,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvar8,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvar9,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvar10,PROD
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,FromExtVXML0,C=CDSID|ani_found
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,FromExtVXML1,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,FromExtVXML2,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,FromExtVXML3,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,caller_input,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,result,106409000119345
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvarReturn1,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvarReturn2,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvarReturn3,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvarReturn4,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvarReturn5,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvarReturn6,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvarReturn7,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvarReturn8,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvarReturn9,
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,data,callvarReturn10,PROD
xxxxxxxxx.1333503685239.31663.PHONE_KEY_SEARCH_dev,04/03/2012 21:41:25.785,ReqICMLabel_ANI_Found,exit,done
Thanks.
 

Paul,

Just ignore my last question. I found the solution. All I had to create a valid DNIS number (say 5555555555) and assigned to _dnis in ICM then ReqICMLabel works for UCM-generated calls and CVP calls.

Thanks emoticon

Hi Bill, What are you using ReqIcmLabel for? Students are always asking if anyone uses it in production, and for what purpose? Thanks, Janine On 4/3/2012 5:35 PM, Cisco Developer Community Forums wrote: ... -- Janine Graves

 
Hi Janine!
 
I've used the element for a few things, but here's a couple good examples:
 
To check real-time information while running a "queue" application in CVP, for example, checking if there are still Agents logged in, is the emergency flag set, etc. I don't like the process of chopping up my queue applications into chunks so that they end up being scripted in ICM just like microapps would. For some cases, this is ok (like menus and such), but when it comes to queues, I want an app that will run and do the environment checks while it is running.
 
Another time I used it within an "Admin" application. This app provided multiple functions, so rather than having it run and collect some data, then go back to ICM to figure out which function had been chosen, etc., I used the ReqICMLabel for the Emergency and Meeting flag functions. This allowed me to first do a check to see what the current value was, and then do a subsequent "set" to change the value. This is where the modification to specify the DNIS came in, because I had a separate ICM script handling the requests and checking/setting the Global User Variables I had created.
 
I think there are probably plenty more uses for it, and I'll provide more examples as I think of them!
 
 - Bill

>>>I don't like the process of chopping up my queue applications into chunks so that they end up being scripted in ICM just like microapps would.

I am totally the opposite. I want all queuing under control of ICM using microapps. I only go to CVP VXML for things I cannot do with microapps. I think microapps are totally underrated.

Regards,
Geoff

I do the same thing, anything I cannot do in ICM only I do in CVP VXML.
While I am in VXML I need to set few call types for reporting that's why I am using ReqICMLabel and go back to VXML, finally use Subdialog return to send vxml data to ICM. In ICM I use the vxml data, queuing, etc.

Showing 1 - 20 of 27 results.
of 2