[sip] Factorisation et mise au propre des scripts pour asterisk

This commit is contained in:
Valentin Samir 2013-06-16 21:58:47 +02:00
parent 9b5c5eb93d
commit 399bf75dbe
20 changed files with 475 additions and 201 deletions

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
import asterisk
import time
import sys
@ -18,38 +18,16 @@ reload_srv={
'all':['chan_sip','app_voicemail','pbx_config'],
}
manager = asterisk.Manager(user, password, server=server, auto_connect=False, timeout=timeout)
def reload_config(config):
if not config in reload_srv.keys():
print >> sys.stderr, "Reload config from : \n * %s" % ('\n * '.join( reload_srv.keys()))
print >> sys.stderr, "Usage %s [%s]" %(sys.argv[0],'|'.join(reload_srv.keys()))
return
sock = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
def send(str):
msg='%s\r\n' % (str)
sock.send (msg)
sock.settimeout(timeout)
sock.connect ( ( server, port ) )
send ( 'ACTION: LOGIN')
send ( 'USERNAME: %s' % user)
send ( 'SECRET: %s' % password)
send ( '')
manager.connect()
for module in reload_srv[config]:
send ( 'ACTION: RELOAD')
send ( 'MODULE: %s' % module)
send ( 'ActionID: %s' % time.time())
send ( '')
send ( 'ACTION: LOGOFF')
send ( '')
data=[]
while True:
data.extend(sock.recv( 4096 ).split('\r\n'))
if data==['']:
sock.close()
return
while len(data)>0:
del data[0]
sock.close()
try:manager.reload(module)
except ValueError: pass
manager.logoff()
if __name__ == '__main__' :
if len(sys.argv)<2: