30 lines
1.3 KiB
Python
Executable file
30 lines
1.3 KiB
Python
Executable file
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import sys,os,hashlib
|
|
sys.path.append('/usr/scripts/gestion')
|
|
sys.path.append('/usr/scripts/')
|
|
sys.path.append('/etc/crans/secrets/')
|
|
|
|
import secrets
|
|
import lc_ldap.shortcuts
|
|
from sh import asterisk
|
|
|
|
conn=lc_ldap.shortcuts.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(u'(&(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')
|