Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

Passing ICM peripheral variables from Agent to IVR

Hello,

I need to know if this is possible since i can't manage to make it work.

The call-flow is :

VG->CVP->ICM->Agent

While the call is in the ICM script , i saved the ICM peripheral variable 4 as the language the customer chooses at the beginning of the call.

I pass this variable to the Agent (we are using CAD 8.5) and i can see it in the Agent Layout.

What i need now is to give the Agent the ability to send the call back to any IVR menu (already managed to make that works using single step transfer)

with the ability to pass the peripheral variable 4 to script so that i can use it as the locale instaed of letting the customer chooses the language again.

Is this possible ?

Amer

Everyone's tags (1)
1 ACCEPTED SOLUTION

Accepted Solutions
Green

Passing ICM peripheral variables from Agent to IVR

You have done what is required, but perhaps you don't recognize it.

1. You should NOT use the same label on the CUCM RC as you use on the CVP RC. If you are using a proxy server, when that route pattern is sent to the proxy it will have trouble finding a CVP, because the CVP label for bootstrap will point to a gateway. Your route pattern is pointing directly at a CVP and it works. But make it easy on yourself and change it to something different - like 8222222222.

2. I always put the explicit Send To VRUs in the script. You really need to understand how these work. A Run Ext Script and a Queue to SG have implicit Send to VRUs, but make it clear and put them in.

3. Use RTTRACE on the Router and turn up tracing a bit and you will see the "Dialogs" as the two send to VRUs work. A different pattern will make it clear.

There is complexity - make sure you work through it in your head. Otherwise it will bite you later.

Regards,

Geoff

24 REPLIES

Passing ICM peripheral variables from Agent to IVR

Absolutely, the call data will be there on the transfer and any subsequent transfer.  You can check it yourself by sending the call to another agent to ensure PV4 is there.  Make sure that when the call is transfered and goes to ICM that you send PV4 to CVP using the ToExtVXML array, otherwise CVP will not know about the PV variables.

david

Passing ICM peripheral variables from Agent to IVR

David,

I am ont trying to send the PV4 to CVP , i want to use it as a locale in the ICM script , it is not working.

I used a set variable that the variable is call.user.microapp.locale = call.perpherialvariable4 but the call dropped , i did a http debug on the gateway to check the path created to play a prompt after the above set , i can see in the logs that the system assigned the locale as en-us (which is the default) so the above set variable is not working.

Any ideas?

Amer

Passing ICM peripheral variables from Agent to IVR

David ,

Here is the assigment from the script for the local to ICM peripheral variable 4

Then when the call arrived to the agent , i can see the ICM peripheral variable 4 as the value of the language (correctly)

when i use a task (single step transfer) to another script , at the begining i assign the call.user.microapp.locale to PV4 and then i try to play wav file (failure)

see below

Here is the parameters for the set language in the second script:

Can you please tell me where my configuration is wrong so it is not working ?

Amer

Passing ICM peripheral variables from Agent to IVR

Is the single step transfer is it back to a CTI RP in the same ICM the call came from?  If you send the call to another agent can you see the data?  Or check the TCD to see if the call data is there?

david

Passing ICM peripheral variables from Agent to IVR

Hello David,

1- The single step transfer used a DN that is configured as a route pattern on the CUCM , the route pattern is connected through a SIP trunk to the CVP.

2- Yes i can see the data correctly if i transfer from agent to agent.

3- i didn't check the TCD , should it make a difference.

Amer

Passing ICM peripheral variables from Agent to IVR

David was already hinting at this in his post, but that's not the right way of doing things. When that call reaches CVP, the Router has no idea that the incoming call on CVP is actually the same one that you just transferred from CUCM. For that to work you need two-stage transfer.

1) The agent should be calling a UCCE controlled CTI Route Point on CUCM

2) That DN will have a Call Type & Script containing a Send To VRU node

3) A VRU label for the CUCM Routing Client will be returned, that has a Route Pattern on CUCM pointing to the CVP Call Server, essentially doing Correlation ID routing between CUCM and CVP;

4) Call context has now been passed between to 2 Peripherals and you can now correctly get your Call Variables

So in your Network VRU Explorer you'll have a label for your CUCM Routing Client, that should be the same length as the one you have for the CVP Routing Client. Ensure that all the Routing on CUCM allows for extra Correlation ID digits being appended at the end.

Cheers,

Kris

New Member

Passing ICM peripheral variables from Agent to IVR

Hello Kris,

Am working with Amer on this.

In your case if we will do it on a two-stage transfer then we will loose the ANI of the originator. And this ANI is very important for a customer.

Regards,

Nizar

Green

Passing ICM peripheral variables from Agent to IVR

I'm not sure I would use the words "two-stage transfer" as it may be confusing you. The transfer to the route point could be a single-step transfer or a consulative transfer.

The fact is the call is initially with the CVP RC and you want to pass it through the CUCM RC and back to the CVP RC. How do we normally get a call to go between PGs with data? That's right - a translation route.

And that is what the correlation ID is doing  - a form of trans route. Otherwise we cannot tie the calls together.

Are you saying that the original ANI is lost in this scenario?

Regards,

Geoff

Passing ICM peripheral variables from Agent to IVR

Hello Geoff,

I didn't try it yet but i assumed in case of a consult transfer the ANI will be the agent extension not the callers number.

This setup is for a mobile provider so i have to use the callers number (mobile number) for the activation functions.

I was searching on the UCCE variables , i found a variable called original caller number, can we use that ? does it save the original calling number ?

About the translation route , i am not sure how exactly this will work since i never worked with it before , can you give us a detailed explanation for this and how to configure it .

Thanks

Amer

Green

Passing ICM peripheral variables from Agent to IVR

I have described this a few times here - it's your classic "warm transfer in CVP". If you search here you will find my posts.

Essentially you do one Send To VRU when the call is on CUCM to get it over to CVP, then you do a second Send To VRU to get it to the gateway so you can treat it. When the second agent gets the call, the correlation IDs have tied these calls together and the data is carried through.

I may have to test it here and see what comes through on the warm transfer.

Regards,

Geoff

Green

Passing ICM peripheral variables from Agent to IVR

I just tested this and the second agent sees the ANI of the first agent. In a standard CTIOS config, I don't see the originating ANI. I'll see if there is something I can do with other standard CTIOS fields.

Regards,

Geoff

Green

Re: Passing ICM peripheral variables from Agent to IVR

I could copy the calling line ID into PV1 in the ICM PSTN entry script and it should be carried with the call to agent 2. I'll try that tomorrow.

Regards,

Geoff

Green

Passing ICM peripheral variables from Agent to IVR

GEOFFREY THOMPSON wrote:

I could copy the calling line ID into PV1 in the ICM PSTN entry script and it should be carried with the call to agent 2. I'll try that tomorrow.

I just tested that and no problems. But when I looked carefully, the original ANI was carried through the CVP warm transfer to the second agent.

had the second agent not ready, made the first agent not ready while on the customer call, and use Transfer (single step) to the route point so the call queued on the gateway. When the second agent went ready and got the call, the ANI was there, and so (of course) was PV1.

Strange I had a different experience yesterday.

Regards,

Geoff

Passing ICM peripheral variables from Agent to IVR

The original ANI always carried through during CVP warm transfer. Do not know why it did not worked on Amer's case. Any way it's nice to hear that finally he managed to solve the issue. Also multiple SIP destination in single SIP trunk is really interesting.

Thanks and Regards,

Ashfaque

Re: Passing ICM peripheral variables from Agent to IVR

Hi Amer,

I Think Kris already described the procedure. And also have a look on the "warm transfer in CVP" described by Geoff. We used the same procedure for different telco clients and had no problem of getting all the call data (language, ani, last traversed menu etc).

Thanks and Regards,

Ashfaque

Passing ICM peripheral variables from Agent to IVR

Hello All,

First let me say thank you for the feedback from all.

None of the proposed scenarios worked (i have no idea why) but finally i managed to make it work in a avery wiered way.

Basicly what i did is only three configs :

1- I added a label on the network VRU script (type 10) pointing to the CUCM RC with the same label i configured for the CVP (bootstrap)

2- i added a new route pattern (label + !) to point to the CVP which already configured to send the label + the correlationID to the VXML gateway.

3- i created a new DN that has the CUCM as a RC

once i finished all of that i added the DN that points to the CUCM to the script and it worked , i didn't even need to do a send to VRU node and all the data from the script i hit before sending the call to the agent were available , i didn't have to reconfigure anything and the callingID didn't change when i used the single step transfer.

Thank you all and hope that you can all try this since it worked without any complexity.

Amer

Green

Passing ICM peripheral variables from Agent to IVR

You have done what is required, but perhaps you don't recognize it.

1. You should NOT use the same label on the CUCM RC as you use on the CVP RC. If you are using a proxy server, when that route pattern is sent to the proxy it will have trouble finding a CVP, because the CVP label for bootstrap will point to a gateway. Your route pattern is pointing directly at a CVP and it works. But make it easy on yourself and change it to something different - like 8222222222.

2. I always put the explicit Send To VRUs in the script. You really need to understand how these work. A Run Ext Script and a Queue to SG have implicit Send to VRUs, but make it clear and put them in.

3. Use RTTRACE on the Router and turn up tracing a bit and you will see the "Dialogs" as the two send to VRUs work. A different pattern will make it clear.

There is complexity - make sure you work through it in your head. Otherwise it will bite you later.

Regards,

Geoff

Passing ICM peripheral variables from Agent to IVR

Hello Geoff,

My scenario here don't include proxy, and my CUCM is 8.5 so i have one SIP trunk that includes two CVP servers.

As for the Send to VRU node , i am going to try to send it to Skill group since all what i have done so far is trying to play prompt wihile using the media server and locale from the previous script .

Will reply once i try it.

Thanks for the usefull information , what you send is what we call it here the bottom of it so thanks.

Amer

Green

Passing ICM peripheral variables from Agent to IVR

Amer,

Nevertheless, changing the NVRU label on the CUCM RC, then changing the route pattern to match will take you 10s. You will see that it still works and there will be a little more clarity.

I have a CUCM 8.5 here. But I am confused when you say "i have one SIP trunk that includes two CVP servers"

Normally I have 2 SIP trunks, one to each CVP. And I would have put these into a Route Group/List (Circular) and this is attached to the Route Pattern.

Can you have two destinations for a SIP trunk? I've not seen that.

Regards,

Geoff

Passing ICM peripheral variables from Agent to IVR

Hello Geoff,

Yes you can , it automaticly load balance between the values and you can have more than two if you want, check the below snapshot :

Green

Passing ICM peripheral variables from Agent to IVR

Hey, that's cool. I was looking at this very config yesterday (after upgrading from 8.0 to 8,5 SU2 and noticed the SRV check box and the IPv6 fields, but did not realize I could have two destination addresses. Thank you. +5 for you.

Regards,

Geoff

New Member

Passing ICM peripheral variables from Agent to IVR

Hello Geoff,

Actually you can have up to 16 destination addresses there, there is a "+" sign which will allow you to add more addresses.

Regards,

Nizar

Green

Passing ICM peripheral variables from Agent to IVR

Thanks - I'll have to check it out.

Regards,

Geoff

Passing ICM peripheral variables from Agent to IVR

Hello,

May i ask you again about the warm transfer.

In case the CVP is working with prepend digits (i have three sites) ?

From the Gateways (as a new call) it is easy , i gave each site a different prepend digits and based on the send to VRU i can route the call to the nearest VXML gateway (based on the prepened digits) but in my case all the three sites are connected to the same CUCM , so should i also gave the CTI route point the same criteria (different prepend digits) , is this scenario is going to work ?

Many thanks

Amer

2964
Views
20
Helpful
24
Replies