Vxml question and answer bank set 3

1. What are prompt counter?

An input item and the <initial> item of a mixed-initiative form have a prompt counter that lets you play different prompts if the user revisits the item several times. For example, you may want to play shorter descriptions after the first or second time the user is prompted for the same information. The prompt counters are reset on each form invocation.

<field name="fruit">
      <prompt count="1">
        Pick a fruit.
        <break size="medium"/>
      </prompt>

      <prompt count="2">
        Say the name of a fruit. For example, say apple.
        <break size="medium"/>
      </prompt>
……..

 

2. Differentiate between application-directed and mixed-initiative interactions?

In an application-directed (or simply directed) interaction, the application prompts for the information it needs and the user supplies the requested information by answering the prompts. The application controls the interaction and does not understand volunteered information:

  • If the application is executing a form, the only active grammar is the one for the current field of the form. The only valid user input is one that provides a value for the current field’s variable.
  • If the application is executing a menu, the only active grammars are the grammars of the menu’s choices. The only valid user input is one that selects a choice for the current menu.

In a mixed-initiative interaction, the user and the application both participate in determining what the application does next. A single utterance from the user may provide input for multiple input variables in a form. In response to a prompt in one dialog, the user may provide input that matches a grammar defined in a different form. When this happens, the interpreter transitions to that dialog and fills its input variables from the user input. Similarly, the user may provide input that selects a choice from a different menu or that matches a link grammar, causing a transition to the destination specified by that choice or link. If an application does not use links or grammars with document or application scope, it may still include mixed-initiative forms.
A directed form has no form grammar, only grammars for its individual fields. A directed form gives the user explicit directions about what to say and when. A form that includes its own grammar is a mixed-initiative form. The form grammar allows several input variables to be filled in as a result of a single user utterance. A mixed-initiative form allows the user to speak more naturally.

 

3. Within a form, the flow of execution is governed by the………. , a looping algorithm.

Form Interpretation Algorithm (FIA)

 

4. Where do you specify the URI of the application's root document?

In the application attribute of the vxml element.

 

5. List down the predefined events in vxml?

  • exit 
  • help 
  • noinput 
  • nomatch 
  • cancel 
  • connection.disconnect.hangup 
  • connection.disconnect.transfer 

 

6.    List down the predefined errors in vxml?

  • error.badfetch 
  • error.noauthorization 
  • error.semantic 
  • error.connection.baddestination 
  • error.connection.noauthorization 
  • error.connection.noresource 
  • error.noresource 
  • error.unsupported.format 
  • error.unsupported.element 

 

7. Give one major difference between subdialogues in vxml 1.0 and vxml 2.0?

In VoiceXML 1.0, when a subdialog throws an event,subdialogs are modal by default; a subdialog can be made non-modal by setting the modal attribute to false. In VoiceXML 2.0, all subdialogs are modal.

 

8. ………. is the required scripting language for VoiceXML.

ECMAScript

 

9. Differentiate between timeout, interdigittimeout and termtimeout for DTMF input?

The timeout parameter determines when the <noinput> event is thrown because the user has failed to enter any DTMF. Once the first DTMF has been entered, this parameter has no further effect.
The interdigittimeout determines when the nomatch event is thrown because a DTMF grammar is not yet recognized, and the user has failed to enter additional DTMF. This applies only once he starts entering any DTMF.
Once a successful DTMF has been entered and when no additional input is allowed by the grammar, termtimeout determines how much time to wait for the optional termchar. If the termtimeout is 0s (the default), then the recognized value is returned immediately after the last DTMF allowed by the grammar, without waiting for the optional termchar.

While waiting for the first or additional DTMF, three different timeouts may determine when the user's input is considered complete. 

  • If no DTMF has been entered, the timeout applies; 
  • if some DTMF has been entered but additional DTMF is valid, then the interdigittimeout applies; and 
  • if no additional DTMF is legal, then the termtimeout applies. 

At each point, the user may enter DTMF which is not permitted by the active grammar(s). This causes the collected DTMF string to be invalid. Additional digits will be collected until either the termchar is pressed or the interdigittimeout has elapsed. A nomatch event is then generated.

 

10. How does FIA selects which form item to visit next?

Within a form, the flow of execution is governed by the Form Interpretation Algorithm (FIA), a looping algorithm. On each iteration, the FIA selects the form item to visit next. 
A form item’s guard conditions determine whether it can be selected on a given iteration:

  • The value of the form-item variable must be undefined.
  • The value of any cond expressions contained in the form item must evaluate to true.

Both guard conditions must be met in order for a form item to be selected. The FIA examines the form items in document order, selecting the first one whose guard conditions are met. If the guard conditions for all form items fail, the form (and the application) exits.
By default, every form-item variable has an initial value of undefined so every form item that does not specify a cond expression is eligible for selection. After the form item is visited, its variable is set to a value, which prevents the same form item from being selected again on the next iteration.

 

11. How are events handled during an FIA execution?

During FIA execution, events may be generated at several points. These events are processed differently depending on which phase is active.

  • Before a form item is selected (i.e. during the Initialization and Select phases), events are generated at the dialog level. The corresponding catch handler is located and executed. If the catch does not result in a transition from the current dialog, FIA execution will terminate.
  • Similarly, events triggered after a form item is selected (i.e. during the Collect and Process phases) are usually generated at the form item level. There is one exception: events triggered by a dialog level <filled> are generated at the dialog level. The corresponding catch handler is located and executed. If the catch does not result in a transition, the current FIA loop is terminated and Select phase is reentered.

 

 

12.    List down the major phases of an FIA algorithm?

  • Initialization phase
  • Main Loop that consist of below phases:
    • Select phase
    • Collect phase
    • Process phase

 

13. Briefly explain the Initialization phase of FIA?

Whenever a form is entered, it is initialized. Internal prompt counter variables (in the form's dialog scope) are reset to 1. Each variable (form-level <var> elements and form item variables) is initialized, in document order, to undefined or to the value of the relevant expr attribute.

 

14. Give a case in FIA where first iteration of the main loop skips the select and collect phases, and goes right to the process phase?

If the FIA is given an input (a set of grammar slot/slot value pairs) that was collected while the user was in a different form's FIA. In this case the first iteration of the main loop skips the select and collect phases, and goes right to the process phase with that input. Also note that if an error occurs in the select or collect phase that causes an event to be generated, the event is thrown and the FIA moves directly into the process phase.

 

15.    List and briefly describe the phases of the main loop of the FIA?

The main loop of the FIA has three phases:

  • The select phase: the next unfilled form item is selected for visiting.
  • The collect phase: the selected form item is visited, which prompts the user for input, enables the appropriate grammars, and then waits for and collects an input (such as a spoken phrase or DTMF key presses) or an event (such as a request for help or a no input timeout).
  • The process phase: an input is processed by filling form items and executing <filled> elements to perform actions such as input validation. An event is processed by executing the appropriate event handler for that event type.

 

 

Tags: 

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)