script python pour un serveur asterisk
bonsoir ou bonjour :)
je viens vers vous pour un problème de script asterisk.
j'ai voulu crée un script qu'il calcul le temp passer au téléphone et qu'il soustrait du forfait,en local avec le CDR de asterisk,il fonctionne mais mon script ne peux etre lancer par le serveur pour l'annoncer a l'utilisateur.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #!/usr/bin/python
from datetime import date
import sys,os,csv
heuretotal=108000
numero_appelant="101"
fname = "/var/log/asterisk/cdr-csv/Master.csv"
file = open(fname, "rb")
reader = csv.reader(file)
for row in reader:
if row[1]==numero_appelant and row[3]=="administratif":
heuretotal=heuretotal-row[13]
print(heuretotal) |
j'ai voulu ensuite le transformer pour que le serveur asterisk le comprenne et puisse dire la valeur de heuretotal mais il ne fonctionne pas,voici le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| #!/usr/bin/python
import sys,os,datetime,csv
def log(msg):
open('/tmp/python.agi.log','a').write("-"+msg+"\n")
def get_param():
dico={}
ch = sys.stdin.readline().strip()
while ch != "" :
tab = ch.split(":")
dico[tab[0]]=tab[1].strip()
ch = sys.stdin.readline().strip()
return dico
def send_return(ch):
sys.stdout.write(ch+" \"\"\n")
sys.stdout.flush()
ch="rien"
heuretotal=108000
numero_appelant="101"
fname = "/var/log/asterisk/cdr-csv/Master.csv"
file = open(fname, "rb")
reader = csv.reader(file)
for element2 in reader :
log(element2)
if element2[1]==numero_appelant and element2[3]=="administratif":
ch=heuretotal-element2[13]
log(ch)
param = get_param()
log(str(param))
log(ch)
send_return("SAY NUMBER "+ch) |
ci quelqu'un pourrais m'aider a comprendre mais erreur s'il vous plait,je tiens a préciser que mon fichier extensions.conf fonctionne correctement :/