-
Quelqu'un peut m'aider ? je fais du sur place dans mes codes qui ne produisent rien à rien !
"Votre Atitude determinera votre Altitude dans la vie !"
-
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.
-
etann38, merci pour ta compil je vais voir comment je peux me l'adapter mais jusque là je veux faire marcher mon AGI !
"Votre Atitude determinera votre Altitude dans la vie !"
-
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 !
-
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 !
-
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 .........................
"Votre Atitude determinera votre Altitude dans la vie !"
-
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 !
-
script AGI et PHP
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
-
reconnaissance vocale avec asterisk
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
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
-
Règles du forum