Voir la version complète : Asterisk et AMI
etudiant
27/03/2014, 16h16
Bonjour,
je ne comprends comment utiliser AMI en Asterisk :mmmfff:
Qlq peut me donner un exemple ou un tuto ? je cherche et je ne trouve pas :sweat:
Merci d'avance
p'tit script bash qui liste tous les numéros enregistrés via AMI:
exec 3<> /dev/tcp/127.0.0.1/5038
echo -e "Action: Login
Username: MONUSERNAME
Secret: MONPASS" >&3
read r <&3
echo -e "Action:Login&username=MONUSERNAME&secret=MONPASS\n" >&3
read r <&3
echo -e "Action: SipShowRegistry\n" >&3
while read zz
do
p2=`echo $zz |awk '{printf ("%s",$2)}' | tr -d '\r'`
if [[ "$p2" == "RegistrationsComplete" ]] ; then
break
else
if [[ "`echo $zz |awk '{print $1}'`" == "Username:" ]] ; then
echo "$p2"
fi
fi
done <&3
exec 3<&-
exec 3>&-
je sais, j'aime les noms de variable à rallonge et les commentaires.....
etudiant
28/03/2014, 21h43
Bsr,
Merci pour votre réponse
je veux exécuter ce petit script mais j'arrive pas :mouais:
use warnings;
use Asterisk::AMI;
my $astman = Asterisk::AMI->new(PeerAddr => '127.0.0.1',
Username => 'admin',
Secret => 'mariem',
Timeout => 3,
keepalive => 60,
on_error => sub {print "Error occured on socket\r\n";exit; },
on_timeout => sub {print "Cnx to Asterisk out\r\n"; exit; },
Blocking => 0
);
die "Unable to connect to asterisk" unless ($astman);
Mais je reçois ce msg d'erreur :
Can't locate Asterisk/AMI.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at ./loop.pl line 5.
BEGIN failed--compilation aborted at ./loop.pl line 5.
je me suis jamais mis à perl, mais manifestement, il te faut installer un fichier Asterisk/AMI.pm qui contient la classe AMI, et il n'est pas trouvé / manque
etudiant
29/03/2014, 14h05
Non tjrs le même problème
Bonjour,
Voir http://search.cpan.org/~greenbean/Asterisk-AMI-v0.2.8/lib/Asterisk/AMI.pm
A+
etudiant
30/03/2014, 14h52
Slt,
j'ai essayé ce tuto déjà mais toujours le même problème :/
Can't locate Asterisk/AMI.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at ./value.pl line 3.
BEGIN failed--compilation aborted at ./value.pl line 3.
j il te faut installer un fichier Asterisk/AMI.pm qui contient la classe AMI, et il n'est pas trouvé / manque
- tu n'as toujours pas fait ça
- inutile de multiplier les threads, on n'est pas des milliers sur le forum, et on s'en rend compte - et si on n'a pas répondu au premier, y'a peu de chances que le 2nd soit répondu...
etudiant
31/03/2014, 21h42
<< il te faut installer un fichier Asterisk/AMI.pm qui contient la classe AMI, et il n'est pas trouvé / manque>>
1- J'ai déjà pensé à ça même avant de publier le post j'ai cherché sur Internet comment le faire et j'ai pas trouvé c'est pk j'ai demandé sur ce forum donc ce que vous avez proposé, franchement, n'est pas du nouveau pour moi. Je cherche la manière de le faire et je ne trouve pas.
2- Concernant les threads, je cherche une solution à mon problème je réalise tout un projet professionnel et je ne fais pas des publications pour rien je sais bien qu'on n'est pas des milliers sur ce forum, et que vous pouvez rendre compte. En probabilité, il faut maximiser le nombre de chance pour réussir.
En tout cas, Merci pour votre aide
google, asterisk ami perl
premier lien (pour moi): http://search.cpan.org/dist/perl-Asterisk-AMI/
download
magie.... un fichier "Asterisk-AMI-v0.2.8.tar.gz" est chargé, avec dedans un répertoire lib
je connais toujours pas perl, mais au pif, je mettrai le contenu de lib (ie asterisk) dans le répertoire courant, ou si ça marche pas, au pif, dans /usr/lib/perl5
Bonjour,
Pour installer AMI.pm
if faut se placer dans le repertoire Asterisk-AMI-v0.2.8
taper perl Makefile.PL
ensuite taper make
verifier que ça c'est bien passer par make test
si OK
taper make install
et ça fonctionne
A+
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. Tous droits réservés