VoiceGuide IVR Software Main Page
Jump to content

Variables, And "universal" Options.

Recommended Posts

Question #1 (the easy one): Is there a way to set a "universal" link in a script, so that pressing 0 will *always* take you to a specific point, regardless of your current location, without requiring that the script writer manually put a transfer-on-0 link in every block? And is there a way to

 

Question #2 (the hard one): I want to use a globally-available variable and set a number of script objects to record their inputs to that variable. How can I do that?

 

Specifically, what I have is a system that takes your phone number and records you speaking your address, then gives you a number of options of forms to choose from. It records your choice, then mails your phone number, the recording, and which form you chose to an email address.

 

The menu to choose the form is two layers deep, with more than 30 options total. I *could* have each option go to it's own new script object, and have 30 near-identical items that simply set my global variable to be what it needs to be for that specific form, then dump into the final "send the email" object.

 

I don't want to have to do that. What I want is for the menu objects to, when you choose the form, set the global result variable themselves based on your inputs.

 

How do I do that in VoiceGuide?

 

Question #3: is there a way to use $RV[previous module] as opposed to $RV[specific module name], so that I can use a single block that can be accessed from many blocks but that knows which block it came from?

Share this post


Link to post
Question #3: is there a way to use $RV[previous module] as opposed to $RV[specific module name], so that I can use a single block that can be accessed from many blocks but that knows which block it came from?

 

Never mind this third one, I found $RV_PreviousModule

Share this post


Link to post
Question #1 (the easy one): Is there a way to set a "universal" link in a script, so that pressing 0 will *always* take you to a specific point, regardless of your current location, without requiring that the script writer manually put a transfer-on-0 link in every block?

No such global path can be set at this stage. Each module has to have all paths specified within that module.

 

Question #2 (the hard one): I want to use a globally-available variable and set a number of script objects to record their inputs to that variable. How can I do that?

Global RVs can be created from any Evaluate Expression module. There is an option there to "Make it Global".

 

Also, Global RVs can be pre-defined in VG.INI. See [scripts] section, "GlobalRV" entry.

eg:

GlobalRV=[variable1]{value1}[variable2]{value2}[variable3]{value3}

 

But I don't think that you want to use a Global RV. Global RVs are essentially used for comunications between separate calls/lines.

 

Can you pleaes post your script showing 3 or 4 of the items and we can then advise how to best normalise that into a one section used for all cases.

Share this post


Link to post

When I said "globally" I didn't mean between lines or persistent, sorry - I meant "an RV that could be set by any module from this call"

 

And when I found the PreviousModule call, I simply had all the outputs from the menus feed into a single Evaluate Expression, which set the single RV I wanted by grabbing $RV_PreviousModule and $RV[$RV_PreviousModule].

 

So that one is working, actually, thanks. The ability to to get results based on the previous module meant I needed only a single Evaluate Expression block.

 

I'm still having the mail sending problem from the other thread, but that one will have to wait until I'm onsite with the machine again so I can get the logs and make the test call.

Share this post


Link to post
And when I found the PreviousModule call, I simply had all the outputs from the menus feed into a single Evaluate Expression, which set the single RV I wanted by grabbing $RV_PreviousModule and $RV[$RV_PreviousModule].

 

So that one is working, actually, thanks. The ability to to get results based on the previous module meant I needed only a single Evaluate Expression block.

Just a note that an Evaluate Expression module can also assign a value to a Result Variable of your choice. This way different Evaluate Expression modules can set the value of the same RV.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×