Page 4 sur 4 PremièrePremière ... 234
Affichage des résultats 31 à 37 sur 37

Discussion: Scritp AGI et PHP : interaction entre asterisk et application web php

  1. #31
    Membre Junior
    Date d'inscription
    mai 2014
    Messages
    5
    Downloads
    0
    Uploads
    0
    D'acord c'est gentil

  2. #32
    Membre Junior
    Date d'inscription
    juin 2015
    Messages
    18
    Downloads
    0
    Uploads
    0
    Bonjour etan38,

    j'ai en fait essayé d'effectuer à la lettre votre solution car je suis sur un projet c'est à peu près le meme principe. J'ai adapaté votre script test.php à mes besoins mais si je l'execute j'ai pas la réponse qu'il faut. Pourrais tu m'apporter un eclaircissement la dessus.


    Merci d'avance.

  3. #33
    Membre
    Date d'inscription
    février 2011
    Localisation
    Saint-Marcellin (Isère)
    Messages
    46
    Downloads
    0
    Uploads
    0
    Bonjour, Il va falloir m'en dire un peu plus...
    1. Est-ce que le dialplan fonctionne ?
    2. Est-ce que le script PHP est sans erreur ?
    3. Peux-tu le lancer avec la commande php nomdufichier.php?
    4. Que renvoie ton php ?
    5. Que renvois la cli asterisk ?

  4. #34
    Membre Junior
    Date d'inscription
    juin 2015
    Messages
    18
    Downloads
    0
    Uploads
    0
    oui le dialplan fonctionne à mon avis, pour ce qui est de l'execution du script php je sais pas trop comment le faire mais quand j'appelle le 100 c'est ça que ça m'affiche :

    Executing [100@gerer:1] AGI("SIP/102-00000003", "test.php,102>") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/test.php
    -- <SIP/102-00000003>AGI Script test.php completed, returning 0
    -- Executing [100@gerer:2] Set("SIP/102-00000003", "__Identfiant=") in new stack
    -- Executing [100@gerer:3] NoOp("SIP/102-00000003", ""C'est un test d'affichage variable ") in new stack
    -- Auto fallthrough, channel 'SIP/102-00000003' status is 'UNKNOWN'

    je voudrais en fait que quand j'appel le 100 avec le callerid 401 il verifie dans la base de données si le numéro 401 existe si oui le 100 répond sinon il raccroche

  5. #35
    Membre
    Date d'inscription
    février 2011
    Localisation
    Saint-Marcellin (Isère)
    Messages
    46
    Downloads
    0
    Uploads
    0
    Citation Envoyé par lilibess Voir le message
    oui le dialplan fonctionne à mon avis, pour ce qui est de l'execution du script php je sais pas trop comment le faire mais je voudrais en fait que quand j'appel le 100 avec le callerid 401 il verifie dans la base de données si le numéro 401 existe si oui le 100 répond sinon il raccroche
    Si ton php te renvoie bien une valeur dans ta variable, changes le script php :
    si le numéro existe dans la base de donnée
    alors je renvoie 1
    Sinon je renvoie 0
    Ensuite tu utilises la variable php que tu mets dans ton dialplan et tu fais une condition dans le dialplan
    Si variable = 1, j'appelle le numéro xxxx
    Sinon je raccroche.

  6. #36
    Membre Junior
    Date d'inscription
    juin 2015
    Messages
    18
    Downloads
    0
    Uploads
    0
    D'accorrd, mais sur ton script j'ai vu $Connexion d'ou est ce qu'il vient et ça permet quoi au fait

    #!/usr/bin/php
    <?php
    REQUIRE("phpagi.php");
    ///inclusion du framework de phpagi
    INCLUDE("ConnexionSql.php");
    ///inclusion de mes infos sql
    $agi = new AGI();
    ///création d'un nouvel objet agi
    $Num = $_SERVER['argv'][1];
    ///Récupération de la valeur de ma première variable passée en paramètre

    ///$Num= preg_replace("#[^0-9]#","",$agi->request[agi_callerid]);
    IF(STRLEN($Num)>=10):
    $REQSelection = "SELECT CONCAT(prenom,' ',nom) AS Contact FROM $TBLC WHERE TelPort LIKE '%$Num%' OR TelPerso LIKE '%$Num%'";
    $RESSelection = MYSQL_QUERY($REQSelection,$Connexion);
    IF(MYSQL_NUM_ROWS($RESSelection)==1):
    $Identifiant = MYSQL_RESULT($RESSelection,0,"Contact");
    ELSE:
    $Identifiant = UTF8_DECODE(CHUNK_SPLIT($Num,2," ").' non présent dans la base de donnée');
    ENDIF;
    ELSE:
    $Identifiant = UTF8_DECODE(CHUNK_SPLIT($Num,2," ").' non présent dans la base de donnée');
    ENDIF;
    $agi->set_variable("Identifiant", $Identifiant);
    ///Renvoi du résultat à la variable identifiant de mon dialplan

    ?>

  7. #37
    Membre
    Date d'inscription
    février 2011
    Localisation
    Saint-Marcellin (Isère)
    Messages
    46
    Downloads
    0
    Uploads
    0
    $Connexion correspond à la chaine de connexion mysql dan sale fichier slqconnexion.php

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
  •