Ajout des script pour asterisk

This commit is contained in:
Valentin Samir 2013-03-15 22:53:43 +01:00
parent e9bae60ef9
commit 124d4a83e1
12 changed files with 286 additions and 0 deletions

29
sip/sip_multidial.py Executable file
View file

@ -0,0 +1,29 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys,os,hashlib
sys.path.append('/usr/scripts/gestion')
sys.path.append('/usr/scripts/lc_ldap')
sys.path.append('/etc/crans/secrets/')
import secrets,lc_ldap
from sh import asterisk
conn=lc_ldap.lc_ldap_admin()
def gen_multidial(droit):
dial="exten => %(droit)s,1,Ringing\nexten => %(droit)s,n,Wait(4)\nexten => %(droit)s,n,Answer\nexten => %(droit)s,n,Dial(" % {'droit':droit}
adhs=conn.search('(&(droits=%s)(!(chbre=EXT)))' % droit)
for nounou in adhs:
dial+="SIP/1%04d&" % nounou['aid'][0].value
return dial[:-1]+",30)\nexten => %(droit)s,n,Wait(3)\nexten => %(droit)s,n,VoiceMail(%(droit)s@666)\nexten => %(droit)s,n,Hangup()\n" % {'droit':droit}
multidial=gen_multidial('nounou') + gen_multidial('bureau') + gen_multidial('cableur') + gen_multidial('imprimeur')
multidial_md5=hashlib.md5(multidial).hexdigest()
multidial_old_md5=hashlib.md5(open('/usr/scripts/var/sip/sip_multidial','r').read()).hexdigest()
if multidial_md5 !=multidial_old_md5:
file=open('/usr/scripts/var/sip/sip_multidial.new','w')
file.write(multidial)
file.close()
os.rename('/usr/scripts/var/sip/sip_multidial.new','/usr/scripts/var/sip/sip_multidial')
print asterisk('-x','dialplan reload')