Recherche


imprimer pdf
Notes importantes

  • Votre document doit être encodé en UTF-8
  • Si une expression JavaScript? contient l'un des évènements "<", ">", ou "&", ce charactère doit être remplacé par la séquence correspondante "&lt;", "&gt;", ou "&amp;". Pour plus d'informations, consultez Référence JavaScript?.



Elements Description
<assign> Assigner une valeur à une variable
<audio> Jouer un son audio à l'intérieur d'une balise <prompt>
<block> Un conteneur (non-intéractif) de code exécutable
<catch> Capturer un évènement
<choice> Définir un élément d'un menu
<clear> Nettoyer une ou plusieurs variable(s) d'un formulaire
<else> Utilisé au sein des éléments <if>
<elseif> Utilisé au sein des éléments <if>
<enumerate> Raccourci dans l'énumération des choix d'un menu
<error> Capturer un évènement d'erreur
<exit> Quitter une session
<field> Déclarer un champ de saisie au sein d'un formulaire <form>
<filled> Une action exécutée lorsque que les champs de l'élément <field> sont remplis
<form> Un dialogue dans le but de présenter et de récupérer des informations
<goto> Se rendre à un autre dialogue dans le même document ou non
<grammar> Spécifier une grammaire DTMF
<if> Simple condition logique
<link> Spécifier un lien de transition commun à tous les dialogues
<menu> Un dialogue permettant de choisir différents chemins
<noinput> Capturer un évènement de non saisie (noinput)
<nomatch> Capturer un évènement de non similitude (nomatch)
<option> Spécifier une option au sein d'une balise <field>
<param> Spécifier un paramètre dans un sous-dialogue
<prompt> Mettre en file d'attente les synthèses vocales et les fichiers audio à jouer
<property> Contrôler la configuration de la plateforme
<record> Permet d'enregistrer un message vocal
<reprompt> Jouer un <prompt> lorsque qu'un champ de saisie <field> est revisité après un évènement
<return> Revenir d'un sous-dialogue
<script> Spécifier un bloc d'ECMAScript logique du côté client
<subdialog> Invoquer un autre dialogue comme sous-dialogue du dialogue courant
<submit> Envoyer des valeurs à un document hébergé sur un serveur
<throw> Retourner un évènement
<transfer> Transférer l'appelant sur une autre destination
<value> Insérer la valeur d'une expression dans un prompt
<var> Déclarer une variable
<vxml> Elément racine de chaque document VoiceXML




option

Spécifier une option au sein d'une balise .

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
        <property name="inputmodes" value="dtmf" />
        <form id="mainform">
                <block name="welcome">
                        Ceci est un test de la balise option.
                </block>
                <catch event="nomatch noinput">
                        <prompt>Desole, Je n'ai rien compris.</prompt>
                        <reprompt/>
                </catch>
                <field name="mainmenu">
                        <prompt>
                                Choisissez une application dans liste s'il vous plait
                                <enumerate>
                                        Pour <value expr="_prompt"/>, appuyez sur <value expr="_dtmf"/>.
                                </enumerate>
                        </prompt>
                        <option dtmf="0" value="météo">Meteo</option>
                        <option dtmf="1" value="horloge parlante">Horloge parlante</option>
                        <option dtmf="2" value="informations">Informations</option>
                        <filled>
                                <prompt>Vous avez choisi <value expr="mainmenu"/> </prompt>
                        </filled>
                </field>
        </form>
</vxml>


Parent : field
Enfant : aucun

Revenir en haut



param

Spécifier un paramètre à une élément .

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR" >
        <form id="main">
                <block>Nous allons appeler un sous-dialogue</block>
                <subdialog name="result" src="#subbie">
                        <param name="hello" value="goodbye"/>
                        <param name="goodbye" value="goodbye"/>
                        </subdialog>
                <block>
                        Nous revenons du sous-dialogue.
                        Resultat hello vaut <value expr="result.hello"/>,
                        Resultat goodbye vaut <value expr="result.goodbye"/>
                </block>
        </form>
        <form id="subbie"> <!-- Ceci est le sub-dialog -->
                <!-- les variables sont envoyé en paramètre -->
                <var name="hello" expr="'hello'"/> <!-- l'initialisation n'est pas prise en compte -->
                <var name="goodbye"/>
                <block>
                        Ceci est le sous-dialogue.
                        hello vaut <value expr="hello"/>
                        goodbye vaut <value expr="goodbye"/>,
                        <return namelist="hello goodbye" />
                </block>
        </form>
</vxml>


Parent : param, subdialog
Enfant : param

Revenir en haut


prompt

Permet de lire du texte. Le prompt permet aussi de se substituer au fichier audio si celui-ci n'est pas trouvé

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
        <form id="foo">
                <block>
                        <prompt>
                                Bienvenue.
                        </prompt>
                </block>
        </form>
</vxml>


Parent : block, catch, error, field, filled, if, menu, noinput, nomatch, record, transfer, subdialog
Enfant : audio, break, enumerate, value

Revenir en haut


property

Controler la configuration de la plateforme.

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
        <property name="inputmodes" value="dtmf" />
        <property name="bargein" value="false"/>

        <form id="form_property">
                <block>
                        <prompt>
                                Ceci est un text interminable. Mouahahahahahha. Votre seul moyen de le quitter est de racrocher car les touches ne couperons pas l'appel !
                                Ceci est un text interminable. Mouahahahahahha. Votre seul moyen de le quitter est de racrocher car les touches ne couperons pas l'appel !
                                Ceci est un text interminable. Mouahahahahahha. Votre seul moyen de le quitter est de racrocher car les touches ne couperons pas l'appel !
                                Ceci est un text interminable. Mouahahahahahha. Votre seul moyen de le quitter est de racrocher car les touches ne couperons pas l'appel !
                        </prompt>
                </block>
        </form>
</vxml>


Parent : field, form, menu, record, subdialog, transfer, vxml
Enfant : aucun

Revenir en haut


record

Permet de faire un enregistrement vocal

Pour plus d'information sur cette balise lisez le guide RECORD ET VXML OVH


<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
        <form>
                <record name="awaymessage" beep="true" maxtime="10s" dest="nom_du_fichier" finalsilence="4s" dtmfterm="true">
                        <prompt>
                                enregistrement apres le biiip
                        </prompt>
                </record>
        </form>
</vxml>


Parent : form
Enfant : audio, catch, enumerate, error, filled, help, nomatch, noinput, grammar, prompt, property, value

Revenir en haut


reprompt

Jouer un <prompt> lorsque qu'un champe de saisie <field> est revisiter après un évènement.

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
        <property name="inputmodes" value="dtmf" />
        <form id="form-record">
                <field name="mycolor">
                        <prompt> Qu'elle est votre couleur preferee ? </prompt>
                        <prompt>
                                Choisissez entre 0 1 2 3 4 ou 5.
                        </prompt>
                        <option dtmf="0" value="rouge" />
                        <option dtmf="1" value="bleu" />
                        <option dtmf="2" value="vert" />
                        <option dtmf="3" value="rose" />
                        <option dtmf="4" value="jaune" />
                        <option dtmf="5" value="orange" />
                        <noinput>
                                Je n'ai pas recu votre message.
                                <reprompt/>
                        </noinput>
                </field>
                <block>
                        <prompt>
                                Vous avez choisi la couleur <value expr="mycolor"/>
                        </prompt>
                </block>
        </form>
</vxml>


Parent : block, catch, error, filled, if, noinput, nomatch
Enfant : aucun

Revenir en haut


return

Revenir d'un sous-dialogue.

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR" >
        <form id="main">
                <block>Nous allons appeler un sous-dialogue</block>
                <subdialog name="result" src="#subbie">
                        <param name="hello" value="goodbye"/>
                        <param name="goodbye" value="goodbye"/>
                        </subdialog>
                <block>
                        Nous revenons du sous-dialogue.
                        Resultat hello vaut <value expr="result.hello"/>,
                        Resultat goodbye vaut <value expr="result.goodbye"/>
                </block>
        </form>
        <form id="subbie"> <!-- Ceci est le sub-dialog -->
                <!-- les variables sont envoyé en paramètre -->
                <var name="hello" expr="'hello'"/> <!-- l'initialisation n'est pas prise en compte -->
                <var name="goodbye"/>
                <block>
                        <assign name="hello" expr="'hello'"/> <!-- la on change la valeur de la variable -->
                        Ceci est le sous-dialogue.
                        hello vaut <value expr="hello"/>
                        goodbye vaut <value expr="goodbye"/>,
                        <return namelist="hello goodbye"/>
                </block>
        </form>
</vxml>


Parent : block, catch, error, noinput, nomatch, if, filled
Enfant : aucun

Revenir en haut


script

Spécifier un bloc d'ECMAScript logique du coté client.
  • A l'intérieur d'un élément <script>, si votre script JavaScript? contient l'un des charactères "<", ">", ou "&", ce charactère doit être échapé. La façon la plus simple de faire cela est de placer le script complet à l'intérieur d'une section CDATA comme ceci :

        <script>
                <![CDATA[
                        function factorial( n) {
                                return ( n <= 1) ? 1 : n * factorial( n-1); }
                ]]>
        </script>



<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
        <form id="form">
                <block name="time">
                        <var name="hours"/>
                        <var name="minutes"/>
                        <var name="seconds"/>
                        <script>
                                var d = new Date( );
                                hours = d.getHours( );
                                minutes = d.getMinutes( );
                                seconds = d.getSeconds( );
                        </script>
                        <prompt>
                                Il est maintenant <value expr="hours"/> heures
                                <value expr="minutes"/> minutes, et
                                <value expr="seconds"/> secondes.
                        </prompt>
                </block>
        </form>
</vxml>


Parent : block, catch, error, filled, form, if, menu, noinput, nomatch, vxml
Enfant : aucun

Revenir en haut


subdialog

Invoquer un autre dialogue comme sous-dialogue du dialogue courant.

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR" >
        <form id="main">
                <block>Nous allons appeler un sous-dialogue</block>
                <subdialog name="result" src="#subbie">
                        <param name="hello" value="goodbye"/>
                        <param name="goodbye" value="goodbye"/>
                        </subdialog>
                <block>
                        Nous revenons du sous-dialogue.
                        Resultat hello vaut <value expr="result.hello"/>,
                        Resultat goodbye vaut <value expr="result.goodbye"/>
                </block>
        </form>
        <form id="subbie"> <!-- Ceci est le sub-dialog -->
                <!-- les variables sont envoyé en paramètre -->
                <var name="hello" expr="'hello'"/> <!-- l'initialisation n'est pas prise en compte -->
                <var name="goodbye"/>
                <block>
                        Ceci est le sous-dialogue.
                        hello vaut <value expr="hello"/>
                        goodbye vaut <value expr="goodbye"/>,
                        <return namelist="hello goodbye" />
                </block>
        </form>
</vxml>


Parent : block, catch, error, filled, form, if, noinput, nomatch
Enfant : audio, catch, enumerate, error, filled, noinput, nomatch, param, prompt, property, value

Revenir en haut


submit

Permet d'envoyer des données en POST ou en GET à un autre fichier

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
        <var name="validation"/>
        <var name="fonction"/>
        <form id="test2">
                <block>
                        <assign name="validation" expr="'OK'"/>
                        <assign name="fonction" expr="'submit'"/>
                        <submit method="post" next="test2.php" namelist="fonction validation" />
                </block>
        </form>
</vxml>


Parent : block, catch, error, filled, if, noinput, nomatch
Enfant : aucun

Revenir en haut


throw

Vous pouvez lancer soit un évènement prédéfini, soit un évènement spécifique à l'application

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
        <property name="inputmodes" value="dtmf" />
        <catch event="nomatch noinput" >
                <prompt>
                        Recuperation depuis la portee du document.
                </prompt>
                <reprompt/>
        </catch>
        <form id="numbers">
                <catch event="myEvent">
                        <prompt>
                                Recuperation de mon evenement depuis la portee de mon formulaire.
                                <value expr="_message"/>
                                La valeur de mon nombre n'est pas perdue.
                        </prompt>
                        <clear/>
                </catch>

                <block name="numbergame"> Ceci est un test de la balise throw. </block>
                <field name="mynumber" type="digits">
                        <prompt>
                                Entrez un nombre plus grand que 10.
                        </prompt>
                        <filled>
                                <if cond="mynumber &lt; 10">
                                        <throw
                                        event="myEvent"
                                        messageexpr="mynumber + ' est plus petit que 10'"/>
                                <elseif cond="mynumber > 10" />
                                        <prompt>
                                                Vous avez entrez <value expr="mynumber"/>
                                        </prompt>
                                <else/>
                                        <throw event="myEvent" message="10 n'est pas plus grand que 10"/>
                                </if>
                        </filled>
                </field>
        </form>
</vxml>


Parent : block, catch, error, filled, if, noinput, nomatch
Enfant : aucun

Revenir en haut


transfer

Transférer l'appelant sur un autre numéro. Attention la destination doit être un numéro OVH !

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
        <var name="callDuration"/>
        <property name="inputmodes" value="dtmf" />
        <form id="foo">
                <block>
                        Attention redirection
                </block>
                <field type="digits?length=1" name="silent">
                        <property name="termtimeout" value="1s"/>
                        <property name="timeout" value="1s"/>
                        <filled>
                                <goto next="#transferService" />
                        </filled>
                        <catch event="nomatch noinput">
                                <goto next="#transferService" />
                        </catch>
                </field>
        </form>
        <form id="transferService">
                <transfer name="services" bridge="true" dest="number/0972xxxxxx">
                        <filled>
                                <assign name="callDuration" expr="services$.duration" />
                                <goto next="#returnFromTransfer" />
                        </filled>
                </transfer>
        </form>
        <form id="returnFromTransfer">
                <block>
                        Bienvenue de nouveau dans l'application, au revoir.
                        Durée de l'appel : <value expr="callDuration" /> secondes
                </block>
        </form>
</vxml>


Parent : form
Enfant : audio, catch, enumerate, error, filled, grammar, noinput, nomatch, prompt, value

Note : Vous pouvez réaliser un transfert vers un répondeur directement (sans faire sonner la ligne), pour cela, suivez la syntaxe :

<transfer name="services" dest="number/920033xxx"></transfer>

(si votre ligne est 0972101010, cela donne 920033972101010)


Revenir en haut


value

Insérer la valeur d'une expression dans un prompt.

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
        <property name="inputmodes" value="dtmf" />
        <form>
                <field name="inputvar">
                        <prompt>
                                Appuyez sur une touche
                        </prompt>
                        <option dtmf="0" value="france" />
                        <option dtmf="1" value="hollande" />
                        <option dtmf="2" value="belgique" />
                        <option dtmf="3" value="allemagne" />
                        <option dtmf="4" value="espagne" />
                        <option dtmf="5" value="angleterre" />
                        <option dtmf="6" value="russie" />
                        <option dtmf="7" value="bulgarie" />
                        <option dtmf="8" value="italie" />
                        <option dtmf="9" value="grèce" />
                        <option dtmf="*" value="turquie" />
                </field>
                <block>
                        <prompt>
                                Votre choix est <value expr="inputvar"/>
                        </prompt>
                </block>
        </form>
</vxml>


Parent : audio, block, catch, choice, enumerate, error, field, filled, if, menu, noinput, nomatch, prompt, record, subdialog, transfer
Enfant : aucun

Revenir en haut


var

Déclaration d'une variable dans la portée de l'élément fermant.

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
<form id="foo">
        <var name="a"/>
        <var name="b"/>
        <var name="result"/>
        <block>
                <assign name="a" expr="'10'"/>
                <assign name="b" expr="'35'"/>
                <assign name="result" expr="a * b"/>
        </block>
        <block>
                <prompt>
                        <value expr="a"/> multiplie par <value expr="b"/> est egal a
                        <value expr="result"/>
                </prompt>
        </block>
</form>
</vxml>


Parent : block, catch, error, filled, form, help, if, noinput, nomatch, vxml
Enfant : aucun

Revenir en haut


vxml

Elément racine de chaque document VoiceXML.

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
        <form id="foo">
                <block>
                        <prompt>
                                Bienvenue.
                        </prompt>
                </block>
        </form>
</vxml>


Parent : aucun
Enfant : catch, data, error, form, link, menu, noinput, nomatch, property, script, var

Revenir en haut



<<Voir les balises précédentes