PDA

Voir la version complète : Scritp AGI et PHP : interaction entre asterisk et application web php



nabyl
30/07/2012, 15h01
J'ai mis en place la téléphonie avec Asterisk 1.8 (qui marche bien) et dans la suite de mon cahier de charges je suis tenu de développer une application web en php (qui est déjà en place) avec laquelle asterisk va interagir. Je m'explique : lorsqu'un client appelera le standard pour demander le solde de son compte il faudra que asterisk puisse recupérer le numero de l'appelant et ensuite le prendre en paramètre dans un script php et l'envoyer à l'application qui ensuite à son tour lui retournera (à asterisk) le resultat sous forme de "string" (chaine de caractère) et qui sera lu par le module festival(c'est un application de lecture de texte) (que j'ai dejà installé) ainsi l'appellant pourra écouter le solde de son compte communiqué par le standard.

Quelqu'un peut-il m'aider, sur le comment du script ? et l'interaction entre ces deux entités (asterisk et l'application web) !

Reaper
30/07/2012, 23h58
Bonjour, sans savoir programmer en php j'ai pu effectuer ce type de demande avec les exemples sur la page de wiki http://www.voip-info.org/wiki/view/Asterisk+AGI+php

Ils sont simples et lisibles.

nabyl
01/08/2012, 14h20
Puis je voir des exemples de tes scripts, je voudrais avoir un truc qui marche et puis l'adapter à mon cas !

nabyl
01/08/2012, 14h57
Quelqu'un peut m'aider ? je fais du sur place dans mes codes qui ne produisent rien à rien !

etann38
06/08/2012, 06h36
Salut Nabil,
Moi, j'ai aussi utilisé un script php... Mais l'agi n'était pas oppérationnel chez moi j'ai fait tout autrement.
J'ai utilisé tout d'abord une autre voix (ibm) qui me semble plus compréhensible.
Voici un bout de mon script extensions.conf
[Maison]
exten => s,1,Ringing()
exten => s,2,Wait(1)
exten => s,3,Answer()
exten => s,4,PlayBack(${ChmAudio}/Bienvenu)
exten => s,5,Goto(Maison,TousTels,1)
exten => TousTels,1,Set(CALLFILENAME=${ChmEnreg}/Entrant/${STRFTIME(${EPOCH},,%Y-%m-%d_%H%M)}-${CALLERID(num)})
exten => TousTels,2,Set(__ContextProvenance=Maison)
exten => TousTels,3,Set(__ExtensionProvenance=TousTels)
exten => TousTels,4,Monitor(wav,${CALLFILENAME},m)
exten => TousTels,5,Set(CHANNEL(musicclass)=Attente)
exten => TousTels,6,agi(Identifiant.php,${CALLERID(num)})
exten => TousTels,7,Set(__Identifiant=${Identifiant})
exten => TousTels,8,System(/usr/bin/sox /var/local/Monitor/Asterisk/Appelant.wav -r 8000 /var/local/Monitor/Asterisk/Appelant.ogg && /bin/chmod +x /var/local/Monitor/Asterisk/Appelant.ogg && /bin/rm /var/local/Monitor/Asterisk/*.wav)
exten => TousTels,9,DIAL(SIP/SPABureau&SIP/SPASallon&SIP/SPAStudio,40,rG(RecupAppel^Choix^1))
exten => TousTels,10,GoToIf($["${DIALSTATUS}" == "CHANUNAVAIL"] ?TousTels,13)
exten => TousTels,11,Voicemail(713@MANU,bs)
exten => TousTels,12,hangup
exten => TousTels,13,Voicemail(713@MANU,us)
exten => TousTels,14,hangup

J'utilise ce procédé car je suis aveugle et je ne peux pas lire l'écran de mon téléphone.
J'ai stocké un carnet d'adresse sur une base mysql.
Lorsque quelqu'un m'appelle, je décroche et j'ai le choix de refuser l'appel ou l'accepter.
Voici mon autre "fonction"
[RecupAppel]
exten => Choix,1,GoTo(RecupAppel,ring,1)
exten => Choix,2,GoTo(RecupAppel,identity,1)
exten => identity,1,Wait(1)
exten => identity,2,PlayBack(${ChmAudio}/AppelQui)
exten => identity,3,PlayBack(/var/local/Monitor/Asterisk/Appelant)
exten => identity,4,Background(${ChmAudio}/AppelChoix)
exten => identity,5,WaitExten(3)
exten => 1,1,Pickup(ring@RecupAppel)
exten => 2,1,GoTo(RecupAppel,identity,4)
exten => t,1,GoTo(${CONTEXT},identity,1)
exten => ring,1,Dial(LOCAL/null@RecupAppel,20,rg)
exten => ring,2,GoToIf($["${DIALSTATUS}" == "ANSWER"] ?h,1)
exten => null,1,Wait(100)

Puis voici mon script php :
#!/usr/bin/php
<?php
///REQUIRE("phpagi.php");
INCLUDE("ConnexionSql.php");
///$agi = new AGI();
$Num = $_SERVER['argv'][1];
///$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;
$Identifiant = '/usr/bin/say -w /var/local/Monitor/Asterisk/Appelant.wav "'.$Identifiant.'"';
///$agi->set_variable("Identifiant", $Identifiant);
exec("$Identifiant");
?>

Pour l'instant ça répond à ma demande actuelle mais je cherche quand-même à faire fonctionner l'agi donc si quelqu'un peut m'aider !!!
J'espère nabil que cela pourra t'aider aussi.

nabyl
06/08/2012, 14h43
etann38, merci pour ta compil je vais voir comment je peux me l'adapter mais jusque là je veux faire marcher mon AGI !

etann38
06/08/2012, 14h47
Oui, je suis d'accord !
Ma sollution, un peu cascadeuse malgré tout, pourrait tout à fait fonctionner dans ton cas aussi...

A toi de voir en tout cas !

etann38
06/08/2012, 16h41
Nabil,
Après avoir écumer le net pour configurer et installer phpagi : j'ai de bons réusltats :
Voici mes testes :
1. On appelle le 100 avec le tel avec le callerid(num)=714
2. On lance l'agi qui va chercher si en base de donnée le numéro 714 correspond.
Et on renvoie la valeur : le nom ou le message 714 non présent en base de donnée :
extensions.conf
[Test]
exten => 100,1,agi(test.php,${CALLERID(num)})
exten => 100,2,Set(__Identifiant=${Identifiant})
exten => 100,3,noop("C'est un test d'affichage de variable ${Identifiant})

test.php
#!/usr/bin/php
<?php
REQUIRE("phpagi-2.20/phpagi.php");
$agi = new AGI();
$Num = $agi->request[agi_callerid];
///requete SQL
///resultat
$Identifiant = $Num;

$agi->set_variable("Identifiant", $Identifiant);
?>

Adaptes tout ça pour ton cas !
Vive asterisk !

nabyl
11/09/2012, 16h19
etann38, j'ai un gros gros soucis mes script php simples ne s'executent pas sous asterisk 1.8 je ne sais pas pourquoi ! je galère grave ! je voudrais que tu m'explique succintement comment t'a pu faire fonctionner tes scripts à toi ! de la config jusqu'a la mise en oeuvre et l'execution ! Mil merci d'avance .........................

etann38
11/09/2012, 16h29
Euh, je ne vais pas te détailler l'installation complète d'asterisk ici... Y'a plein de tuto sur le net et ce serait trop long !
Mais peut-être que tu devrais vérifier si sur ta machine qui execute asterisk le phpcli est bien installé.
Et vérifer dans ton script php si le chemin d'exécution php est bon...
Je suis en train de réaliser une documentation pour toute mon installation asterisk, si tu passiente un peut je te l'enverrai !

nabyl
12/09/2012, 14h24
Etann38 je t'explique !

J'ai une BD sous Mysql qui a 3 tables : client(code_clt,nom_clt), compte(code_cpt,solde_courant, solde_debiteur) et phone(numero,code_pin,code_clt,code_cpt)

J'ai écris un script agi qui doit permettre de récupérer la valeur du solde courant de l'appellant (Callerid(num)) lorsqu'il sollicite cela comme je vais l'indiquer dans mon Dialplan , mais je coince grave ! regarde mon script : solde.agi

#!/usr/bin/php5
<?php
/*
//temps limite d'execution du script 30 secondes
set_time_limit(60);

// supprime le "buffering" sur les sorties
ob_implicit_flush(false);

// supprime l'affichage des erreurs pour éviter que celles-ci interferent avec Asterisk
error_reporting(0);

// creation des log avec droit d'écriture
$stdlog= fopen("/var/log/asterisk/infosolde.log", "w");

// creation des fichiers STDIN, STDOUT et STDERR qui se chargera de toutes les communications
//entre Asterisk et notre script php
if(!defined('STDIN')) define('STDIN', fopen('php://stdin', 'r'));
if(!defined('STDOUT')) define('STDOUT', fopen('php://stdout', 'w'));
if(!defined('STDERR')) define('STDERR', fopen('php://stderr', 'w'));

$pdo_options [PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=blalla', 'admin', 'admin', $pdo_options);

//On fait une requete du numero
$req = $bdd->prepare('SELECT numero FROM phone WHERE numero = :callid');

// va verifier s'il existe
$donnees = $req->fetch();

// $reqsolde=$bdd->prepare("SELECT solde_courant as sd FROM phone,compte WHERE phone.code_cpt=compte.code_cpt AND numero=$callid");
$reqsolde->execute(array(':numero'=>$[callid]));
$reqsolde->execute();
$row= $reqsolde ->fetch();

$result_solde='<tr><td>Le solde du numero </td>'.$callid.'<td> est de </td>'.$row['sd'].'<td> FCFA</td></tr>';

echo $result_solde;

fclose($stdlog);
$bdd =null;
?>

Mon dialplan :

exten => s,1,Festival(Please enter your phone number to check your request, thanks you)
exten => s,2,Read(callid)
exten => s,3,Gotoif($[${callid} = CALLERID(num)]?5:2)
exten => s,4,Festival(You have enter the correct number)
exten => s,5,agi(/usr/share/asterisk/agi-bin/solde.agi, ${callid})
exten => s,6,Festival(you are welcome)
exten => s,7,Hangup()



Ce que je voudrais savoir c'est comment faire pour passer en paramètre le numero de l'appellant pour que le script puisse réssir son execution, car vous tu peux le constater à la ligne 5 j'ai passé ${callid} en paramètre mais lorsque j'ouvre la CLI je n'ai aucun resulat mais en revanche tout le dialplan ci-dessus s'execute jusqu'au Hangup()...


En passant lorsque j'ouvre le fichier solde.agi et que je fixe le callid ($callid=23) et que j'execute le dialplan je vois apparaitre dans la CLI la valeur exacte qui se trouve dans ma BD du solde courant pour ce numero

J'aimerais un coup de main, Merci l'ami..........

etann38
12/09/2012, 19h28
#!/usr/bin/php
<?php
///REQUIRE("phpagi.php");
INCLUDE("ConnexionSql.php");
$agi = new AGI();
$Num = $_SERVER['argv'][1]; /// c ça qui permet de récupérer une variable 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);

?>

Reaper
12/09/2012, 19h40
Met le Noop(${callid}) avant pour voir si c'est ton read() qui fonctionne mal.

nabyl
14/09/2012, 11h28
Etann38 !

Merci bien mais je serai heureux que tu puisse mieux commenter ton code !

etann38
14/09/2012, 11h51
#!/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

?>
Je ne suis pas expert en asterisk lol...
Ce code fonctionne en tout cas, il faut juste l'adapter à ton cas!

nabyl
14/09/2012, 13h35
Etann38

$REQSelection = "SELECT CONCAT(prenom,' ',nom) AS Contact FROM $TBLC WHERE TelPort LIKE

Que represente la variable $TBLC dans ton cas !

etann38
14/09/2012, 13h47
Ce n'est pas très important.
Mais bon, la variable $TBLC correspond au nom de ma table où je vais chercher mes infos

nabyl
14/09/2012, 14h52
Etann38 :hello:

Mil merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ça marche comme sur dè roulette !

etann38
14/09/2012, 15h25
J'en suis ravi Nabil,
Bon courage pour la suite!

fybiyoh
02/04/2013, 09h46
Bonjour Etann38, je suis Fabrice et vous écris du Congo à Pointe-Noire.

je voudrais créer un script pour interfacer asterisk avec une application web. je souhaiterai que l’authentication se fasse a partir du callerid c’est à dire quand j’appelle ma centrale téléphonique, asterisk reconnais mon numéro puis lance une page web en m’authentifiant avec mon username ainsi que mon mot de passe. alors humblement, je fais appel à vos connaissance pour m’aider si cela est possible.

Merci d’avance.

etann38
02/04/2013, 09h53
Bonjour Fabrice,
Je n'ai pas vraiment compris votre projet.
Quel est l'intérêt d'appeler asterisk, qu'il vous authentifie et qu'il lance une page web avec vos nom d'utilisateur et mot de passe ?
Décrivez plus précisément votre projet !!!
Merci !!!

EJFJCorp
16/04/2013, 15h03
Sur internet, il y a tout... Renvoyer quelqu'un sur le net est une absurdité, tout n'est pas juste, bien au contraire, sur internet!

Il y a des très jolis scripts, et possibilités avec Asterisk, seulement c'est à chacun de bricoler pour faire fonctionner, or c'est normalement à Asterisk qui propose une solution, de s'assurer que tout va fonctionner au mieux, et poser des questions simples aux administrateurs, pour savoir comment exploiter au mieux les composants présents sur le réseau, les extensions, les scripts, les fonctionnalités supplémentaires, ... La version 2.0.0. d'Asterisk est la seule possibilité, et hélas Medical Technologies devra peut-être retirer les droits à Digium, pour les céder à une autre société, probablement ErgoSum Operating Systems qui a déjà repris les droits de Microsoft Corporation... Il faut simplifier, afin de permettre à chacun de faire que le meilleur, sans configuration, sans aucun problème, sans se poser de question... Pour le reste, les améliorations, là oui, il faut se poser des questions, et SDC++ et SMC++ permettent de trouver les moyens de réaliser tout ce qu'il manque, à qui a un peu de temps à consacrer... Merci pour votre volonté de faire fonctionner cet outil de malheur, mélange de paramètres, produits, standards, besoins, idées, problèmes, solutions, scripts, faux outils, mensonges, ... Il y a pour lînstant aucun serveur vocal qui respecten les standards d'EJFJ Coproration (C.D.M.) datant de 1996! Il faut simplifier, comme en justice, comme en politique, comme en tout! L'humain est trop compliqué, pas parfait, les machines doivent au contraire simplifier en rendre effective tout ce qui doit être fait, sans aucun problème (ou alors ils n'ont qu'à être réglés automatiquement!). L'économie, c'est ça! De plus, ça permet de faire beaucoup plus de choses utiles, plus vite, plus simplement, avec plus de satisfaction!

EJFJCorp
16/04/2013, 15h46
Nous avons des conditions générales très restrictives, car nous sommes 1/12 dans le monde, alors que nous devrions être 1200 chez EJFJ Corporation, sur 1200 dans le monde... Nous devons nous concentrer sur les clients qui nous rétribuent justement, nous devons donc automatiquement enregistrer le client suivant le numéro d'appel, et le reconnaître, vérifier de combien il dispose pour profiter ou non de nos prestatations, et à défaut, lui indiquer les conditions (possibilité de les demandes par email à ejfjcorp+conditions@gmail.com) et lui permettre de nous solliciter dans les plus brefs délais dès qu'il en est apte... Nous devons aussi reconnaître des numéros particuliers, ceux des collaborateurs, ceux des partenaires, ceux des membres de la famille de chacun des employés pour les rediriger directement vers le portable de l'employé,... Le répondeur est vocal bidirectionnel, il écoute ce que dit l'interlocuteur alors qu'une synthèse vocale (préenregistrée, pour la plupart du temps) fournit les informations... Le choix de la langue par exemple est fait ainsi, cf fichiers joints... Qui ne sont d'ailleurs pas acceptés par Asterisk... Fichier non valide à l'importation ici... Rien ne va... Merci pour votre aide...

greg2901
19/04/2013, 12h02
Quel est le rapport entre, le sujet de départ du post a savoir: "Scritp AGI et PHP : interaction entre asterisk et application web php" et votre opinion personnel sur Asterisk ?

Si vous avez besoin d'aide, commencez par créer votre propre post, en indiquant clairement votre problème, avec les petites formule de politesse et tout et tout, en suite si Asterisk ne vous convient pas, libre a vous de vous tourner vers des professionnels qui vous vendront avec plaisir de l'Alcatel ou de l'Astra avec plein de licences payantes et vous aurez le service que vous souhaitez, Asterisk a le mérite d'etre gratuit, il est vrai qu'on ne peut pas avoir le beure, l'argent du beure et le numéro de la crémiere...
Merci

aliamini
12/01/2014, 14h10
bonjour nabyl vous allez bien.s'il vous plait je travaille sur asterisk et une partie de mon memoire porte sur c que t as realisé sa reste la derniere parti pour finaliser mon memoire j'ai pas des idés est ce que vous pouvez m'envoiyer un tuto pour que je puisse finaliser
sael@hotmail.fr


merci

noga
02/05/2014, 01h09
Salut etann38 je suis en train de faire de la reconnaissance vocale avec asterisk.je m'explique: quand l'utilisateur appelle le serveur lui demande son besoin et l'utilisateur répond après le serveur traite sa requête et lui transmet la réponse,j'ai crée une base de donnée ou on stocke les informations qu'on doit retourner aux clients.J'attend votre aide

noga
02/05/2014, 01h15
Salut chers membres je suis en train de faire de la reconnaissance vocale avec asterisk.je m'explique: quand l'utilisateur appelle le serveur lui demande son besoin et l'utilisateur répond après le serveur traite sa requête et lui transmet la réponse,j'ai crée une base de donnée ou on stocke les informations qu'on doit retourner aux clients.J'attend votre aide

etann38
02/05/2014, 02h25
Salut,
J'avais mis cette solution gratuite en place il y a quelques années sur asterisk 1.6.
http://www.voip-info.org/wiki/view/Asterisk+cmd+ASR
ça fonctionne mais c'est relativement limiter en terme de mots.
Je l'avais utilisé uniquement dans un IVR et c'était plutôt concluant.
Sinon, si tu veux quelques choses de pro et qui marche semble-t-il (car pas tester à cause des tarifs) c'est humanvox...
Voilà...

noga
02/05/2014, 21h24
Merci je vais écrire un script php et essayer de le combiner avec votre dialplan c'est simplement un projet de classe

etann38
02/05/2014, 21h37
ça roule...
N'hésitez pas si vous avez besoin d'aide...

noga
03/05/2014, 01h40
D'acord c'est gentil

lilibess
20/08/2015, 19h26
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.

etann38
21/08/2015, 11h20
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 ?

lilibess
21/08/2015, 12h08
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

etann38
21/08/2015, 12h47
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.

lilibess
21/08/2015, 13h47
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

?>

etann38
21/08/2015, 13h59
$Connexion correspond à la chaine de connexion mysql dan sale fichier slqconnexion.php