public void DeploySipProfile(sDeployedProfile profile)
 {
     string str = Utility.ReadEmbeddedResource("Org.Reddragonit.FreeSwitchConfig.DataCore.Generators.resources.BaseConfigurations.sip_profile.st");
     Template st = new Template(str);
     st.SetAttribute("profile", profile);
     DirectoryInfo di = new DirectoryInfo(Settings.Current[Constants.BASE_PATH_NAME].ToString() + Path.DirectorySeparatorChar + Constants.DEFAULT_CONF_DIR +
         Path.DirectorySeparatorChar + Constants.DEFAULT_SIP_PROFILES_PATH + Path.DirectorySeparatorChar + profile.Name);
     if (!di.Exists)
     {
         Log.Trace("Creating SIP profile directory " + profile.Name + " for gateways");
         di.Create();
     }
     FileInfo fi = new FileInfo(di.FullName + ".xml");
     if (fi.Exists)
         fi.Delete();
     Log.Trace("Deploying SIP profile configuration file for sip_profile " + profile.Name);
     FileStream fs = fi.OpenWrite();
     st.WriteToStream(fs);
     fs.Close();
 }
 public void DeployDomain(sDeployedDomain domain)
 {
     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 + domain.Name);
     if (!di.Exists)
     {
         Log.Trace("Creating domain directory " + domain.Name + " for extensions");
         di.Create();
     }
     FileInfo fi = new FileInfo(di.FullName + ".xml");
     if (fi.Exists)
         fi.Delete();
     Log.Trace("Deploying domain configuration file for domain " + domain.Name);
     string str = Utility.ReadEmbeddedResource("Org.Reddragonit.FreeSwitchConfig.DataCore.Generators.resources.BaseConfigurations.domain.st");
     Template st = new Template(str);
     st.SetAttribute("domain", domain);
     FileStream fs = fi.OpenWrite();
     st.WriteToStream(fs);
     fs.Close();
 }
 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 void DeployOutgoingSipTrunk(sDeployedOutgoingSipTrunk trunk)
 {
     DirectoryInfo di = new DirectoryInfo(Settings.Current[Constants.BASE_PATH_NAME].ToString() + Path.DirectorySeparatorChar + Constants.DEFAULT_CONF_DIR +
         Path.DirectorySeparatorChar + Constants.DEFAULT_SIP_PROFILES_PATH + Path.DirectorySeparatorChar + trunk.ProfileName);
     string str = Utility.ReadEmbeddedResource("Org.Reddragonit.FreeSwitchConfig.DataCore.Generators.resources.SIPTrunk.External.st");
     Log.Trace("Generating config file for outgoing sip trunk " + trunk.Name);
     Template st = new Template(str);
     st.SetAttribute("trunk", trunk);
     FileStream fs = new FileStream(di.FullName + Path.DirectorySeparatorChar + trunk.Name + ".xml", FileMode.Create, FileAccess.Write, FileShare.None);
     st.WriteToStream(fs);
     fs.Close();
 }
 public void DeployExtension(sDeployedExtension extension)
 {
     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 + extension.DomainName);
     string str = Utility.ReadEmbeddedResource("Org.Reddragonit.FreeSwitchConfig.DataCore.Generators.resources.Extension.st");
     Log.Trace("Generating config file for extension " + extension.Number);
     Template st = new Template(str);
     st.SetAttribute("ext", extension);
     FileStream fs = new FileStream(di.FullName + Path.DirectorySeparatorChar + extension.Number + ".xml", FileMode.Create, FileAccess.Write, FileShare.None);
     st.WriteToStream(fs);
     fs.Close();
 }