Affichage des résultats 1 à 2 sur 2

Discussion: Problème dans une boucle du Dialplan

  1. #1
    Membre Junior
    Date d'inscription
    juillet 2016
    Messages
    7
    Downloads
    0
    Uploads
    0

    Problème dans une boucle du Dialplan

    Bonjour,

    Je suis confronté à un problème que je ne résouds pas.

    Normalement ma boucle devrait s'exécuter jusqu'à ce que ma variable ${i} soit égale à -1, or ma boucle se comporte très très étrangement :



    exten => s,1,Noop("####### TEST BOUCLE #####")
    same => n,Set(i=999)
    same => n,While($[${i} > 0])
    same => n,Set(i=$[${i} - 1])
    same => n,Noop("======================> ${i}")
    same => n,EndWhile
    same => n,Noop("FIN DE LA BOUCLE i = ${i}")
    same => n,hangup()

    exemple de comportement :

    Set("SIP/100-00000013", "i=935") in new stack
    -- Executing [s@choix:6] NoOp("SIP/100-00000013", ""======================> 935"") in new stack
    -- Executing [s@choix:4] While("SIP/100-00000013", "1") in new stack
    -- Executing [s@choix:5] Set("SIP/100-00000013", "i=627") in new stack
    -- Executing [s@choix:6] NoOp("SIP/100-00000013", ""======================> 627"") in new stack
    -- Executing [s@choix:7] EndWhile("SIP/100-00000013", "") in new stack

    la boucle passe de 935 à 627 ????


    Elle s'arrête souvent à 935 mais n'affiche pas le message de fin de la boucle

    -- Executing [s@choix:4] While("SIP/100-00000000", "1") in new stack
    -- Executing [s@choix:5] Set("SIP/100-00000000", "ik=938") in new stack
    -- Executing [s@choix:6] NoOp("SIP/100-00000000", ""======================> 938"") in new stack
    -- Executing [s@choix:7] EndWhile("SIP/100-00000000", "") in new stack
    -- Executing [s@choix:4] While("SIP/100-00000000", "1") in new stack
    -- Executing [s@choix:5] Set("SIP/100-00000000", "ik=937") in new stack
    -- Executing [s@choix:6] NoOp("SIP/100-00000000", ""======================> 937"") in new stack
    -- Executing [s@choix:7] EndWhile("SIP/100-00000000", "") in new stack
    -- Executing [s@choix:4] While("SIP/100-00000000", "1") in new stack
    -- Executing [s@choix:5] Set("SIP/100-00000000", "ik=936") in new stack
    -- Executing [s@choix:6] NoOp("SIP/100-00000000", ""======================> 936"") in new stack
    -- Executing [s@choix:7] EndWhile("SIP/100-00000000", "") in new stack
    -- Executing [s@choix:4] While("SIP/100-00000000", "1") in new stack
    -- Executing [s@choix:5] Set("SIP/100-00000000", "ik=935") in new stack
    -- Executing [s@choix:6] NoOp("SIP/100-00000000", ""======================> 935"") in new stack
    asterisk*CLI>

    On ne voit même pas le Hangup !

  2. #2
    Membre Senior
    Date d'inscription
    septembre 2010
    Localisation
    Where the sun shines
    Messages
    1 418
    Downloads
    0
    Uploads
    0
    je dois avouer ne jamais avoir utilisé ca, essaie sans les espaces, sinon, un petit script agi met 2 secondes à écrire, et sera surement plus performant

    J.

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •