cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1450
Views
15
Helpful
8
Replies

Problem with Call Custom Variables (_ccdrVar1...10)

dmitriy.smirnov
Level 1
Level 1

Hi,

I make simple script:

var

s1 - session

a - string = "ABCDEF"

Accept

s1=Get Contact Info

Set Session Info (s1)

"_ccdrVar1" = "a"

...

"_ccdrVar10" = "a"

Delay 1 sec

Terminate

I make some test calls, next i select records from database 'ContactCallDetail', but filds 'customVariable1' ... 'customVariable10' are emty.

what is the my mistake?

I use ipcx 4.0.4sr1.

thank you,

Dmitry

1 Accepted Solution

Accepted Solutions

sferland
Level 1
Level 1

Dmitry,

Starting in version 4, you now need to use the "Set Enterprise Call Info" step in order to populate customVariable.

In the step, go to the "General" tab and click "Add...", then fill all the fields.

In the field "Name", this is where you select the customVariable. They`re now called "Call.PeripheralVariable1 to 10".

Please rate helpful post.

Steven

View solution in original post

8 Replies 8

sferland
Level 1
Level 1

Dmitry,

Starting in version 4, you now need to use the "Set Enterprise Call Info" step in order to populate customVariable.

In the step, go to the "General" tab and click "Add...", then fill all the fields.

In the field "Name", this is where you select the customVariable. They`re now called "Call.PeripheralVariable1 to 10".

Please rate helpful post.

Steven

thank you very much, Steven.

Clifford McGlamry
Spotlight
Spotlight

Actually, you followed the directions. The problem is that the directions are wrong.

Use the SET ENTERPRISE INFO function. On the general tab, you will see you can set the values for PeripheralVariable1 - 10. These map to the CustomVariable1 - 10 fields in the database. This was a change that started in IPCC version 4.

I Clifford,

I hope you can answer to me after three years!!!

It is true: the PeripheralVariable1..10 that I can find in the "Set Enterprise INFO", map to the customVariable1..10 fields in ContactCallDetail table.

But they map the ICME CallVariable1..10 too!!

If the call return to ICM I can see the CallVariable values changed, as in previous version of IP IVR.

Actually, in the previous version, the CallVariables and the CustomVariables were two different set of variables, one only in IP IVR database and the other in th HDS database: now, it seems, this is no longer true??

I should need to set different information on IP IVR and on ICM: it is possible now?

I've got ICM 7.2.7 with IP IVR 5.0(2) and CUCM 6.1.

Any help is appreciated,

thanks a lot,

Andrea

It should still work as before. CRS is the base product for IPIVR, QM (now deprecated) and UCCX.

You make the Set Enterprise Data in IPIVR and you should see those Call Variables filled in when the call comes back under ICM script control. Are you not seeing that (easiest thing is to do a SQL query on the Route_Call_Detail table).

Regards,

Geoff

I Geoff,

but doing "Set Enterprise Call Info" I'am setting either the customVariableX and, when the call comes back to ICM, the PeripheralVariableX.

As said Dmitri in this post, it seems that following steps in a IP IVR script:

var

s1 - session

Accept

s1=Get Contact Info

Set Session Info (s1)

    "_ccdrVar1" = "Test1"

    ...

    "_ccdrVar10" = "Test10"

Delay 1 sec

Terminate

not work properly: I want to set only the customVariableX fields in the ContactCallDetail IP IVR table and not also VariableX in the t_Termination_Call_Detail HDS table (when the call comes back to ICM control).

I.E, with the SetSessionInfo(_ccdrVar1="Test1") step the customVariable1 field in ContactCallDetail IP IVR table remains to null value.

It seems that the only way to modify the customVariableX is by the "Set Enterprise Call Info" step, tab "General", and finally choosing "-- Call.PeripheralVariableX --": but this also changes the ICM PeripheralVariableX and I do not want this to happen.

Any idea if there is another way to set only the customVariableX?

Thanks a lot for your interest,

Andrea

Hi Andrea,

I sort of understand, but wonder why. In my mind, there are three types of variables:

1. Application variables valid for the life of the CRS application. CRS variables, custom Java variables, all that good stuff required to make the application sing and dance.

2. Database variables written to / read from a database through the database step. Somewhat more permanent information about what happened, or a source of information for the application to sing and dance really well.

3. Call variables, set in the CRS application and carried to the desktop (ICM Peripheral Variables).

The only thing missing is to make session variables to pass between CRS applications. Is that what you want to do?

Regards,

Geoff

I Geoff,

perhaps the mismatching in our information borns in the fact that I worked with IP IVR 3.x.

In this version, I'am sure, we had 5 customVariables that we can set by the SetSessionInfo whit arguments like "_ccdrVar1" = "Test1" as I said before.

In this way, the value "Test1" gone only in IP IVR ContactCallDetail record (infact the prefix ccdr means Contact Call Detail Record).

Nothing was stored in ICM TCD record.

To set the ICM call variable we must to use the step SetEnterpriseCallData (I'am not sure 100% of this step name); in this way we found the values only in ICM TCD records.

So, we had two distinct steps to set the customVariable on IP IVR and PeripheralVariable in ICM.

With the newest version of IP IVR (from 4.0) we have 10 customVariables: I wonder if now these 10 IP IVR variables go to map the 10 ICM PeripheralVariables (when ICM is present).

It seems that by the unic step SetEnterpriseCallData we can set either customVariable on IP IVR and PeripheralVariable on ICM.

This would explain the increment in the number of customVariables on IP IVR from 5 to 10.

Can make sense what I say?

Best regards,

Andrea