In our application we have to support the following scenario.
1) Retrieve a list of dates
2) Read the dates to the user
As each date is read to the user we need to update the database to specify that the user heard that date. This update cannot interrupt the workflow for the end user. It must be seamless.
My initial thought is to have a subdialog pointed to an aspx page for each date in the list which accepts some variables from the ivr form (an id related to the date or similar) and submits that to the database. This aspx page would not (or could if it had to) return any vxml.
Something like
Code: Select all
<form id="form1">
<var name="someidvariable"/>
<block>
<assign name="someidvariable" expr="1234"/>
<subdialog name="submitdata1" src="updatedatesindatabase.aspx" namelist="someidvariable" />
<prompt>
<voice name="crystal">
<break size="medium" />On Monday, December 01, 2008 at 12:00:00 PM you have to take out the trash.</voice>
</prompt>
</block>
<field name="menufield">
<prompt>
<voice name="crystal">
<break size="medium" />Press or say one to Hear again<break size="medium" />Press or say 2 to hear Next Date<break size="medium" />Press or say Star to go back to the Main Menu.</voice>
</prompt>
<grammar>1|2|"*"|"star"</grammar>
<filled>
<if cond="menufield=='1'">
<goto next="#form1" />
<elseif cond="menufield=='2'" />
<goto next="#form2" />
<elseif cond="menufield=='star'" />
<goto next="#mainmenu" />
<elseif cond="menufield=='*'" />
<goto next="#mainmenu" />
</if>
</filled>
</field>
</form>
Page_Load in .aspx page (obvious pseudocode)
Code: Select all
UpdateDatabase(Request.Form("someidvariable"))
1) Is that an appropriate use of subdialogs? ... Is there a better way to do that?
2) Does a subdialog have to return VXML or variables? If so, what is the minimum that can be returned for this to function?