def writeConfig(self, *a): """Write the configuration files""" if PBXUtils.enabled(): # Write PBX Hardware self.PBXHardware = PBXUtils.PBXHardware() self.PBXHardware.save() # Do incremental configs first self.writeProviders() # write the static files self.writeStatics() # Write Sip Config self.writeSipConf() # Write IAX Config self.writeIaxConf() # Write Indications self.writeIndications() # Write HoldMusic self.writeMusicOnHold() # Write Queues self.writeQueues() # Write Binding Extensions self.writeExtensions() # Write Voicemail Settings self.writeVoiceMail() # Create CDR DB self.createCDRDB()
class Plugin(object): parameterHook = "--debzaptel" parameterDescription = "Install Zaptel Drivers" parameterArgs = "" autoRun = False required = "debian" configFiles = [] kernelModules = [ "zaphfc", "qozap", "ztgsm", "wctdm", "wctdm24xxp", "wcfxo", "wcfxs", "pciradio", "tor2", "torisa", "wct1xxp", "wct4xxp", "wcte11xp", "wanpipe", "wcusb", "xpp_usb" ] zaptelbasename = "zaptel-modules" modulesDir = "/lib/modules" zaptelModuleDirectory = "/misc" zaptelaptpkg = "" kernelVersion = "" modulesconfigfile = "/etc/modules" def reloadServices(self): self.loadModules() if(os.path.exists("/etc/zaptel.conf")): os.system('/etc/init.d/zaptel restart') os.system('/sbin/ztcfg -vv') def writeConfig(self, *a): """Writes the configuration files for zaptel to load at boot time""" if not PBXUtils.enabled(): print "PBX System is not enabled" return if not self.checkModules(): if not self.installModules(): print "No automatic kernel support for zaptel detected please manually install Zaptel drivers ..." return try: module_config = open(self.modulesconfigfile, 'r') missing_modules = [] missing_modules += self.kernelModules file_lines = module_config.readlines() for module in file_lines: module = module.rstrip() if module in missing_modules: #If the module is in the config remove it from the missing_modules list missing_modules.remove(module) module_config.close() if len(missing_modules) > 0: #If missing_modules has elements we need to add it to the /etc/modules file file_lines = [line.rstrip() for line in file_lines] file_lines += ["","#Generated by vulani configurator"] file_lines += missing_modules module_config = open(self.modulesconfigfile,'wt') module_config.write(str.join('\n', file_lines)) module_config.close() #Load modules self.loadModules() except Exception, _e: print "Error loading config file %s, %s" % (self.modulesconfigfile, str(_e)) try: hardware = PBXUtils.PBXHardware() if "zaptel" in hardware.plugins.keys(): hardware.plugins["zaptel"].save() self.reloadServices() except Exception, _e: print "Error while applying configuration settings", str(_e)