protected void Button_confirm_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            response_label.Text = string.Empty;
            response_label.ForeColor = System.Drawing.Color.Green;

            Asterisks createdAsterisk = new Asterisks();
            createdAsterisk.name_Asterisk = TextBox_name.Text;
            createdAsterisk.prefix_Asterisk = TextBox_prefix.Text;
            createdAsterisk.ip_address = TextBox_ipAddress.Text;
            createdAsterisk.login_AMI = TextBox_login.Text;
            createdAsterisk.password_AMI = Utils.EncryptAMIPassword(TextBox_password.Text.Trim());
            createdAsterisk.asterisk_owner = Membership.GetUser().UserName.ToString();
            createdAsterisk.tls_enabled = (CheckBox_TLS.Checked) ? 1 : 0;
            createdAsterisk.tls_certDestination = TextBox_certDestination.Text;

            response_label.Text = TrunkManager.trunkManagerInstance.createTrunk(createdAsterisk);
            if (response_label.Text.StartsWith("Nastala") || response_label.Text.StartsWith("Čas"))
            {
                response_label.ForeColor = System.Drawing.Color.Red;
            }
            response_label.Visible = true;
            GridView_Asterisks.DataBind();
        }
    }
示例#2
0
 public List<string> loadUsersInAsterisk(string asteriskName, out string errorMessage)
 {
     errorMessage = string.Empty;
     selectedAsterisk = asteriskAccessLayer.SelectAsterisksByName(asteriskName);
     List<string> usersList = new List<string>();
     try
     {
         login(selectedAsterisk.ip_address, selectedAsterisk.login_AMI, Utils.DecryptAMIPassword(selectedAsterisk.password_AMI));
         usersList = getUsersByAsterisk(selectedAsterisk.name_Asterisk);
         logoff();
     }
     catch (AsterNET.Manager.AuthenticationFailedException afe) { errorMessage = "Načítanie užívateľov zlyhalo!"; }
     catch (AsterNET.Manager.TimeoutException to) { errorMessage = "Načítanie užívateľov zlyhalo!"; }
     catch (AsterNET.Manager.ManagerException me) { errorMessage = "Načítanie užívateľov zlyhalo!"; }
     return usersList;
 }
示例#3
0
 public int insertAsterisk(Asterisks asterisk)
 {
     using (SqlConnection connection = new SqlConnection(CS))
     {
         SqlCommand insertCmd = new SqlCommand("insertAsterisk", connection);
         insertCmd.CommandType = System.Data.CommandType.StoredProcedure;
         insertCmd.Parameters.AddWithValue("@name_Asterisk", asterisk.name_Asterisk);
         insertCmd.Parameters.AddWithValue("@prefix_Asterisk", asterisk.prefix_Asterisk);
         insertCmd.Parameters.AddWithValue("@ip_address", asterisk.ip_address);
         insertCmd.Parameters.AddWithValue("@login_AMI", asterisk.login_AMI);
         insertCmd.Parameters.AddWithValue("@password_AMI", asterisk.password_AMI);
         insertCmd.Parameters.AddWithValue("@asterisk_owner", asterisk.asterisk_owner);
         insertCmd.Parameters.AddWithValue("@tls_enabled", asterisk.tls_enabled);
         insertCmd.Parameters.AddWithValue("@tls_certDestination", asterisk.tls_certDestination);
         connection.Open();
         int returnCode = (int)insertCmd.ExecuteScalar();
         return returnCode;
     };
 }
示例#4
0
    public List<Asterisks> getAsterisksInList(string userName)
    {
        List<Asterisks> list = new List<Asterisks>();
        DataSet ds = SelectAsterisksByUser(userName);
        DataTable dt = ds.Tables[0];

        foreach (DataRow item in ds.Tables[0].Rows)
        {
            Asterisks asterisk = new Asterisks();
            asterisk.id_Asterisk = int.Parse(item["id_Asterisk"].ToString());
            asterisk.name_Asterisk = item["name_Asterisk"].ToString();
            asterisk.ip_address = item["ip_address"].ToString();
            asterisk.prefix_Asterisk = item["prefix_Asterisk"].ToString();
            asterisk.login_AMI = item["login_AMI"].ToString();
            asterisk.password_AMI = item["password_AMI"].ToString();
            asterisk.tls_enabled = int.Parse(item["tls_enabled"].ToString());
            asterisk.tls_certDestination = item["tls_certDestination"].ToString();
            list.Add(asterisk);
        }
        return list;
    }
示例#5
0
 public Asterisks SelectAsterisksByName(string asteriskName)
 {
     using (SqlConnection connection = new SqlConnection(CS))
     {
         SqlCommand selectAsteriskByUserCmd = new SqlCommand("select * from Asterisks where name_Asterisk = @asteriskName", connection);
         selectAsteriskByUserCmd.Parameters.AddWithValue("@asteriskName", asteriskName);
         SqlDataAdapter sda = new SqlDataAdapter(selectAsteriskByUserCmd);
         DataSet ds = new DataSet();
         connection.Open();
         sda.Fill(ds);
         selectAsteriskByUserCmd.ExecuteNonQuery();
         DataTable dt = ds.Tables[0];
         Asterisks asterisk = new Asterisks();
         foreach (DataRow item in ds.Tables[0].Rows)
         {
             asterisk.id_Asterisk = int.Parse(item["id_Asterisk"].ToString());
             asterisk.name_Asterisk = item["name_Asterisk"].ToString();
             asterisk.ip_address = item["ip_address"].ToString();
             asterisk.prefix_Asterisk = item["prefix_Asterisk"].ToString();
             asterisk.login_AMI = item["login_AMI"].ToString();
             asterisk.password_AMI = item["password_AMI"].ToString();
             asterisk.tls_enabled = int.Parse(item["tls_enabled"].ToString());
             asterisk.tls_certDestination = item["tls_certDestination"].ToString();
         }
         return asterisk;
     };
 }
示例#6
0
    public int updateAsterisk(Asterisks asterisk)
    {
        using (SqlConnection connection = new SqlConnection(CS))
        {
            SqlCommand updateCmd = new SqlCommand("updateAsterisk", connection);
            updateCmd.CommandType = CommandType.StoredProcedure;
            updateCmd.Parameters.AddWithValue("@id_Asterisk", asterisk.id_Asterisk);
            updateCmd.Parameters.AddWithValue("@name_Asterisk", asterisk.name_Asterisk);
            updateCmd.Parameters.AddWithValue("@prefix_Asterisk", asterisk.prefix_Asterisk);
            updateCmd.Parameters.AddWithValue("@ip_address", asterisk.ip_address);
            updateCmd.Parameters.AddWithValue("@login_AMI", asterisk.login_AMI);
            updateCmd.Parameters.AddWithValue("@password_AMI", asterisk.password_AMI);
            updateCmd.Parameters.AddWithValue("@tls_enabled", asterisk.tls_enabled);
            updateCmd.Parameters.AddWithValue("@tls_certDestination", asterisk.tls_certDestination);
            connection.Open();
            string returnCode = (string)updateCmd.ExecuteScalar();

            if (returnCode.Contains(asterisk.name_Asterisk))
                return 1;
            else if (returnCode.Contains(asterisk.ip_address))
                return 2;
            else if (returnCode.Contains(asterisk.prefix_Asterisk))
                return 3;
            else
                return -1;
        };
    }
示例#7
0
    public string updateTrunk(Asterisks updatedAsterisk)
    {
        int returnCode;
        rollbackState = false;
        Asterisks currentAsterisk = updatedAsterisk;
        List<Asterisks> asteriskList = asteriskAccessLayer.getAsterisksInList(Membership.GetUser().UserName.ToString());
        textToLog = new StringBuilder();
        Asterisks originalAsterisk = asteriskList.Find(selectedAsterisk => selectedAsterisk.id_Asterisk == updatedAsterisk.id_Asterisk);
        asteriskList.Remove(originalAsterisk);
        List<Asterisks> rollbackList = new List<Asterisks>();

        try
        {
            login(updatedAsterisk.ip_address, updatedAsterisk.login_AMI, Utils.DecryptAMIPassword(updatedAsterisk.password_AMI));
            if ((returnCode = asteriskAccessLayer.updateAsterisk(updatedAsterisk)) == -1)
            {

            }
            else if (returnCode == 1)
            {
                textToLog.Append("<" + originalAsterisk.name_Asterisk + ">: Nazov je zadany!\n");
                return textToLog.ToString();
            }
            else if (returnCode == 2)
            {
                textToLog.Append("<" + originalAsterisk.name_Asterisk + ">: IP adresa je zadana!\n");
                return textToLog.ToString();
            }
            else if (returnCode == 3)
            {
                textToLog.Append("<" + originalAsterisk.name_Asterisk + ">: Prefix je zadany!\n");
                return textToLog.ToString();
            }
            updateTLS(updatedAsterisk.tls_enabled, updatedAsterisk.tls_certDestination, originalAsterisk.tls_certDestination, originalAsterisk.tls_enabled, asteriskList);
            updateContext(originalAsterisk.prefix_Asterisk, updatedAsterisk.prefix_Asterisk);
            rollbackList.Add(updatedAsterisk);
            foreach (Asterisks asterisk in asteriskList)
            {
                currentAsterisk = asterisk;
                login(asterisk.ip_address, asterisk.login_AMI, Utils.DecryptAMIPassword(asterisk.password_AMI));
                updateTrunk(originalAsterisk.name_Asterisk, updatedAsterisk.name_Asterisk, updatedAsterisk.ip_address, originalAsterisk.ip_address);
                updateTLS(asterisk, updatedAsterisk, originalAsterisk);
                updateContext(originalAsterisk.name_Asterisk, updatedAsterisk.name_Asterisk, updatedAsterisk.prefix_Asterisk);
                reloadModules();
                logoff();
                rollbackList.Add(asterisk);
            }
            return textToLog.Append("Zmena Asterisku prebehla úspešne!\n").ToString();
        }
        catch (AuthenticationFailedException)
        {
            rollbackState = true;
            raiseUpdateTrunkErrorEvent("login", currentAsterisk, updatedAsterisk, originalAsterisk, rollbackList, asteriskList);
            return textToLog.Append("Neplatné meno alebo heslo!\n").ToString();
        }
        catch (AsterNET.Manager.TimeoutException)
        {
            rollbackState = true;
            raiseUpdateTrunkErrorEvent("login", currentAsterisk, updatedAsterisk, originalAsterisk, rollbackList, asteriskList);
            return textToLog.Append("Čas spojenia vypršal!\n").ToString();
        }
        catch (ManagerException managerException)
        {
            rollbackState = true;
            raiseUpdateTrunkErrorEvent(managerException.TargetSite.Name, currentAsterisk, updatedAsterisk, originalAsterisk, rollbackList, asteriskList);
            logoff();
            return textToLog.Append("Nastala chyba v:[" + currentAsterisk.name_Asterisk + "]\n" + managerException.Message + "\n").ToString();
        }
        catch (Exception e)
        {
            rollbackState = true;
            raiseUpdateTrunkErrorEvent("unknow", currentAsterisk, updatedAsterisk, originalAsterisk, rollbackList, asteriskList);
            return textToLog.Append("Nastala chyba v:[" + currentAsterisk.name_Asterisk + "]\n" + e.Message + "\n").ToString();
        }
    }
示例#8
0
 public void raiseUpdateTrunkErrorEvent(string errorMethod, Asterisks asteriskArg, Asterisks updatedAsteriskArg, Asterisks originalAsterisk, List<Asterisks> rollbackAsteriskListArg, List<Asterisks> asteriskListArg)
 {
     if (updateError != null)
         updateError(errorMethod, asteriskArg, updatedAsteriskArg, originalAsterisk, rollbackAsteriskListArg, asteriskListArg);
 }
示例#9
0
 public void raiseDeleteTrunkErrorEvent(string errorMethod, Asterisks deletedAsteriskArg, Asterisks currentAsterisks, List<Asterisks> rollbackAsteriskListArg, List<Asterisks> asteriskListArg)
 {
     if (deleteError != null)
         deleteError(errorMethod, deletedAsteriskArg, currentAsterisks, rollbackAsteriskListArg, asteriskListArg);
 }
示例#10
0
 public void raiseAddTrunkErrorEvent(string errorMethod, Asterisks asteriskArg, Asterisks createdAsteriskArg, List<Asterisks> rollbackAsteriskListArg, List<Asterisks> asteriskListArg)
 {
     if (addError != null)
         addError(errorMethod, asteriskArg, createdAsteriskArg, rollbackAsteriskListArg, asteriskListArg);
 }
示例#11
0
    public string createTrunk(Asterisks createdAsterisk)
    {
        Asterisks currentAsterisk = null;
        int returnCode;
        rollbackState = false;
        textToLog = new StringBuilder();
        List<Asterisks> asteriskList = asteriskAccessLayer.getAsterisksInList(Membership.GetUser().UserName.ToString());
        List<Asterisks> rollbackList = new List<Asterisks>();

        try
        {
            login(createdAsterisk.ip_address, createdAsterisk.login_AMI, Utils.DecryptAMIPassword(createdAsterisk.password_AMI));
            if ((returnCode = asteriskAccessLayer.insertAsterisk(createdAsterisk)) == -1)
            {
            }
            else if (returnCode == 1)
            {
                textToLog.Append("<" + createdAsterisk.name_Asterisk + ">: Názov je zadaný!\n");
                return textToLog.ToString();
            }
            else if (returnCode == 2)
            {
                textToLog.Append("<" + createdAsterisk.name_Asterisk + ">: IP adresa je zadaná!\n");
                return textToLog.ToString();
            }
            else if (returnCode == 3)
            {
                textToLog.Append("<" + createdAsterisk.name_Asterisk + ">: Prefix je zadaný!\n");
                return textToLog.ToString();
            }
            addTrunk(asteriskList);
            addTLS(createdAsterisk.tls_enabled, createdAsterisk.tls_certDestination, asteriskList);
            addContext(asteriskList);
            asteriskList.Add(createdAsterisk);
            createInitialContexts(asteriskList);
            asteriskList.Add(createdAsterisk);
            reloadModules();
            logoff();
            foreach (Asterisks asterisk in asteriskList)
            {
                currentAsterisk = asterisk;
                if (asterisk.name_Asterisk.Equals(createdAsterisk.name_Asterisk))
                    continue;
                login(asterisk.ip_address, asterisk.login_AMI, Utils.DecryptAMIPassword(asterisk.password_AMI));
                addTrunk(createdAsterisk.name_Asterisk, createdAsterisk.ip_address, createdAsterisk.tls_enabled, asterisk.tls_enabled);
                addContext(createdAsterisk.name_Asterisk, createdAsterisk.prefix_Asterisk);
                addInclude(createdAsterisk.name_Asterisk);
                checkContexts(asteriskList);
                reloadModules();
                logoff();
                rollbackList.Add(asterisk);
            }
            return textToLog.Append("Pridanie Asterisku prebehlo úspešne!\n").ToString();
        }
        catch (AuthenticationFailedException)
        {
            asteriskList.Remove(createdAsterisk);
            rollbackState = true;
            raiseAddTrunkErrorEvent("login", currentAsterisk, createdAsterisk, rollbackList, asteriskList);
            return textToLog.Append("Neplatné meno alebo heslo!\n").ToString();
        }
        catch (AsterNET.Manager.TimeoutException)
        {
            asteriskList.Remove(createdAsterisk);
            rollbackState = true;
            raiseAddTrunkErrorEvent("login", currentAsterisk, createdAsterisk, rollbackList, asteriskList);
            return textToLog.Append("Čas spojenia vypršal!\n").ToString();
        }
        catch (ManagerException managerException)
        {
            asteriskList.Remove(createdAsterisk);
            rollbackState = true;
            raiseAddTrunkErrorEvent(managerException.TargetSite.Name, currentAsterisk, createdAsterisk, rollbackList, asteriskList);
            logoff();
            return textToLog.Append("Nastala chyba v:[" + currentAsterisk.name_Asterisk + "]\n" + managerException.Message + "\n").ToString();
        }
        catch (Exception e)
        {
            rollbackState = true;
            raiseAddTrunkErrorEvent("login", currentAsterisk, createdAsterisk, rollbackList, asteriskList);
            return textToLog.Append("Nastala chyba v:[" + currentAsterisk.name_Asterisk + "]\n" + e.Message + "\n").ToString();
        }
    }
示例#12
0
    public void rollbackAddAsterisk(string errorMethod, Asterisks asterisk, Asterisks createdAsterisk, List<Asterisks> rollbackList, List<Asterisks> asteriskList)
    {
        try
        {
            if (rollbackList.Count > 0)
            {
                if (errorMethod.Equals("addContext"))
                {
                    login(asterisk.ip_address, asterisk.login_AMI, Utils.DecryptAMIPassword(asterisk.password_AMI));
                    deleteTrunk(createdAsterisk.name_Asterisk);
                    logoff();
                }
                if (errorMethod.Equals("checkContexts"))
                {
                    login(asterisk.ip_address, asterisk.login_AMI, Utils.DecryptAMIPassword(asterisk.password_AMI));
                    deleteTrunk(createdAsterisk.name_Asterisk);
                    deleteContext(createdAsterisk.name_Asterisk);
                    logoff();
                }
                foreach (Asterisks rollbackAsterisk in rollbackList)
                {
                    login(rollbackAsterisk.ip_address, rollbackAsterisk.login_AMI, Utils.DecryptAMIPassword(rollbackAsterisk.password_AMI));
                    deleteTrunk(createdAsterisk.name_Asterisk);
                    deleteContext(createdAsterisk.name_Asterisk);
                    logoff();
                }
                login(createdAsterisk.ip_address, createdAsterisk.login_AMI, Utils.DecryptAMIPassword(createdAsterisk.password_AMI));
                deleteInitialContexts(asteriskList);
                deleteTLS(createdAsterisk.tls_enabled, createdAsterisk.tls_certDestination);
                deleteTrunk(asteriskList);
                asteriskAccessLayer.deleteAsteriskByName(createdAsterisk.name_Asterisk);
                logoff();
            }
            else
            {
                if (errorMethod.Equals("addTLS"))
                {
                    login(createdAsterisk.ip_address, createdAsterisk.login_AMI, Utils.DecryptAMIPassword(createdAsterisk.password_AMI));
                    deleteTrunk(asteriskList);
                    logoff();
                }
                if (errorMethod.Equals("addContext"))
                {
                    login(createdAsterisk.ip_address, createdAsterisk.login_AMI, Utils.DecryptAMIPassword(createdAsterisk.password_AMI));
                    deleteTrunk(asteriskList);
                    deleteTLS(createdAsterisk.tls_enabled, createdAsterisk.tls_certDestination);
                    logoff();
                }
                if (errorMethod.Equals("createInitialContexts"))
                {
                    login(createdAsterisk.ip_address, createdAsterisk.login_AMI, Utils.DecryptAMIPassword(createdAsterisk.password_AMI));
                    deleteTrunk(asteriskList);
                    deleteTLS(createdAsterisk.tls_enabled, createdAsterisk.tls_certDestination);
                    deleteInitialContexts(asteriskList);
                    logoff();
                }
                asteriskAccessLayer.deleteAsteriskByName(createdAsterisk.name_Asterisk);
            }
        }
        catch (Exception e)
        {

        }
    }
示例#13
0
    public void rollbackUpdateAsterisk(string errorMethod, Asterisks currentAsterisk, Asterisks updatedAsterisk, Asterisks originalAsterisk, List<Asterisks> rollbackList, List<Asterisks> asteriskList)
    {
        try
        {
            if (rollbackList.Count > 0)
            {
                if (errorMethod.Equals("updateTLS"))
                {
                    login(currentAsterisk.ip_address, currentAsterisk.login_AMI, Utils.DecryptAMIPassword(currentAsterisk.password_AMI));
                    updateTrunk(updatedAsterisk.name_Asterisk, originalAsterisk.name_Asterisk, originalAsterisk.ip_address, updatedAsterisk.ip_address);
                    logoff();
                }
                if (errorMethod.Equals("updateContext"))
                {
                    login(currentAsterisk.ip_address, currentAsterisk.login_AMI, Utils.DecryptAMIPassword(currentAsterisk.password_AMI));
                    updateTrunk(updatedAsterisk.name_Asterisk, originalAsterisk.name_Asterisk, originalAsterisk.ip_address, updatedAsterisk.ip_address);
                    updateTLS(originalAsterisk, currentAsterisk, updatedAsterisk);
                    logoff();
                }
                foreach (Asterisks asterisk in rollbackList)
                {
                    if (asterisk.Equals(updatedAsterisk))
                        continue;
                    login(asterisk.ip_address, asterisk.login_AMI, Utils.DecryptAMIPassword(asterisk.password_AMI));
                    updateTrunk(updatedAsterisk.name_Asterisk, originalAsterisk.name_Asterisk, originalAsterisk.ip_address, updatedAsterisk.ip_address);
                    updateTLS(updatedAsterisk, asterisk, originalAsterisk);
                    updateContext(updatedAsterisk.name_Asterisk, originalAsterisk.name_Asterisk, originalAsterisk.prefix_Asterisk);
                    reloadModules();
                    logoff();
                }
                login(updatedAsterisk.ip_address, updatedAsterisk.login_AMI, Utils.DecryptAMIPassword(updatedAsterisk.password_AMI));
                updateTLS(originalAsterisk.tls_enabled, originalAsterisk.tls_certDestination, updatedAsterisk.tls_certDestination, updatedAsterisk.tls_enabled, asteriskList);
                reloadModules();
                logoff();
                asteriskAccessLayer.updateAsterisk(originalAsterisk);
            }
            else
            {
                login(currentAsterisk.ip_address, currentAsterisk.login_AMI, Utils.DecryptAMIPassword(currentAsterisk.password_AMI));
                updateTLS(originalAsterisk.tls_enabled, originalAsterisk.tls_certDestination, currentAsterisk.tls_certDestination, currentAsterisk.tls_enabled, asteriskList);
                reloadModules();
                logoff();
                asteriskAccessLayer.updateAsterisk(originalAsterisk);
            }
        }
        catch (Exception e)
        {

        }
    }
示例#14
0
    public void rollbackDeleteAsterisk(string errorMethod, Asterisks deletedAsterisk, Asterisks currentAsterisk, List<Asterisks> rollbackList, List<Asterisks> asteriskList)
    {
        try
        {
            if (rollbackList.Count > 0)
            {
                if (errorMethod.Equals("deleteOneContext"))
                {
                    login(currentAsterisk.ip_address, currentAsterisk.login_AMI, Utils.DecryptAMIPassword(currentAsterisk.password_AMI));
                    addTrunk(deletedAsterisk.name_Asterisk, deletedAsterisk.ip_address, deletedAsterisk.tls_enabled, currentAsterisk.tls_enabled);
                    logoff();
                }
                foreach (Asterisks asterisk in rollbackList)
                {
                    login(asterisk.ip_address, asterisk.login_AMI, Utils.DecryptAMIPassword(asterisk.password_AMI));
                    addTrunk(deletedAsterisk.name_Asterisk, deletedAsterisk.ip_address, deletedAsterisk.tls_enabled, currentAsterisk.tls_enabled);
                    addContext(deletedAsterisk.name_Asterisk, deletedAsterisk.prefix_Asterisk);
                    addInclude(deletedAsterisk.name_Asterisk);
                    reloadModules();
                    logoff();
                }
                login(deletedAsterisk.ip_address, deletedAsterisk.login_AMI, Utils.DecryptAMIPassword(deletedAsterisk.password_AMI));
                addTLS(deletedAsterisk.tls_enabled, deletedAsterisk.tls_certDestination, asteriskList);
                addTrunk(asteriskList);
                createInitialContexts(asteriskList);
                addContext(asteriskList);
                addInclude(asteriskList);
                reloadModules();
                logoff();
            }
            else
            {
                if (errorMethod.Equals("deleteTrunk"))
                {
                    login(deletedAsterisk.ip_address, deletedAsterisk.login_AMI, Utils.DecryptAMIPassword(deletedAsterisk.password_AMI));
                    addTLS(deletedAsterisk.tls_enabled, deletedAsterisk.tls_certDestination, asteriskList);
                    reloadModules();
                    logoff();
                }
                if (errorMethod.Equals("deleteAllRemoteContexts"))
                {
                    login(deletedAsterisk.ip_address, deletedAsterisk.login_AMI, Utils.DecryptAMIPassword(deletedAsterisk.password_AMI));
                    addTLS(deletedAsterisk.tls_enabled, deletedAsterisk.tls_certDestination, asteriskList);
                    addTrunk(asteriskList);
                    reloadModules();
                    logoff();
                }
            }
        }
        catch (Exception e)
        {

        }
    }
示例#15
0
 protected void updateTLS(Asterisks currentAsterisk, Asterisks updatedAsterisk, Asterisks originalAsterisk)
 {
     updateSipConfig = new UpdateConfigAction(SIP_CONFIG, SIP_CONFIG);
     if (currentAsterisk.tls_enabled == 1 && updatedAsterisk.tls_enabled == 0 && originalAsterisk.tls_enabled == 1)
     {
         updateSipConfig.AddCommand(UpdateConfigAction.ACTION_DELETE, updatedAsterisk.name_Asterisk, "transport", "tls", "tls");
     }
     else if (currentAsterisk.tls_enabled == 1 && updatedAsterisk.tls_enabled == 1 && originalAsterisk.tls_enabled == 0)
     {
         updateSipConfig.AddCommand(UpdateConfigAction.ACTION_APPEND, updatedAsterisk.name_Asterisk, "transport", "tls", "tls");
     }
     managerResponse = managerConnection.SendAction(updateSipConfig);
     if (!managerResponse.IsSuccess() && !rollbackState)
     {
         throw new ManagerException(managerResponse.Message);
     }
 }