Affichage des résultats 1 à 4 sur 4

Discussion: Script perl agi et variable

  1. #1
    Membre Junior
    Date d'inscription
    avril 2013
    Messages
    9
    Downloads
    0
    Uploads
    0

    Script perl agi et variable

    Bonjour a tous,

    Me re voila avec une autre énigme , j'explique :

    Je souhaite récupérer les variables $var1 et $var2 de mon fichier test.agi ci-dessous et les afficher dans mon dialplan pour executer les sons corespondant aux variables $var1 et $var2 comme ci-dessous :

    exten => s,1,Answer ; Repond a l'appel
    exten => s,n,AGI(agi-test.agi)
    exten => s,n,Playback($var1)
    exten => s,n,Playback($var2)
    exten => s,n,Hangup()


    Le fichier agi-test :
    #!/usr/bin/perl

    $var1 = 1;
    $var2 = 2;

    La question est pourquoi les variables $var1 et $var2 ne sont pas récupérés ?
    Merci pour votre aide

  2. #2
    Membre Senior
    Date d'inscription
    février 2011
    Localisation
    Garges Les Gonesse
    Messages
    152
    Downloads
    0
    Uploads
    0

  3. #3
    Membre Association
    Date d'inscription
    septembre 2010
    Localisation
    Isle sur la Sorgue 84800
    Messages
    369
    Downloads
    0
    Uploads
    0
    Quel est l’intérêt d'utiliser une agi pour stocker des variables ?
    c'est normalement le job d'une database comme Astdb, Mysql ou Sqlite
    Je doute qu'on puisse revenir naturellement dans le dialplan en sortie d'AGI sauf si c'est programmé dans l'AGI
    pourquoi ne pas continuer le tout en AGI, c'est normalement fait pour ça.

  4. #4
    Asterisk Fan Avatar de fastm3
    Date d'inscription
    août 2010
    Localisation
    Corbeil Essonnes (91)
    Messages
    1 302
    Downloads
    1
    Uploads
    1
    Si si , ca peut avoir un interet pour separer justement l'aspect dialplan de la partie "metier". Je vais publier un script bientot ( des que j'ai un peu de temps pour faire un tuto ) qui montrera comment j'utilise cela.

    Pour repondre à la question initiale en Perl, moi j'utilise Asterisk::AGI
    On peut alors ecrire quelque chose comme cela:

    Code:
    use Asterisk::AGI;
    my $AGI = new Asterisk::AGI;
    $AGI->noop("Debut agi");
    $AGI->set_variable("VARIABLE",$variable);
    On pourra l'utiliser ensuite dans le dialplan comme cela:
    ( ici avec passage d'une variable en entree )

    Code:
    exten => s,1,AGI(testAGI,${CALLERID(num)})
    exten => s,n,Noop(La variable VARIABLE a été setté à  ${VARIABLE} dans l'agi)
    Ca devrait te permettre d'aller plus loin.
    Fastm3.

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
  •