AlterFRN-клиент и AlterFRN-сервер предназначены для соединения радиоузлов в сеть, образуя пространство радиоретрансляторов.
Объединение происходит с использованием компьютеров с подключением к Internet. Установленный на компьютере AlterFRN-клиент управляет радиоузлом(радиостанцией, радиоретранслятором) на передачу, транслирует звук с сервера в передающую радиостанцию, определяет факт приема радиостанцией сигнала из эфира, и транслирует принимаемый радиостанцией сигнал на сервер для других узлов сети радиоретрансляторов.
Эта страница содержит информацию об AlterFRN-клиенте и сервере -- стабильных и экономичных продуктах для создания целой радиосети и/или отдельных радиоузлов, совместимых сверху вниз с оригинальной Free Radio Network (FRN)
1. Это бесплатно. Просто берите в том виде, в котором оно тут есть, и пользуйтесь как заблагорассудится. Лицензия WTFPL.
3. Языки программирования С, Object Pascal, основная ветка разработки FreeBSD-amd64.
4. Приоритет: FRN-шлюз на UNIX-подобных операционных системах для использования на самых разных устройствах, скорее всего без графики, возможно без дисплея или даже без видеовыхода. Графического интерфейса не ждите. Все делается руками в командной строке и в любимом vi.
5. Есть собственный FRN-сервер, допускающий использование собственной схемы авторизации, при которой подключение к центру авторизации FRN-System-Manager (sysman) совершенно не обязательно. Также возможно одновременное использование четырех центров авторизации FRN-System-Manager (sysman). Работает под FreeBSD/Windows/Linux. Описание на странице Автономный FRN-сервер.
6. Есть собственный авторизационный центр FRN System manager, позволяющий зарегистрировать учетные записи участников радиосети и посмотреть список серверов FRN. Рабочие адрес и порт центра авторизации: sysman.lpd-net.ru, порт 10025.
2022-10-13, ревизия 7348:Скачать / Download
- Новая версия AlterFRN-сервера:
--- Исправлена нечастая ошибка "Duplicate object" при нестабильном подключении к интернет.
--- Исправлена нечастая ошибка "Access violation" на Linux-64bit при нестабильном подключении к Internet.
--- Устранена утечка памяти.
--- Уменьшено использование памяти.
--- Добавлена защита от чрезмерного звукового потока.
--- Исправлена ошибка обработки сигнала SIGHUP при использовании команд debug (s.0.3) и run (s.0.2).
--- Сигналом для переоткрытия журнала по умолчанию стал SIGUSR1 чтобы избежать конфликта с системным использованием сигнала SIGHUP.
--- Добавлена возможность одновременного использования 4 серверов авторизации(FRN System Manager).
--- Добавлена настройка режима незвукового трафика для конкретных клиентов для уменьшения необоснованной нагрузки в каналах связи.
--- Запуск сервера в рабочем режиме теперь возможен только с явным указанием параметров в командной строке: daemon (s.0.1), run (s.0.2) или debug (s.0.3).
--- Параметр ManagerAddress (s.2.2) в секции [Manager] (s.2) - адрес авторизационного сервера (FRN System Manager) по умолчанию: sysman.lpd-net.ru.
2022-07-17, ревизия 7312:Скачать / Download
- Новая версия AlterFRN-клиента:
--- Исправлена ошибка обработки сигнала SIGHUP при использовании команд debug (0.4.9) и run (0.4.10).
--- Исправлена ошибка нехватки звуковых буферов при чрезмерном звуковом потоке с сервера.
--- Исправлена ошибка "Access violation" на Linux-64bit при нестабильном подключении к Internet.
--- Сигналом переоткрытия журнала по умолчанию стал SIGUSR1 чтобы избежать конфликта с системным использованием сигнала SIGHUP.
--- Добавлен параметр ReopenLogSignal (8.23) в секцию [System] (8) для установки желаемого сигнала переоткрытия журнала событий.
--- Добавлен параметр ProtoMessagesFromServer (5.17) в секцию [Server] (5) для управления получением входящих текстовых сообщений.
--- Исключена возможность использования прокси-сервера при подключении к целевому серверу FRN и/или FRN System Manager.
--- Запуск клиента для соединения с сервером теперь возможен только с явным указанием параметров в командной строке: debug (0.4.9), run (0.4.10) или daemon (0.4.11).
--- Настройки по умолчанию параметров ProtoSpeakerInfo=no (5.16) и ProtoMessagesFromServer=no (5.17) предполагают при подключении к AlterFRN-серверу(ревизии 7129+) полное отсутствие любого лишнего трафика со стороны сервера, кроме звука. Если нужна информация о говорящих корреспондентах и/или входящие текстовые сообщения, то необходимо явно установить эти параметры соответствующим образом.
--- Параметр ManagerAddress (4.5) в секции [Manager] (4) - адрес авторизационного сервера (FRN System Manager) по умолчанию: sysman.lpd-net.ru.
2021-12-30, ревизия 7094:Скачать / Download
- Новая версия AlterFRN-клиента:
--- ВНИМАНИЕ!!!!AlterFRN-клиент использует версию библиотеки portaudio v.19.7.0 от 2021-04-06, которая именует звуковые устройства под Linux другим способом. Имена звуковых устройств могут измениться. Используйте команды audio (0.4.2) и audioconfig (0.4.3) для проверки и/или обновления действующих имен звуковых устройств. На MS Windows изменилось имя файла для библиотеки: portaudio32_2.dll.
--- Исправлена проблема запуска демона AlterFRN-клиента с командным параметром daemon (0.4.11) на Linux совместно с установленным PulseAudio.
--- Исправлена проблема деактивации выходной линии PTT (3.1) в некоторых обстоятельствах при использовании служебного звука отключения от сервера. Cмотри также параметры EnableDisconnect (9.28) и SoundDisconnect (9.29) из секции [Sounds] (9).
--- Исправлена возможность установить некорректные значения в поле BandChannel (1.3) из секции [Auth] (1) в режиме ClientType=GATEWAY (1.2.3).
--- Исправлена ошибка в работе выходной линии CONNECT (3.18).
--- Изменена схема маскирования символов-разделителей полей (:;) внутри значений полей для описания линий управления (3.4) -- необходимо использовать предшествующий символ '\', символ '\' внутри значений также необходимо маскировать.
--- Добавлена возможность установки особых звуков ROGER(RADIO EOT) для конкретных корреспондентов и/или шлюзов. Смотри также параметры RogerSoundCfgEnabled (9.30) и RogerSoundCfgFileName (9.31) из секции [Sounds] (9).
--- Добавлены параметры PttEnable (3.19) и CosEnable (3.20) в секцию Radio (3) для начальной установки управляющих линий PTT (3.1) и COS (3.2) соответственно.
--- [Только Linux-ARM] Добавлен для управляющих линий новый интерфейс портов GPIODEV (3.4.1.7) в дополнение к объявленному устаревшим интерфейсу GPIO-SYSFS (3.4.1.3). Для активации интерфейса GPIODEV требуется установить пакет gpiod и библиотеку libgpiod2.
--- Добавлены команды network (0.4.34) и networks (0.4.35) для получения текущей информации о сетях(комнатах).
--- Добавлены команды pttstatus, cosstatus, radiostatus (0.4.36) для проверки текущего режима управляющих линий PTT (3.1) и COS (3.2).
--- Добавлена команда serverlevel (0.4.38) - показать уровень входного звукового сигнала от радиостанции с учетом всех настроек входного звука в конфигурационном файле.
2021-07-28, ревизия 6830:Скачать / Download
- Новая версия AlterFRN-клиента:
--- ВНИМАНИЕ!!!! Использована последняя версия portaudio библиотеки, именующая звуковые устройства под Linux другим способом, так что имена звуковых устройств могут измениться. Используйте команды audio (0.4.2) и audioconfig (0.4.3) для проверки и/или обновления действующих имен звуковых устройств. На MS Windows изменилось имя файла для библиотеки: portaudio32_1.dll.
--- Добавлен командный канал, позволяющий посылать команды уже работающему фоновому процессу(демону) клиента AlterFRN, смотри секцию [Command];
--- Добавлены команды для посылки текстовых сообщений: public посылает публичное сообщение в текущую комнату и private посылает личное сообщение;
--- Добавлен механизм блокировки возможного бесконечного цикла автоматических ответов на частные входящие сообщения, смотри параметры LoopProtection (7.5) и LoopProtectionTime (7.6) в секции [Message] (7).
--- !!!! Исправлена ошибка при установке интервала в озвучивании текущего времени более 2 часов в параметре Interval (10.4) в секции [Hours] (10).
--- !!!! Исправлена ошибка залипания детектора несущей на входной линии COS (3.2) при некоторых условиях.
--- Размер порядка входного и выходного ФВЧ(HPF) в параметрах InHpfOrder (2.23) и OutHpfOrder (2.26) увеличен до 40, что позволяет подавлять низкочастотные составляющие в диапазоне частот 0-300Гц с уровнем до 120dB/октаву.
--- Добавлен параметр GpioExportTimeout (8.22) в секции [System] (8) для некоторых сборок Linux-ARM с отложенным экспортом порта GPIO-SYSFS.
--- Добавлен канал для выдачи значений амплитуды текущего звука из звуковой подсистемы AlterFRN-клиента; смотри параметры AmplitudeEnabled (13.6) и AmplitudePort (13.7) в секции [Command] (13).
--- Добавлена возможность индикации факта подключения к серверу через аппаратную выходную линию CONNECT (3.18).
--- Добавлены команды carrieron и carrieroff (0.4.31) для программного управления линией COS (3.2) типа CTRL (3.4.1.6) через активированный коммандный интерфейс (13).
--- Добавлены команды pttenable, pttdisable, cosenable, cosdisable, radioenable, radiodisable (0.4.32) для разрешения управления через линии PTT (3.1) или COS (3.2) или обоими сразу без перезапуска AlterFRN-клиента через активированный коммандный интерфейс (13).
--- Добавлена команда list (0.4.33) для выдачи списка подключенных в сеть(комнату) клиентов через активированный коммандный интерфейс (13).
2021-01-22, ревизия 6584: скачать/download
- Новая версия сервера AlterFRN:
--- !!!! Исправлена серьезная ошибка, при некоторых редких обстоятельствах приводящая к полному краху сервера.
--- Повышена стабильность при взаимодействии с более чем одним FRN System Manager.
--- Добавлены параметры(команды) командной строки для всяких полезностей администрирования.
2020-11-24, ревизия 6460: скачать/download
- Новая версия AlterFRN-клиента:
-- Исправлена ошибка обработки диапазона времени в параметре TimeRange (10.10) в секции [Hours] (10) и в параметре TimeRange (11.13) в секции [Informer] (11).
-- Исправлена ошибка обработки DTMF-комманд NET (3.16.3.1) и CONN (3.16.3.2) в секции [Radio] (3) при отключенном звуке подтверждения (отшлепа) EnableCourtesy=No (9.4) в секции [Sounds] (9).
-- Добавлены параметры EnableDisconnect (9.28) и SoundDisconnect (9.29) в секцию [Sounds] (9) для озвучивания факта разрыва соединения с сервером.
-- Добавлена команда audiospeedconfig (0.4.24) - измерить время старта звуковой подсистемы на ввод(захват) и вывод(воспроизведение) звука для звуковых устройств из конфигурационного файла.
-- Изменено поведение при выполнении параметра SquelchSettlingTime (3.12) - теперь отсчет времени задержки начинается в момент фактического начала ввода(захвата) звука после инициализации звукового оборудования на ввод(захват) звука. Смотри также команду audiospeedconfig (0.4.24), показывающую реальную задержку на включение вашего звукового оборудования на ввод(захват) звука.
-- Исправлена ошибка, эпизодически приводившая к трансляции клиентом AlterFRN тишины в сторону сервера в условиях очень плохого подключения к интернету.
-- [Только UNIX/Linux] Добавлена поддержка GPIO на распостранненных USB звуковых картах CM108/CM109/CM119/SSS1623.
-- Добавлен параметр InGainK (2.33) в секции [Audio] (2) - цифровой коэффициент усиления во входном звуковом тракте от радиостанции.
-- Добавлена команда audiolevelgain (0.4.25) - отобразить входной звуковой сигнал от радиостанции аналогично команде audiolevel (0.4.4), но с учетом параметра InGainK (2.33) в секции [Audio] (2).
-- Исправлена ошибка исчерпания пула буферов при чтении очень длинных звуковых файлов (ERROR: READER: Execute: pointer buffer underflow).
2020-10-17, ревизия 6378:
- Новая версия AlterFRN-клиента:
-- Добавлен параметр BackupServersFileName (8.15) в секции [System] (8) для явного указания имени и пути файла для сохраненных адресов резервных серверов;
-- Добавлен параметр DynamicPasswordFileName (8.16) в секции [System] (8) для явного указания имени и пути файла для сохраненных динамических паролей;
-- Добавлена команда setmanager (0.4.18) для записи в конфигурационный файл клиента адреса и порта FRN System Manager;
-- Добавлена команда setauthpass (0.4.19) для записи в конфигурационный файл клиента нового статического пароля;
-- Добавлена корректная обработка подключения к скрытым сетям(комнатам) AterFRN-сервера; смотри также опцию сети(комнаты) сервера Hidden (s.4.16);
-- Добавлено значение ID (8.7.4) для параметра LogClientList (8.7) в секции [System] (8) для добавления серверного идентификатора клиента к полям списка подключенных клиентов;
-- Значения по умолчанию для параметров InQuality (2.3) и OutQuality (2.11) в секции [Audio] (2) изменены на HIGH (2.3.4) - высокое качество;
-- Добавлен параметр LogExec (8.18) в секции [System] (8) для управления журналированием старта всех внешних программ (скриптов);
-- Добавлен параметр LogDtmfCommands (8.19) в секции [System] (8) для управления журналированием распознавания и выполнения DTMF-команд;
-- Добавлен параметр InvalidStaticPasswordScript (5.12) в секции [Server] (5) для возможности автоматически [пере]запрашивать новый статический пароль;
-- Изменен декодер DTMF сигналов с возможностью декодировать посылки длительностью от 50 миллисекунд;
-- Добавлен параметр MaxRecordTime (12.8) в секции [Recorder] (12) для ограничения максимального размера записываемого файла;
-- Исправлено отсутствие интервала ожидания перед повторными попытками подключения к серверу при получении от сервера отказов в подключении;
-- Добавлен параметр RxTxHookScript (5.13) в секции [Server] (5) для запуска внешней программы (скрипта) в моменты начала и окончания звуковых сообщений с сервера и на сервер с передачей скрипту позывного, имени, местоположения, страны, диапазона и описания для говорящего корреспондента;
-- Исправлена ситуация невозможности нормального завершения клиента в случае зависания звуковой карты, что иногда случается, особенно при использовании USB звука. Теперь при таком завершении все выходные линии PTT (3.1), LIGHT (3.3) и STATIC (3.11) гарантированно переводятся в неактивное состояние.
-- Добавлена команда down (0.4.21) принудительно переводящая все выходные линии PTT (3.1), LIGHT (3.3) и STATIC (3.11) в неактивное состояние, что бывает иногда полезно, особенно при использовании GPIO.
-- Добавлено описание на параметер ProtoShortFrames (5.14) - управление режимом коротких звуковых пакетов по 40 миллисекунд.
-- Добавлено описание на параметер ProtoListFormat (5.15) - управление режимом передачи списка подключенных клиентов от сервера AlterFRN к клиенту.
-- Добавлена более скрупулезная проверка критических параметров конфигурационного файла клиента.
-- Добавлен параметр ProtoSpeakerInfo (5.16) - включить режим кеша списка активных клиентов для режимов ProtoListFormat=NONE (5.15.1) и ProtoListFormat=COUNT (5.15.2).
-- Добавлен параметр GsmPassMode (2.30) в секции [Audio] (2) для организации шлюза из двух клиентов AlterFRN без лишнего перекодирования звука с использованием виртальных звуковых карт AudioLoopback(UNIX/Linux), Virtual Audio Cable и тому подобных;
-- MS Windows: Добавлена команда ansi (0.4.22) - получить имя текущей ANSI кодировки символов для вашей MS Windows;
-- MS Windows: Добавлена команда charsets (0.4.23) - получить список доступных имен кодировок символов для вашей MS Windows;
-- Добавлены параметры EnableServerBOT (9.24), SoundServerBOT (9.25), EnableServerEOT (9.26) и SoundServerEOT (9.27) в секцию [Sounds] (9) - управление передачей служебных звуков в сторону сервера и других клиентов перед и после звукового сообщения от радиостанции;
-- Добавлен параметр IdNoSoundListFileName (3.17) в секцию [Radio] (3) - имя файла со списком идентификаторов клиентов, входящие звуковые сообщения от которых не воспроизводить;
-- UNIX/Linux: Добавлен параметр MessageHookScript (7.4) в секцию [Message] (7) - имя внешней программы (скрипта), который вызывается при получении текстовых сообщений;
-- Добавлен параметр LogCache (8.21) в секцию [System] (8) - управление журналированием событий кэша списка активных клиентов;
-- Добавлен параметр InDtmfQualityThreshold (2.31) в секцию [Audio] (2) - порог качества входного DTMF-сигнала в условных процентах, необходимого для принятия сигнала как корректно распознанного.
-- Добавлен параметр InDtmfSilenceThreshold (2.32) в секцию [Audio] (2) - порог уровня входного сигнала, ниже которого DTMF-декодер считает входной сигнал тишиной и не пытается декодировать DTMF-сигналы.
-- Исправлен ошибка модуля чтения звуков при чтении некоторых файлов. Смотри также секцию [Sounds] (9).
2020-09-16, ревизия r6367:
- Новая версия сервера AlterFRN:
-- Windows: Обход возможного несоответствия списка имен кодировок MLang.dll фактически используемым для некоторых конфигураций Windows;
-- Поддержка UNICODE при взаимодействии с FRN System manager; Скачать AlterFRN сервер r6367 / Download AlterFRN server r6367
2020-03-14, ревизия r6352:
- Новая версия сервера AlterFRN:
-- Добавлен параметр [System]/DataChangeScript (s.3.6) для вызова внешней программы(скрипта) при любом изменении файлов данных; может быть использован для синхронизации баз основного и резервных серверов или для дополнительной обработки этих файлов;
-- Добавлена команда flushdata (s.0.48);
-- Улучшено кэширование списка подключенных клиентов;
-- Исправлена ошибка сервера при очень большом числе клиентских подключений;
-- Улучшена совместимость с оригинальным сервером по управлению списками доступа;
2018-09-14, ревизия 5208:
- Новая версия AlterFRN-серверва:
-- Улучшена обработка множественных ответов от нескольких FRN System Manager в режиме Light (s.1.10.3) и режиме FRN (s.1.10.4);
-- Добавлена возможность ограничить длительность клиентского подключения, как для сервера целиком: серверный параметр ClientSessionMaxTime (s.1.16), так и для конкретной сети(комнаты): атрибут сети/комнаты ClientSessionMaxTime (n.15);
-- Добавлен параметр ManagerInvalidPasswordScript (s.1.17) для указания имени внешней программы (скрипта), которая будет асинхронно запускаться при получении от FRN System Manager ошибки "Неверный пароль", что дает возможность автоматически запросить новый статический пароль командой register (0.4.12) для AlterFRN-клиента, настроенного на учетную запись сервера для конкретного FRN System Manager;
-- Добавлены команды setmanpassidx (s.0.9) и setmanpassaddr (s.0.10) для установки нового пароля для подключения сервера к FRN System Manager;
-- Добавлен атрибут Hidden (n.19) для сети(комнаты), позволяющий исключить такую сеть(комнату) из списка сетей(комнат) - появилась возможность создать невидимые сети(комнаты);
-- Добавлен параметер LogExec (s.3.4) в секции [System] (s.3) для включения журналирования старта внешних программ(скриптов);
-- Добавлена возможность иметь более одного владельца для сети(комнаты) в атрибуте сети(комнаты) OwnerEMail (n.1);