Exemplo n.º 1
0
Arquivo: PBX.py Projeto: calston/tums
    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()
Exemplo n.º 2
0
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)