cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4905
Views
35
Helpful
3
Replies

Pass UCCX Session Variables to Outbound UCCX Script

dagraham
Level 1
Level 1

I am running UCCX Premium version 8.5.1.SU3. We have several scripts that we are passing variables between these scritps with no issues. My customer now wants to add the call back feature for customers waiting in queue. I have the call back working as follows script 1 is the origianl called script, customer selects to recieve a call back, we get the number, terminate the call, call script 2 wait for an agent to answer, then play the prompt from script 1 and redirect the call to the caller.

If the caller in script 1 doesn't choose to recieve a call back and holds, we have the orginal caller id that we are using for a database dip for a screen pop on the agent desktop for entering a request with the customer information pre-populated.     

Here is the issue that I can't seem to get working correctly. I want to pass the original caller id in script 1 to script 2(Callback Script) and do the screen pop on the agent desktop.

From the testing that I am doing the Place Call Step to script 2 (CallBack Script) is creating a new session id and I am unable to retrieve the session variables from script 1, since script 2 doesn't see the orginal caller id and all calls are coming in from CTI ports, I am unable to do the screen pops on the callbacks.

Is there a way to do this with out resorting to an external source, ie DB or Web Service?

Thanks

Danny

2 Accepted Solutions

Accepted Solutions

Anthony Holloway
Cisco Employee
Cisco Employee

You're going to kick yourself when you realize how easy this is...

The simple and easy approach...

In Script 2, under the Accept step, you setup a Get Digit String to expect a phone number from Script 1.

In Script 1, under the Successful branch of the Place Call Step, you setup the Send Digit String step to play out the phone number as DTMF key presses to Script 2, which, because of the Get Digit String, will be waiting for it.

Does that make sense?

The complex and hard approach (it's not *that* hard)...

If you were storing data in a Session object in script 1 using the Set Session Info step, and you wanted to pass it to Script 2, then you would need to "map" the Caller's session object to a unique string of digits, such as their caller ID***, using the Session Mapping step, and then use the same trick above to pass the Session mapping (the string of digits you sent) to Script 2.  Then, in Script 2, after you retrieve the Session mapping (the string of digits you sent), you use the Get Session step to retrieve a reference to the Caller's session.  This will not be the new Session you spoke of earlier, but the original session of the caller.  Lastly, you use the Get Session Info step to read out the data.

***Sometimes you cannot trust that the caller ID is unique, because you are not garanteed to receive it, plus your customers might be a business which masks all outbound calls with the billing telephone number.

Anthony Holloway

Please use the star ratings to help drive great content to the top of searches.

View solution in original post

I don't see the Send Digits String used very often.  Additionally, say you were going to transfer a call to another system, you could use the Call Consult Transfer step, which allows you to "Send Digit String" right inside the step, prior to completing the transfer.  This is a way to pass data, albeit simple data, to a third party system, when Session Objects, Call Context Variables, Document Repository, or DB's are not available.

Have fun with it and explore new options.  As always, there's more than one way to script most solutions.

Anthony Holloway

Please use the star ratings to help drive great content to the top of searches.

View solution in original post

3 Replies 3

Anthony Holloway
Cisco Employee
Cisco Employee

You're going to kick yourself when you realize how easy this is...

The simple and easy approach...

In Script 2, under the Accept step, you setup a Get Digit String to expect a phone number from Script 1.

In Script 1, under the Successful branch of the Place Call Step, you setup the Send Digit String step to play out the phone number as DTMF key presses to Script 2, which, because of the Get Digit String, will be waiting for it.

Does that make sense?

The complex and hard approach (it's not *that* hard)...

If you were storing data in a Session object in script 1 using the Set Session Info step, and you wanted to pass it to Script 2, then you would need to "map" the Caller's session object to a unique string of digits, such as their caller ID***, using the Session Mapping step, and then use the same trick above to pass the Session mapping (the string of digits you sent) to Script 2.  Then, in Script 2, after you retrieve the Session mapping (the string of digits you sent), you use the Get Session step to retrieve a reference to the Caller's session.  This will not be the new Session you spoke of earlier, but the original session of the caller.  Lastly, you use the Get Session Info step to read out the data.

***Sometimes you cannot trust that the caller ID is unique, because you are not garanteed to receive it, plus your customers might be a business which masks all outbound calls with the billing telephone number.

Anthony Holloway

Please use the star ratings to help drive great content to the top of searches.

Thanks Anthony, I am kicking myself!!!! I could not for the life of me figure out how to tie the 2 calls together, the SendDigits was what I was missing. As always a great help!!!

I don't see the Send Digits String used very often.  Additionally, say you were going to transfer a call to another system, you could use the Call Consult Transfer step, which allows you to "Send Digit String" right inside the step, prior to completing the transfer.  This is a way to pass data, albeit simple data, to a third party system, when Session Objects, Call Context Variables, Document Repository, or DB's are not available.

Have fun with it and explore new options.  As always, there's more than one way to script most solutions.

Anthony Holloway

Please use the star ratings to help drive great content to the top of searches.