PDA

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

jean
27/03/2014, 17h16
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.

jean
28/03/2014, 22h24
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

YBDOMO
30/03/2014, 09h40
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.

jean
31/03/2014, 14h24
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

jean
31/03/2014, 22h13
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

YBDOMO
01/04/2014, 16h57
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+