cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
7712
Views
21
Helpful
21
Replies

Retrieving NodeID-SessionID-SeqNum within UCCX Scripting

dmurthy74
Level 1
Level 1

Hi,

     I am working on UCCX 7.0 scripting where in I need to retrieve a unique number for the call. This unique number needs to map to the NodeID-SessionID-SeqNum of the AGent Wrap-Up Data Detail Report. I need to retrive this number in my script and write it into a custom table to be used as a primiray key in that custom table. Thus, this unique ID will link the CCDR in the standard historical reports to the custom table that I create. The custom table is being created to store some responses from the callers and will contain columns like CallID ( a unique ID), Reponse1, Response2 etc.

I tried retrieing the 'Identifier' in the GetContactInfo() step in my script assuming that this ID would be similar to the SeqNum in the NodeID-SessionID-SeqNUm of the historical reports but the 2 numbers are entirely different and hence I am unable to link the reports with the data in my custom table.

Any thoughts on how to work this through?

Thanks,
DM

1 Accepted Solution

Accepted Solutions

sferland
Level 1
Level 1

Here are the steps you need to use in order to retrieve the session identifier (SessionID).

1- Create two variables

     a) one variable of type "Session"

     b) one variable of type "long"

2- After the "Accept" step, add a "GetContactInfo" and retrieve the session with the session variable created in 1a

3- Then add a "GetSessionInfo" step and retrieve the identifier with the long variable created in 1b

4- That's it ! You got the same index as table ContactCallDetail.

Regards

Steven Ferland

View solution in original post

21 Replies 21

Aaron Harrison
VIP Alumni
VIP Alumni

Hi

I would consider inserting the response data into the 'Custom Variable' fields using a Set Enterprise Data step to simplify this setup. The data written to variables 1-10 is written directly to the 'custom variable 1-10' fields in the COntact Call Detail table in SQL.

That way the data is recorded against that call, and you would just need to worry about the relationships between tables that are already defined rather than trying to work in a new table.

Also I believe you aren't supposed to modify the CCX DB if you want to maintain supportability from Cisco.

Aaron

Please rate helpful posts..

Aaron Please remember to rate helpful posts to identify useful responses, and mark 'Answered' if appropriate!

I am not modifying the UCCX DB. I will be creating a new DB in an external SQL server that will have a table to record the reponses of the survey. Actually, here is the actual scenario.

1. Caller calls into the contact center. Gets routed to an agent.

2. At the end of the call, the agent will transfer the call to this script (Route point) that would basically do a typical IVR functionality of asking a few questions and recording the responses.

3. These responses will then be written into an external DB (on an external SQL server) such that the table will have a unique ID, somehting like a call ID.

4. At a later point, the customer wants to map these reponses to any standard report that has the same unique ID such that, they know the entire call from end-to end.

COming to using enterprise variables, using SetEnterpriseData would display this call within CAD or wouldn't it? Also, as described above, the call gets transferred to a different route point.

If you think I can still achieve the above scenario using the Call Variables, Can you please elaborate on the steps?

Thanks in advance,

DM

Hi


I've played a little with post-call surveys, and I've found that the call to the second RP for the survey gets the same node/session with an incremented seq number.

I guess one way to make this link might be to write the unique ID from the record you add external DB to a call variable in UCCX.

Set Enterprise Info is pretty straight forward, just add the step, select a variable you want to use (Custom Variable 1 in the DB shows up as 'Call.PeripheralVariable1' in the editor). Typically if you're setting a single value (i.e. a PKID or something) you would leave tokens=All and then just assign your variable.

If I recall correctly (and I may not be correct, you could verify this by monitoring the table for changes) the SQL Contact Call Detail and other tables are updated after the call, so you may not be able to retrieve the data from the HR DB to write to your external DB while the survey call is still active.

Aaron

Aaron Please remember to rate helpful posts to identify useful responses, and mark 'Answered' if appropriate!

sferland
Level 1
Level 1

Here are the steps you need to use in order to retrieve the session identifier (SessionID).

1- Create two variables

     a) one variable of type "Session"

     b) one variable of type "long"

2- After the "Accept" step, add a "GetContactInfo" and retrieve the session with the session variable created in 1a

3- Then add a "GetSessionInfo" step and retrieve the identifier with the long variable created in 1b

4- That's it ! You got the same index as table ContactCallDetail.

Regards

Steven Ferland

Thanks, It works!

Genius :-)

Aaron Please remember to rate helpful posts to identify useful responses, and mark 'Answered' if appropriate!

aalejo
Level 5
Level 5

Hi Steve

    GetssionInfo (Identifier)  step only gets the SessionID, not the entire NodeID-SessionID-sessionSeqNum.

Regards

Alex

pstaudt
Level 1
Level 1

Steve, I am trying to do the same things that dmurthy74 was doing 5 years ago.

1. Caller calls into the contact center. Gets routed to an agent.

2. At the end of the call, the agent will transfer the call to this script (Route point) that would basically do a typical IVR functionality of asking a few questions and recording the responses.

3. These responses will then be written into an external DB (on an external SQL server) such that the table will have a unique ID, something like a call ID.

4. At a later point, the customer wants to map these responses to any standard report that has the same unique ID such that, they know the entire call from end-to end.

 

So I understand the process.....

The steps that you outlined in the correct answer, are those steps in the script of the original call, or are they in the script for the survey?

I am new at scripting, so I am sorry but I need a little more details.

Thanks

Pete

Hi Pete

The session ID should be the same in the original call (i.e. call to agent) and the survey call (post agent call) if the call is transferred back to CCX. It generally has the same session ID, with a bumped sequence number.

That's what can allow you to relate the survey results to a specific agent call.

Aaron

Aaron Please remember to rate helpful posts to identify useful responses, and mark 'Answered' if appropriate!

Aaron,   Thanks.   I was able to get the session ID and sequence, how do I get other information related to the call like:

NodeID

Application Name

CSQ Name

Called ANI

Agent ID

Extension

 

Thanks

Pete

 

Hi Pete

Do you want to get this data in the CCX script?

Or when reporting later, via ODBC?

Aaron

Aaron Please remember to rate helpful posts to identify useful responses, and mark 'Answered' if appropriate!

Hello Aaron.

I'm facing the same issue. I want get this data to the CCX script. (Further I use DB Write to put this data into external database)

Thank you.

Hi Kanat, get what data?

Also, what is the issue you are facing when trying to write into an external DB?

G.

Hello!

We have two scripts in production environment. Basic CCX script, and Quality Assessment script. I'm trying to retrieve CSQ name and AgentID parametres from the session, but they become "null". I need to write CSQ Name, Agent Extension, calling number and score into an external DB. No problem with the score and calling number, but I can't get CSQ and agent ID.