<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml">

    <!-- Définitions des variables globales de l'application VXML -->
    <var name="callerID" expr="session.connection.remote.uri"/>
    <var name="authStatus" expr="''"/>

	<catch event="error.connection.noauthorization">
        Caught terminate
		<block> Goodbye <exit/> </block>
    </catch>

    <!-- Bloc 1 : Accueil (Message pour un numéro particulier de test, sans filtrage bloquant) -->
    <form id="Welcome">
        <block>
            <if cond="callerID == 0972231347">
				<prompt xml:lang="fr-FR">Appel depuis ligne OVH FLo</prompt>				
			<elseif cond="callerID == '+33607105774'"/>
				<prompt xml:lang="fr-FR">Bonjour Florian</prompt>
				<goto next="#datasub"/>
			</if>
            <goto next="#Datasub"/>
        </block>
    </form>

    <!-- Bloc 2 : Appel du sous-dialogue dataprocess -->
    <form id="Datasub">
        <subdialog name="checkResult" src="dataprocess.php" namelist="callerID" method="get">
            <filled>
                <!-- Récupération du résultat dans la variable globale -->
                <assign name="authStatus" expr="checkResult.statusStr"/>
                <goto next="#CallTransfert"/>
            </filled>
        </subdialog>
    </form>

    <!-- Bloc 3 : Gestion du transfert ou des différents messages de refus selon le profil -->
    <form id="CallTransfert">
        <block>
            <if cond="authStatus == 'authorized'">
                <prompt xml:lang="fr-FR">
                    Votre numéro est autorisé. Transfert en cours, veuillez patienter.
                </prompt>
                <!-- Destination du transfert d'appel -->
                <transfer name="callTransfer" bridge="true" connecttimeout="90s" dest="number/0033972231347"/>
            <else/>
                <!-- Distinction des messages de refus après enregistrement dans la BDD -->
                <if cond="callerID == '' || callerID == 'anonymous' || callerID == 'inconnu' || callerID.indexOf('anonymous') !== -1">
                    <prompt xml:lang="fr-FR">
                        Votre correspondant ne souhaite pas recevoir d'appel anonyme.
                    </prompt>
                <else/>
                    <prompt xml:lang="fr-FR">
                        La ligne de votre correspondant est protégée. Votre correspondant ne souhaite pas recevoir ce type d'appels.
                    </prompt>
                </if>
                <disconnect/>
            </if>
        </block>
    </form>

</vxml>