cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1366
Views
0
Helpful
5
Replies

Get digit string failing to extract value from send digit string

harresh123
Level 1
Level 1

I used send digit string under successful branch of place call in my original script. In the second script that i use to keep the call alive until an agent answers, I set up a get digit string to collect the priority tied with the call in the original script. The expectation is that the send digit string step plays out the priority as dtmf key press to script 2. However i am having a brain fart here as to why the get digit string in script 2 is timing out without picking up the priority value. For get digit string i used a 5 sec silence as prompt and initial timeout set to 5. I could see that the send digit string is executing properly as it goes to the next step upon call answered by an agent.

1 Accepted Solution

Accepted Solutions

Anthony Holloway
Cisco Employee
Cisco Employee

First off, you can achieve a more robust solution by using enterprise data or session data to pass info between the two scripts. Just be sure to act on the correct Contact in each.

Second, is it possible you just need to adjust your digit input length, or alternatively also play out a # after the digit?

I suppose it's also entirely possible you have a DTMF issue, which would involve CUCM as well as UCCX.

Try using my method below, to determine what's happening, and if DTMF is being passed or not.

 

https://community.cisco.com/t5/collaboration-voice-and-video/uccx-viewing-executed-script-steps-via-cli/ta-p/3162231

 

EDIT: I didn't see you had an attachment.  You can ignore the input length and # suggestions.  However, it might be a race condition.  Try adding a small 1 second delay in Script 1, before Sending DTMF.

 

But I still recommend just using Session or Enterprise data to pass info, because you can send more data, and not just numbers.

View solution in original post

5 Replies 5

Anthony Holloway
Cisco Employee
Cisco Employee

First off, you can achieve a more robust solution by using enterprise data or session data to pass info between the two scripts. Just be sure to act on the correct Contact in each.

Second, is it possible you just need to adjust your digit input length, or alternatively also play out a # after the digit?

I suppose it's also entirely possible you have a DTMF issue, which would involve CUCM as well as UCCX.

Try using my method below, to determine what's happening, and if DTMF is being passed or not.

 

https://community.cisco.com/t5/collaboration-voice-and-video/uccx-viewing-executed-script-steps-via-cli/ta-p/3162231

 

EDIT: I didn't see you had an attachment.  You can ignore the input length and # suggestions.  However, it might be a race condition.  Try adding a small 1 second delay in Script 1, before Sending DTMF.

 

But I still recommend just using Session or Enterprise data to pass info, because you can send more data, and not just numbers.

Thanks for the inputs Anthony. I did have session data as another option on my horizon. I am using Place call step and that lets me use the recording stored in the original script to playback to the agent. However, my understanding is that introducing session data with Place call would still tie me to send digit string and get digit string  which would then be used to pass & collect session mapping ID to grab a reference in the second script. I could switch to call-redirect which then requires passing the recording between the scripts by storing and retrieving from session object which probably is my best bet if i couldn't figure out the DTMF piece. correct me if i am wrong. I'll see if Enterprise data satisfies my requirement. 

Recall that every Contact gets a Session created for them automatically, and is retrieved by using the Get Contact Info Step, and storing the Session in a Session variable. The Contact in Script 1 is the Outbound one you created, and in Script 2, it's just your typical --Triggering Contact--.

Therefore, you would not need to outpulse DTMF to pass the mapping ID.

Enterprise Data works exactly the same, and in some ways, is a little easier, since you don't need the extra step to store a reference to the Session, and the extra variable to hold it. But really they are almost the same.

Thanks for pointing in right direction Anthony. I was able to achieve what i wanted using all three methods. I finally stuck with session data as i found it more robust.

Awesome! I'm happy to hear you did it!