public SIPSorceryPersistor(StorageTypes storageType, string storageConnectionStr) { if (storageType == StorageTypes.XML) { if (!storageConnectionStr.Contains(":")) { // Relative path. storageConnectionStr = AppDomain.CurrentDomain.BaseDirectory + storageConnectionStr; } if (!storageConnectionStr.EndsWith(@"\")) { storageConnectionStr += @"\"; } if (!Directory.Exists(storageConnectionStr)) { throw new ApplicationException("Directory " + storageConnectionStr + " does not exist for XML persistor."); } } m_sipAccountsPersistor = SIPAssetPersistorFactory <SIPAccount> .CreateSIPAssetPersistor(storageType, storageConnectionStr, m_sipAccountsXMLFilename); m_dialPlanPersistor = SIPAssetPersistorFactory <SIPDialPlan> .CreateSIPAssetPersistor(storageType, storageConnectionStr, m_sipDialplansXMLFilename); m_sipProvidersPersistor = SIPAssetPersistorFactory <SIPProvider> .CreateSIPAssetPersistor(storageType, storageConnectionStr, m_sipProvidersXMLFilename); m_sipProviderBindingsPersistor = SIPAssetPersistorFactory <SIPProviderBinding> .CreateSIPAssetPersistor(storageType, storageConnectionStr, m_sipProviderBindingsXMLFilename); m_sipDomainManager = new SIPDomainManager(storageType, storageConnectionStr); m_sipRegistrarBindingPersistor = SIPAssetPersistorFactory <SIPRegistrarBinding> .CreateSIPAssetPersistor(storageType, storageConnectionStr, m_sipRegistrarBindingsXMLFilename); m_sipDialoguePersistor = SIPAssetPersistorFactory <SIPDialogueAsset> .CreateSIPAssetPersistor(storageType, storageConnectionStr, m_sipDialoguesXMLFilename); m_sipCDRPersistor = SIPAssetPersistorFactory <SIPCDRAsset> .CreateSIPAssetPersistor(storageType, storageConnectionStr, m_sipCDRsXMLFilename); //if (m_sipCDRPersistor != null) //{ // ThreadPool.QueueUserWorkItem(delegate { WriteCDRs(); }); //} }