private void Update()
{
try
{
m_sipProvider.ProviderName = m_providerName.Text;
m_sipProvider.ProviderUsername = m_providerUsername.Text;
m_sipProvider.ProviderPassword = m_providerPassword.Text;
m_sipProvider.ProviderServer = (!m_providerServer.Text.IsNullOrBlank()) ? SIPURI.ParseSIPURIRelaxed(m_providerServer.Text.Trim()).ToString() : null;
m_sipProvider.RegisterEnabled = m_providerRegister.IsChecked.Value;
m_sipProvider.SendMWISubscribe = m_providerSendMWISubscribe.IsChecked.Value;
m_sipProvider.RegisterContact = (!m_providerRegisterContact.Text.IsNullOrBlank()) ? SIPURI.ParseSIPURIRelaxed(m_providerRegisterContact.Text.Trim()).ToString() : null;
m_sipProvider.ProviderAuthUsername = m_providerAuthUsername.Text;
m_sipProvider.ProviderFrom = m_providerFromHeader.Text;
m_sipProvider.RegisterRealm = m_providerRegisterRealm.Text;
m_sipProvider.RegisterServer = (!m_providerRegisterServer.Text.IsNullOrBlank()) ? SIPURI.ParseSIPURIRelaxed(m_providerRegisterServer.Text.Trim()).ToString() : null;
int registerExpiry = m_defaultRegisterExpiry;
if (Int32.TryParse(m_providerRegisterExpiry.Text, out registerExpiry))
{
m_sipProvider.RegisterExpiry = registerExpiry;
}
m_sipProvider.CustomHeaders = null;
if (m_providerCustomHeaders.Items.Count > 0)
{
foreach (string customHeader in m_providerCustomHeaders.Items)
{
m_sipProvider.CustomHeaders += (m_sipProvider.CustomHeaders != null && m_sipProvider.CustomHeaders.Trim().Length > 0) ? m_customHeadersSeparator.ToString() : null;
m_sipProvider.CustomHeaders += customHeader;
}
}
if (m_sipProvider.RegisterEnabled && m_sipProvider.RegisterAdminEnabled)
{
m_sipProvider.RegisterDisabledReason = null;
}
m_sipProvider.GVCallbackNumber = m_gvCallbackNumber.Text;
m_sipProvider.GVCallbackPattern = m_gvCallbackPattern.Text;
m_sipProvider.GVCallbackType = ((TextBlock)m_gvCallbackType.SelectedValue).Text;
if (m_sipProvider.HasValidationErrors)
{
WriteStatusMessage(MessageLevelsEnum.Warn, m_sipProvider.ValidationErrors.First().ErrorMessage);
}
else
{
WriteStatusMessage(MessageLevelsEnum.Info, "Updating SIP Provider please wait...");
SIPProviderUpdate_External(m_sipProvider);
}
}
catch (Exception excp)
{
WriteStatusMessage(MessageLevelsEnum.Error, "Update Exception. " + excp.Message);
}
}