| VoiceXML 2.1 Development Guide | Home | Frameset Home |
| name | Data Type: NMTOKEN | Default: Required |
| The name attribute defines the property name, which should match up with the listing in the property documentation. | ||
| value | Data Type: CDATA | Default: Required |
| The value attribute defines the value for the property in question. Note that all time designations must have the ‘s’ or ‘ms’ suffix appended to the value: <property name=”timeout” value=”10s”/> | ||
| <?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1"> <meta name="author" content="Matthew Henry"/> <meta name="copyright" content="2005 voxeo corporation"/> <meta name="maintainer" content="YOUR_EMAIL@HERE.COM"/> <catch event="help"> <goto next="#F2"/> </catch> <form id="F1"> <field name="F_1"> <grammar type="text/gsl">[(polk salad annie)]</grammar> <!--HERE WE ENABLE ALL UNIVERSAL GRAMMARS --> <property name="universals" value="all"/> <prompt> say help here. </prompt> <filled> <prompt> this shouldnt get filled </prompt> </filled> </field> </form> <form id="F2"> <field name="F_2"> <grammar type="text/gsl">[hammertoe]</grammar> <prompt> you will note, that the universal grammars are now turned back off. </prompt> <prompt> dont believe me? try saying help again, you philistine. </prompt> <filled> <prompt> this shouldnt get filled </prompt> </filled> </field> </form> </vxml> |
| ANNOTATIONS: EXISTING POSTS |
sildev1
|
|
| The possible parents seems a bit limited here. Consider this, a field is encountered thats asks the recipient if they would prefer a male voice of a female voice. Depending on the answer we want to change the property for voice to encompass the entire application. Is this not possible? | |
MattHenry
|
|
|
Hi there, This actually isn't all that limited after all. In order to achieve this goal, we woul want an application root document present, where we set this property value. In the event that a user wanted to switch TTS voices, we would set a session variable on the server side that would then dynamically change the value of this property setting, which would scope to any leaf documents that referenced the root, ie: <vxml version="2.1" application="myRoot.php"> Let me know if you need further details on this. ~Matt |
|
sildev1
|
|
| Sorry Matt,
I don't think I was clear in my statement. I know a lot of things can be accomplished using server-side Tom Foolery, but I think a pure VXML solution should be possible. Consider the following psuedo VXML example, <field name="voiceToUse"> <prompt>you wanna male or female persona</prompt> <grammar> [male female] </grammar> <filled> <if cond="voiceToUse == 'male'"> <property name="voice" scope="application" value="TellySavalas"/> <else/> <property name="voice" scope="application" value="LyndaCarter"/> </if> <goto nextitem="myPersona"/> </filled> </field> <block name="myPersona"> <prompt> If I said male, I will sound like Kojak for the rest of this application. If I said female, I will sound like Wonder Woman for the rest of this application. </prompt> </block> What I am saying is the ability to set properties at various scopes (app, document etc) should be easy and not require further document fetches and the use of server side session management. |
|
MattHenry
|
|
|
Hi again, You and I are in total agreement on this, make no mistake. =^) I've heard murmurings and rumblings about adding an 'expr' attribute to the property element that will allow you and me both this ability, but nothing has been finalized at this point. Until this becomes clearer, we are unfortunately stuck with using server side methodologies to change the value of any <property> settings in the VXML context. ~Matthew Henry |
|
PUNUKA
|
|
| hey Henry
I got some vendor specific vxml scripts which specify some properties which I dont think are vxml defined(vxml 2. 0). does vxml 2.0 allow specific user defined properties?(I have never come accross). I have seen something like <property name="METRICSLEVEL" value="3/> <property name="LOGLEVEL" value="3/> In case these are defined metrics of vxml 2.0 and above where are they defined? |
|
MattHenry
|
|
|
Hi there, Those properties are indeed platform-specific, and not really w3c compliant. If you want a finer grained control of the log output that you get, you have two options: 1 - Use the <log label> attribute: http://www.voicexmlguide.com/log.htm 2 - Use the debug flags available to the <meta> element: http://www.voicexmlguide.com/motty_meta.htm Regards, ~Matthew Henry |
|
alexey.timofeev
|
|
| Hi!
I have a question according using tag <property> as a child of the tag <transfer>. As a matter of fact I'm interested in using <property name="timeout" value="2s"/> in <transfer>. What will be the result of such using? Will the script wait for 2 secs and then start transfer call? Thanks in advance, Natalia. |
|
voxeojeff
|
|
| Hi Natalia,
Specifying a timeout value of 2 seconds means the interpreter will wait for a user utterance for 2 seconds before it throws a noinput event. I've included a link below which gives a list of the available W3C compliant properties and their descriptions. http://docs.voxeo.com/voicexml/2.0/w3cprops.htm#start Hope this helps, Jeff |
|
jkugler
|
|
| Note that property names must be lower case or it gets ignored and the default is used.
Josh Kugler ifbyphone Inc. |
|
feel012
|
|
| Hi~ I have a question.
I want to set a property value using variable. for example. <var name="AA" expr="'all'"/> <property name="universals" value="AA"/> Is it possible?? Or Does it exist another way??? please help.. |
|
voxeoJeffK
|
|
| Hi,
No, unfortunately that is not valid. For the <property> tag, the "value" attribute's data type is character data, not an expression. Regards, Jeff K. |
|
jefo12
|
|
| Hi,
Is there any way to change the default TTS female voice to male voice in the application level..?I need to change the voice through out the application Is there any property that supports..? Hope the favourable reply.. Thanks, jefo |
|
voxeoAlexBring
|
|
| Hello jefo,
To answer your question you can simply use the [code]<property name="voicename" value="English-Male4"/>[/code] in your application to change the default TTS output to male instead of female. If you would like some information about installing a male TTS to a local install of Prophecy, then please open an account ticket so we can better assist you with whatever you may need. Regards, Alex Bring Voxeo Support |
|
chakri.950
|
|
| Hi,
1. I have written a grammar in such a way that by pressing # key we will assign '0' value to field1. Now the issue is that I want to provide both functionality for the # key i.e., as a termination character as well as '0' value for the # key press. For Example: 1. if user enters 1234# then it has to accept. 2. if user enters # key also it should accept. 3. if user enters 1234## then default property and as well as grammar propert also has to be activated in such a way that 1234# should be go the field1 and the second # should go for the next field stating with the message invalid response. In this scenario it has to act as default property of the hash value. Thanks in advance. Kalyan M |
|
voxeoJeffK
|
|
| Hello Kalyan,
Unfortunately the termchar is an either/or scenario. If you assign the # as the termchar it removes it as a valid dtmf selection. If you unset it as the termchar then it is a valid selection and must always be treated as such. Regards, Jeff Kustermann Voxeo Support |
|
amitsood
|
|
| I see up that we can not assign an ECMA expression to property value. Does it still hold true. Or you have enhanced the property element to accept expr as an attribute?
I am looking for Something like that <var name="testA" expr="''../MyMusic.ulaw''"/> <property name="fetchaudio" expr="testA"></property Amit |
|
jdyer
|
|
| Hello Amit,
No I am afraid the value of the property element are not able to be expressions,however you can use server side techniques (ASP, JSP, PHP, ect) to get around this shortcoming of the spec. I do hope this helps, and if there are any other questions please let us know! Regards, John Dyer Customer Engineer Voxeo Support |
|
amitsood
|
|
| John,
Thanks for the information. I was trying to set the fetchaudio for a <subdialog>, I need to play a different background audio based on caller's choise of languate. Is there any easy way you know of accomplishing that using a subdialog call. like <if cond="lang=='ES'> set fetchaudio to point ot Spanish else point to English. |
|
VoxeoDante
|
|
| Hello,
An if statement would be the only way I can think of to accomplish this. You would basically follow the same structure you already have there. You would want to set a var to contain the language token you want to use, then run a if/else to set the property. Depending on how you have to application structured, it may get a little sloppy as <property> is not a valid child of <if>. So you may have to <goto> a new form that basically only sets the Property. Also, you may just want to use the fetch audio attribute of <subdialog> as it would be a little cleaner. I hope this helps. Regards, Dante Vitulano Customer Support Engineer II Voxeo Corporation |
| login |