PDA

Voir la version complète : capturer le numéro d'un appel entrant



selacoul
12/02/2014, 14h28
Bonjour tout le monde,

En faite je veux capturer le numéro d'un appelant et l’écrire sur un fichier sur mon disque dur
Voici mon code:
******/usr/share/asterisk/agi-bin/*******
#!/usr/bin/env python


import sys, os, socket

def get():
res = sys.stdin.readline()
res = res.strip()
response,delim,result=res.partition(' ')
result=result.split('=')[1].strip()
result,delim,data = result.partition(' ')
return response,result,data
def send(data)
sys.stdout.write("%s \n"%data)
sys.stdout.flush()
AGIENV={}
env = ""
while(env !="\n"):
env = sys.stdin.readline()
envdata = env.split(":")
if len(envdata)==2:
AGIENV[envdata[0].strip()]=envdata[1].strip()
incomingnumber = AGIENV['agi_callerid']
outgoingnumber = AGIENV['agi_extension']

******ICI je donne le non du fichier directement sans le chemin d'accès******************
monfichier = open('fichier.txt','w')
monfichier.write(incomingnumber)
monfichier.close()
********ICI le chemin d'accès commplet du fichier*******************
monfichier = open('/usr/share/asterisk/agi-bin/fichier.txt','w')
monfichier.write(incomingnumber)
monfichier.close()



***************Sur mon console*************************************
-- Executing [100001@ibs:1] AGI("SIP/Karim-00000000", "Asterisk2xPL.agi") in new stack
-- Launched AGI Script /usr/share/asterisk/agi-bin/Asterisk2xPL.agi
-- <SIP/Karim-00000000>AGI Script Asterisk2xPL.agi completed, returning 0


Mais quand je regarde dans le fichier c'est toujours vide.
j'ai même essayer d'ecrire une chaine de caractere pour voir : monfichier.write( 'incomingnumber' ) . Mais toujours rien.

Si qlq'un sait d'où vient ce problème son aide me sera vraiment utile.. ça fait 2 jours que je galère la dessus....
Merciiii cordialement

quintana
12/02/2014, 15h15
Salut ton agi retourne 0 donc elle ne fonctionne pas. Quand tu exécutes ton script seul il fonctionne ? Pourquoi ne pas utiliser une bibliothèque python existante pour te simplifier la tâche avec les AGI ?

selacoul
12/02/2014, 16h47
Bonjour quintana

en faite je ne connais pas les bibliothèques qui me permettent de capturer le numéro appelant
et l'utilisé après.
Si vous connaissez svp pouviez me donnez un exemple(d'utilisation)?
merci d'avance.

quintana
13/02/2014, 02h13
Mon ami Google me donne le premier lien suivant http://astbook.asteriskdocs.org/en/2nd_Edition/asterisk-book-html-chunk/asterisk-CHP-9-SECT-4.html

Tu peux utiliser pyst comme indiqué à la fin du chapitre.

selacoul
13/02/2014, 18h33
Merci beaucoup
j'ai consulté le lien c'est très intéressant.
J'ai trouvé la solution je le posterais prochaine.......
Pour aider d'autres..