cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
3434
Views
10
Helpful
16
Replies

UCCX 11.5 Session data issue

glennmartindell
Level 1
Level 1

Hello,

 

I've seen a number of questions related to this but thought I would try to get some clarification.   I have a script that front ends all my other scripts and does database dips to pull data from a couple of databases.   I store this data into variables within the script.   I then use a Get Session step to create a new session and use a Set Session Info step to store my data from script variables into the session and do a call redirect to my next app/script

 

My 2nd script does a Get Session step (not new) and then a Get Session Info to read my data from the session back into my script variables.   This is working fine and my data is consistent (as far as I can tell).  The problem is that for some calls, I transfer to yet a 3rd script depending on what options the caller pressed or if they have been in queue for too long.   In my 3rd script, again I use a Get Session step (not new) followed by a Get Session Info step to read data from the session into script variables.   Many times, the data I read back into the 3rd script appears to be data from a different (wrong) session and my data is not what I'm expecting.

 

In each script I write my data using CPV's so I can validate and report on everything

 

I read another post where another user was experiencing similar behavior and the recommendation was to use Get and Set Call Contact steps instead of Get and Set Session steps.

 

So I have 2 questions, what is the difference between setting and getting the session info using a call contact step vs using the session steps and secondly, how and why is my session data getting mixed up with data from other calls?   I was always under the impression every call has a unique session associated with it.

 

Thanks in advance,

Glenn

16 Replies 16

My go to strategy for passing info between scripts within the same CCX cluster is to use the CM call leg ID which can be obtained as the implementation ID in CCX via the Get Contact Info step. If you are calling sub-flows, the best way to do this is to is copy the triggering contact into a Contact type variable and pass that to the sub-flow. As long as you are transferring between route points in the same CCX/CUCM cluster, the implementation ID will always be the same for that caller.

 

 

Here is what my code block locks like for session passing. WorkingContact is defined as a Contact type variable and is a parameter. If it is a direct call (via JTAPI route point), the Get Trigger Info populates WorkingContact.

 

CCX Session Passing.PNG