- From: Teemu Tingander <Teemu.Tingander@tecnomen.fi>
- Date: Mon, 29 Mar 2004 11:02:53 +0300
- To: www-voice@w3.org
- Message-ID: <BC70F0884912B54E9F65043933CFF5754DDC99@aunty.tecnomen.fi>
Hi ! Some comments to VoiceXML 2.1 Working Draft 23 March 2004 and some more VoiceXML 2.0. As a general comment for <data> elements DOM mapping; I don't see why we should add more complex programming capabilities into voicexml and once again make it possible to move the complex application logic into UI side ! Chapter 2. Referencing Grammars Dynamically. I propose the use of attribute srcexpr in <grammar> element. This will leave the expr attribute to be used to evaluate the "grammar" content from javascript content etc. Especially this is handy when data is introduced ! Chapter 3 Referencing Scripts Dynamically' Once again I propose attribute srcexpr just to make difference between value for element and 'value that evaluaes to attribute value'.. Chapter 3 Using <data> to Fetch XML Without Requiring a Dialog Transition Once again I propose attribute srcexpr. Expr attribute could be used as it is in var. As data is clearly a some kind of extension of <var> element. Using DOM in <data> is far to complex. I suggest of finding some more simplified structure for returned data. We could use a simple pattern like.. <data name="temp" src.... and as returned: <data> <property name="a" expr="1"> <property name="b" expr="-1"> <property name="c[0]" expr="'temp'"> <property name="c[1]" expr="'tester'"> </data> This could then be mapped into javascript temp { a = 1; b = -1; c = { [0] = 'temp' [1] = 'tester' } } And so on.. its easy to use it in this way.. Somehow this could be made in VXML 2.0 with script element too.. Or even use that same mapping we use in SSML to field values And some more changes that I formerly proposed.. Still waiting for answers or at least comments.. Dear W3C Committee.. (Probably late fore 2.0 but for 2.1 probably) Case 1: I would like to ask you a question about bridge transfer that terminates with originating caller hang-up. Now the specification states that the event telephone.disconnect.hangup is thrown when hang-up occurs and field item does not get filled. As stated in chapter 2.3.7.2.2. Record (someone probably thought voicemail in here) is different; It is stated that the record field item gets filled if something was recorded in case of hang-up. To make it more clear to application developer the <transfer/> should not differentiate form <record/> it should be filled if transfer took place and the call was terminated with originating caller hang-up. So the Value of form item variable should be filled with "caller_hangup" and the appropriate field items should be filled too. This makes it possible to obtain call information for logging, billing etc. I think that this is very important cause platform provider call logs are rarely available to application provider. So the field gets filled and event "telephone.disconnect.hangup" is thrown. This makes sense to me.. Case 2: Somewhat I propose here little different approach for FIA in these special cases for "collection of event and field information at the same time". Firstly the FIA could work so the first the appropriate field items get filled and "just_filled" list is managed as usual. After; this before evaluating the need of processing any <filled/> elements , the event thrown gets processed and if it does not cause any transition the appropriate <filled> elements gets called. I found this very useful and I can give you some examples if needed.
Received on Monday, 29 March 2004 03:26:49 UTC