Если возьмете Asterisk, то не прогадаете.Скорее всего, на нём и будем делать. Там ещё надо будет делать интеграцию с SIP-домофоном.
Если хочется красиво, то можно поставить Eltex SMGДля школы слишком жирно, вряд-ли кто-то денег даст. Да и поддерживать это кому-то надо, я не смогу заниматься обслуживанием условно всегда.
1. dialplan (в нём даже через curl можно запросы посылать и парсить json-ы)Очень классная штука, возьму на вооружение. Даже не нужно спец API, достаточно обычного REST.
временные файлыВот только их нет в папке %TEMP%. Видимо, WinRAR кладёт временные файлы куда-то глубоко в систему.
Для решения этой проблемы делайте распаковку через кнопку "Извлечь" в указанную папкуЯ так и делал. Но всё равно создаёт временные файлы.
Ошибка, написанная прямым текстом - ни на что не наводит?А делать то что? Если год работало, а потом внезапно перестало.
<Grid>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" x:Name="SpMainView">
<TextBlock Text="Путь к файлам сервера"></TextBlock>
<TextBox x:Name="TbxPath"></TextBox>
<Button x:Name="BtnStart" Content="Поехали" Click="BtnStart_OnClick"></Button>
</StackPanel>
<Grid x:Name="BasicView" RowDefinitions="Auto, *" IsVisible="False">
<DockPanel>
<TextBlock Text="Режим:" Margin="5"></TextBlock>
<ComboBox x:Name="CbxMode" SelectionChanged="CbxMode_OnSelectionChanged"></ComboBox>
</DockPanel>
<Grid Grid.Row="1" RowDefinitions="*, Auto" x:Name="OpsView" IsVisible="False">
<DataGrid Grid.Row="0" x:Name="DgOps" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Никнейм" Binding="{Binding name}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<Button x:Name="BtnOp" Grid.Row="1" Content="Назначить оператором" Click="BtnOp_OnClick"></Button>
</Grid>
<Grid Grid.Row="1" RowDefinitions="*, Auto" x:Name="BanView" IsVisible="False"></Grid>
<Grid Grid.Row="1" RowDefinitions="*, Auto" x:Name="BanIPView" IsVisible="False"></Grid>
<Grid Grid.Row="1" RowDefinitions="*, Auto" x:Name="WhitelistView" IsVisible="False"></Grid>
</Grid>
</Grid>
public MainWindow()
{
InitializeComponent();
CbxMode.ItemsSource = new string[] { "Операторы", "Бан", "Бан по IP", "Белый список" };
}
private void BtnStart_OnClick(object? sender, RoutedEventArgs e)
{
SpMainView.IsVisible = false;
BasicView.IsVisible = true;
OpsView.IsVisible = true;
}
private void CbxMode_OnSelectionChanged(object? sender, SelectionChangedEventArgs e)
{
switch (CbxMode.SelectedIndex)
{
case 0:
OpsView.IsVisible = true;
BanView.IsVisible = false;
BanIPView.IsVisible = false;
WhitelistView.IsVisible = false;
break;
case 1:
BanView.IsVisible = true;
OpsView.IsVisible = false;
BanIPView.IsVisible = false;
WhitelistView.IsVisible = false;
break;
case 2:
BanIPView.IsVisible = true;
BanView.IsVisible = false;
OpsView.IsVisible = false;
WhitelistView.IsVisible = false;
break;
case 3:
WhitelistView.IsVisible = true;
BanView.IsVisible = false;
BanIPView.IsVisible = false;
OpsView.IsVisible = false;
break;
default:
break;
}
}
В документации есть буквально отдельный пункт "How to implement multi page apps"Вопрос, как и куда вставлять этот кусок кода?
Написано, что это уже показано в шаблоне с MVVMЯ не использую MVVM. У меня приложение на событийной модели
В глуши находишься?Нет. Но в здании толстые внешние стены. Это может влиять?
PS C:\Users\Administrator> Get-AdfsSslCertificate
HostName PortNumber CertificateHash
-------- ---------- ---------------
trainzcity.myftp.org 443 3E355750F3657382137BD9BEAE9DBC98CFB57C15
localhost 443 3E355750F3657382137BD9BEAE9DBC98CFB57C15
trainzcity.myftp.org 49443 3E355750F3657382137BD9BEAE9DBC98CFB57C15
PS C:\Users\Administrator>
Вообще не понимаю зачем они pppoe для авторизации используют.Вопросы с Ростелекому. Билайн раньше тоже L2TP использовал, но теперь перешли на удобный Captive Portal.
В ошибках указаны отпечатки сертификатовВ ошибках указаны три отпечатка сертификатов. 1 из них есть на компьютере со всей цепочкой. 2 остальных вообще не понятные, их нет ни в одном хранилище.
Если nginx ставился из пакетов дистрибутиваНет, nginx собирался руками из исходных кодов с необходимыми модулями.
начни с основ selinuxХорошо, спасибо за наводку.