Пример #1
0
        public static void RegenerateIncomingSIPTrunkFile(string extensionNumber, Domain domain)
        {
            if (!IsDomainDeployed(domain.Name))
            {
                Log.Trace("Creating domain " + domain.Name + " to produce an extension");
                RegenerateDomainFile(domain);
            }
            sDeployedIncomingSIPTrunk dit = new sDeployedIncomingSIPTrunk(IncomingSIPTrunk.Load(extensionNumber, domain));

            Lock();
            bool add = true;
            List <sDeployedIncomingSIPTrunk> its = itrunks;

            for (int x = 0; x < its.Count; x++)
            {
                if ((its[x].Number == dit.Number) && (its[x].DomainName == dit.DomainName))
                {
                    its[x] = dit;
                    add    = false;
                    break;
                }
            }
            if (add)
            {
                its.Add(dit);
            }
            itrunks = its;
            UnLock();
            _deployer.DeployIncomingSipTrunk(dit);
            EventController.TriggerEvent(new IncomingSIPTrunkDeploymentEvent(dit));
            Log.Trace("Config file for Internal SIP Trunk " + dit.Number + " has been successfully created");
        }
Пример #2
0
        public void DeployIncomingSipTrunk(sDeployedIncomingSIPTrunk trunk)
        {
            string   intTrunkTemplate = Utility.ReadEmbeddedResource("Org.Reddragonit.FreeSwitchConfig.DataCore.Generators.resources.SIPTrunk.Internal.st");
            Template st = new Template(intTrunkTemplate);

            st.SetAttribute("trunk", trunk);
            DirectoryInfo di = new DirectoryInfo(Settings.Current[Constants.BASE_PATH_NAME].ToString() + Path.DirectorySeparatorChar + Constants.DEFAULT_CONF_DIR +
                                                 Path.DirectorySeparatorChar + Constants.DEFAULT_EXTENSIONS_DIRECTORY + Path.DirectorySeparatorChar + trunk.DomainName);
            FileStream fs = new FileStream(di.FullName + Path.DirectorySeparatorChar + trunk.Number + ".xml", FileMode.Create, FileAccess.Write, FileShare.None);

            st.WriteToStream(fs);
            fs.Close();
        }
 public IncomingSIPTrunkDeploymentEvent(sDeployedIncomingSIPTrunk trunk)
 {
     _pars.Add("Trunk", trunk);
 }
Пример #4
0
 public void DeployIncomingSipTrunk(sDeployedIncomingSIPTrunk trunk)
 {
 }