FreeDMR България

 Какво представлява FreeDMR България?

Това е съвкупност от сървъри който служат за свързване на точки за достъп, симплексни или дуплексни, даващи възможност на цифрови радиостанции да комуникират помежду си през един или няколко сървъра.

Дашборда на FreeDMR BG показва кои точки за достъп са свързани към него.

Прави впечатление, че има само два репитерни инициала а именно LZ0SAN симплексна точка за достъп на много добра локация в района на Сандански с мощност 5 вата и LZ0DCH ретранслатор в град Добрич.

Това са публичните точки за достъп към FreeDMR BG. Останалото в списъка на сървъра FreeDMR BG са персонални точки за достъп.

Сървърът FreeDMR BG е обединен със сървърите IPSC2-BULGARIA и IPSC2-BG-Hotspot на база Толк Група 2840 на слот 2 от страна на IPSC2 BG и Толк Група 284 от страна на FreeDMR BG.

Кратка справка в дашборда на IPSC2-BULGARIA ни показва, че към този сървър има закачени 15 DMR ретранслатора.

От така направените проверки става ясно, че към момента, към FreeDMR BG има достъп от 17 публични точки за достъп и то не на 100%.

Какво имам в предвид?

Достъпът е само до определени Толк Групи, основно ТГ 284 която е бриджната към ТГ 2840 на IPSC2 BG. Така са настроени точките за достъп.

Не е предвидена възможност да се активира произволна Толк Група на единият сървър и същата Толк Група да се активира и на другият сървър. Това трябва да се направи от администраторите на двата сървъра. Те трябва да се договорят какво и как ще се бриджва. Поне за сега е така.

Болшинството от цифровите ретранслатори в България са изградени на базата на две радиостанции Моторола с дуплексер, MMDVM модем и малък компютър Raspberry-Pi със софтуер Pi-Star.

Обединението на мрежите FreeDMR BG и IPSC2 BG е на базата на бридж между Толк Групи.

Pi-Star обаче позволява на дуплексна точка за достъп (ретранслатор) да бъдат направени две симплексни точки за достъп, едната на слот 1, другата на слот 2.

По този начин на слот 1 може да се направи на 100% поддръжка на една мрежа а на слот 2 на 100% поддръжка на друга мрежа.

Това е идея на LZ1PLC и по този начин работеше ретранслатора LZ0DLC.

Как се реализира това?

Pi-Star се поставя в режим Gateway. Активират се само две мрежи. По долу ще дам примерна конфигурация за IPSC2 BG на слот 1 и FreeDMR BG на слот 2.

За целта секцията [DMR Network 1] която е за BrandMeister трябва да се деактивират правилата PassAll и същите правила да се добавят и активират в секцийте на [DMR Network 2] IPSC2 BG и [DMR Network 4] FreeDMR BG.

[DMR Network 1]
Enabled=0
Id=
Address=2841.master.brandmeister.network
Password=""
Port=62031
TGRewrite0=2,9,2,9,1
PCRewrite0=1,94000,2,4000,1001
TypeRewrite0=1,9990,2,9990
SrcRewrite0=1,4000,2,9,1001
#PassAllPC0=1
#PassAllTG0=1
#PassAllPC1=2
#PassAllTG1=2
Debug=0
Location=1
Name=BM_2841_Bulgaria

[DMR Network 2]
Enabled=1
Id=YourID
Address=185.80.0.40
Password="PASSWORD"
Port=55555
TGRewrite0=1,8,2,9,1
TGRewrite1=1,284,1,284,1
PCRewrite0=1,84000,2,4000,1001
PassAllPC0=1
PassAllTG0=1
#PassAllPC1=2
#PassAllTG1=2
Debug=0
Location=0
Name=DMR+_IPSC2-BG-Hotspot
Options="TS1_1=284;"

[DMR Network 4]
Enabled=1
Id=YourID
Name=FreeDMR_Bulgaria
Address=sofia.freedmr.link
Port=62031
Password="passw0rd"
TGRewrite1=2,284,1,284,1
#PassAllPC0=1
#PassAllTG0=1
PassAllPC1=2
PassAllTG1=2
Location=0
Debug=0
Options="TS1_1=284;"

Това е идеята. Който иска да пробва.

Причината да не се използват на 100% възможностите на FreeDMR е във това, че точките за достъп са настройват за работа в повече от две мрежи и основно в BrandMeister която е приоритетна мрежа за Pi-Star. В една дуплексна точка за достъп има само два комуникационни канала, на които работят 5 сървъра - XLX, BrandMeister, IPSC2, HBlink и FreeDMR. Няма как при толкова много мрежи обслужвани от една точка за достъп да имаме пълно използване на възможностите на всички мрежи. Все нещо ще е орязано.

Необходимо е на точката за достъп или да се орежат броят сървъри които се ползват или да се даде приоритет на други мрежи, например IPSC2 и FreeDMR. Това обаче си е работа на администратора на точката за достъп. Администратора на сървъра тук не може да помогне.

Как да се направи?

Четете, мислете, е... то се мисли ако има с какво ;-)

Ако някой смята, че в изложението по-горе има грешки, моля да ме уведоми и статията ще бъде коригирана.

73 de LZ5PN

Някои правила за работа през DMR ретранслатори

Някои правила за работа през DMR ретранслатори

 Както е известно DMR има два комуникационни слота (канала) на една честота.

 Повечето ретранслатори са правени на базата на две радиостанции, дуплексер и управляващ модул (малък компютър) работещ под управление на Pi-Star.

 На слотовете на ретранслаторите се задават статични Толк Групи (ТГ) за връзка към определен сървър. 

 На слотовете на ретранслаторите могат да бъдат активирани динамично и други ТГ чрез кратко обаждане на ТГ която искаме да активираме. Динамичните ТГ са активни 15 минути и ако не се използват автоматично се деактивират. Такъв е принципът на работа на всички сървъри - BrandMeister, IPSC2, FreeDMR и дори HBlink но при него е по-особен принципа на действие и не е предмет на тази статия.

 Всички динамични ТГ на даден слот се деактивират с кратко обаждане на ТГ4000 при BrandMeister. При другите сървъри може да бъде друга ТГ но принципа е сходен.

 Всички ретранслатори поддържат ТГ9, тази ТГ9 е за локална комуникация на  ретранслатора и трафикът на тази ТГ9 не се пренасочва към други ретранслатори или точки за достъп (спотове).

 Ако на един ретранслатор с Pi-Star се активира и на двата слота една и съща ТГ, то тогава разговорите на тази ТГ се  ретранслират едновременно и на двата слота което блокира двата слота на ретранслатора.

 Всеки един ретранслатор облужва определен район с определена група хора. Тази общност от хора са определили кои ТГ са важни за тях и администратора на ретранслатора ги е задал като статични.

 Не бива да се активира една и съща ТГ и на двата слота с което да се блокират и двата комуникационни канала на ретранслаторите. Това е важно да се знае и да се има в предвид особенно при работа през ретранслатори в чужбина.

 Софтуера на Pi-Star позволява на администратора да прекъсва текущ разговор или да деактивира всички динамично зададени ТГ в завсимост от ситуацията.

 Именно затова добра практика е да имате настроени на радиостанцийте си за всеки ретранслатор или спот ТГ9 и ТГ4000. ТГ9 да бъде вкарана в списъка с ТГ които се слушат или да си активирате Digi Montitor (цифров монитор) на радиото. Добре е тази функция да е изведена на един от бутоните на радиото. Цифровият монитор позволява на радиото да слуша всички ТГ на единият слот или и на двата слота.

 Учтиво е когато сте в друга държава да попитате на ТГ9 общността на ретранслатора дали може да ползвате даден слот за комуникация на друга ТГ. Няма да ви откажат, но след като сте си свършили работата деактивирайте динамичната ТГ с кратко обаждане на ТГ4000.

 Най добре би било да използвате собствен спот в чужда държава и да избегнете търканията с местната радиолюбителска общност които биха възникнали ако заемате за по-дълго време слотовете на техният ретранслатор с разговори на непознати за общността ТГ и на непознат език. В чужбина винаги използвайте спелуването на инициалите да бъде на английски, за да разберат хората кой им използва ретранслатора.

73 de LZ5PN

Предупреждение! За Pi-Star в Gateway mode:

 Предупреждение! За Pi-Star в Gateway mode:

 Към всички които пускат Pi-Star в Gateway mode!

Не активирайте едновременно статична връзка към една и съща мрежа (Тalk Group, XLX Room) през различни сървъри!!!

Пример: 

XLX359 Room B и TG 284359 BrandMeister.

TG 2840 IPSC2 и TG 284 FreeDMR.

73 de LZ5PN

За FreeDMR България

В България работят два FreeDMR сървъра.

Основно на тези сървъри са закачени спотове (лични точки за достъп) с малка мощност до 5 Вт.

Ретранслаторите (обществените точки за достъп) се броят на пръстите на едната ръка и са разположени всичко на всичко в четири района и са локални. Покритие с ретранслатори с голямо покритие за България няма.

284025 LZ0NRG UHF duplex София - град KN12PR
284027 LZ0DCH UHF duplex Добрич KN33VN
284067 LZ0PLC UHF duplex Маноле KN22LE
284028 LZ0PNP UHF duplex Банско KN11RT
284032 LZ0ARD VHF simplex Банско KN11RT

Точките за достъп които поддържат на 100% възможностите на FreeDMR в България са още по-малко и клонят към нула, за сега.

И така възниква "великата" идея да се обединят мрежите FreeDMR (основно спотове в няколко мрежи които се ползват активно) със IPSC2 България (основно ретранслатори с голямо покритие но почти неизползвани) и по този начин да направи по-голямо покритие за FreeDMR.

В крайна сметка това обединение става факт.

НО!!!

За какво в същност става дума.

Създава се бридж (мост) между Толк Група (ТГ) 2840 от IPSC2 и ТГ 284 (националната ТГ) от FreeDMR.

Това е просто бридж през който става възможно трафикът от националната ТГ на FreeDMR да излезе на слот 2 на всички ретранслатори от мрежата на IPSC2.

Така се получава голямо покритие за FreeDMR.

НО... само за една единствена ТГ. Няма предвидена възможност да се използват всички ТГ от FreeDMR.

По същество тази връзка е като връзката между ТГ 284359 на BrandMeister и стая B на XLX359. Има връзка но само по една ТГ със една стая.

И в двата случая не могат да се използват напълно, на 100%, възможностите на двете свързани по този начин мрежи.

Сега да обърнем внимание на пътя който изминава комуникацията между две радиостанции работещи на  FreeDMR.

Ще разгледам три варианта.

Първи вариант:

радиостанция <-> ретранслатор <-> FreeDMR сървър <-> ретранслатор <-> радиостанция.

Втори вариант:

радиостанция <-> ретранслатор <-> IPSC2 сървър <-> ретранслатор <-> радиостанция.

Трети вариант:

радиостанция <-> ретранслатор <-> FreeDMR сървър <-> IPSC2 сървър <-> ретранслатор <-> радиостанция.

И така в третият вариант имаме една допълнителна комуникация между сървъра на FreeDMR и IPSC2 сървъра.

Въпросът е - Необходима ли е подобна връзка? 

Потребителите на лични спотове за DMR обикновенно ги настройват да работят в няколко мрежи едновременно а именно XLX, BrandMeister, IPSC2, HBlink, FreeDMR.

Подобна настройка имат и ретранслаторите на които има пуснат FreeDMR.

Софтуерът използван основно за направата на ретранслатори Pi-Star позволява подобна настройка. (Вижте другите ми статии в този блог и в другият ми блог lz5pn.blog.bg)

Изводът е, че подобна допълнителна връзка е излишна.

В ефира често чувам "хайде да тестваме и на другата мрежа..."

И се започват едни тестове... и се стига до генералният извод "ах колко добре се чуваме на FreeDMR"...

Не се отчита факта, че връзката която е критична за качеството на комуникацията е радиостанция <-> точка за достъп (спот или ретранслатор) и именно тази връзка зависи от радиолюбителя в най-голяма степен.

Връзката точка за достъп <-> сървър и сървър <-> сървър зависи от качеството на връзката между тези устройства която става през... Интернет. А интернета на днешно време е достатъчно добър за такива комуникации.

И така остава критична само връзката радиостанция <-> точка за достъп. Именно тази връзка зависи в най-голяма степен от радиолюбителя.

И така, със същият успех ползвателя на личният спот може да настрои спота си директно на връзка към IPSC2 ТГ 2840 и двамата да се чуят един с друг на сървъра на IPSC2, нали?

Да може да стане. 

Тогава комуникацията между двамата ще се осъществява през сървъра на IPSC2 а към сървъра на FreeDMR просто тази комуникация ще се ретранслира през бриджа към ТГ 284 на FreeDMR.

При условие, че личните спотове, с малко повече четене, могат да се настроят да работят в няколко мрежи едновременно аз  лично не виждам смисъла в това "обединение" и в нескончаемите тестове на комуникацията през различни сървъри свързвайки се към една и съща точка за достъп. Достатъчно е да се направи просто един Ехо Тест и става ясно имаш ли връзка или не с ретранслатора или точката за достъп, останалото зависи от доставчика на Интернет.

Заключение:

Различните сървъри имат различни екстри. Основновната прилика между сървърите е, че те свързват отделните точки за достъп (спотове, ретранслатори) във единна мрежа. Всеки един сървър също си има ограничения. Затова често се използва повече от един сървър. Това води до увеличаване на възможностите и покритието на мрежите от ретранслатори.

Точките за достъп имат възможност да се свързват към няколко вида DMR мрежи от сървъри, XLX, BrandMeister, IPSC2, HBlink, FreeDMR.

Към кои точно сървърни мрежи, към кои точно групи или стаи, ще се свърже една точка за достъп, зависи от конкретните нужди на радиолюбителите в региона който покрива една точка за достъп, хората които я използват и от нейният капацитет, да поема и да обслужва определен брой комуникационни канали.

Именно това не всички колеги го разбират и се започва изграждане на мостове между мрежите.

В описаният по-горе частен случай на изграждане на мост между две мрежи и казаното до тук, става ясно, че същата тази връзка между две мрежи може успешно да бъде изградена и само чрез подходяща настройка на точките за достъп работещи под управлението на Pi-Star, а такива са почти 95% от точките за достъп.

Изграждането на мостове между мрежи има смисъл когато има някаква несъвместимост между сървърите и типа радиостанции които обслужват:

DMR, D-Star, Fusion...

За настройките на Pi-Star, специално за DMR имам написани доста статии и в двата ми блога, как работи DMR, как работи Pi-Star (в частта си за DMR) и как се правят тези настройки. Има и много колеги които са съществили такива настройки на практика.

Затова, четете, питайте, мислете, то се мисли ако има с какво, разбира се. Тествайте и се обучавайте. Там е истината, в обучението и усвояването на цифровите технологии. Ако искате да ги използвате.

73 de LZ5PN

Някои особенности на кофигурационният файл за DMR Gateway на Pi-Star

 Някои особенности на кофигурационният файл за DMR Gateway на Pi-Star

Този файл се е развивал във времето.

Този файл съдържа конфигурации които може да направят вашата точка за достъп неработеща и не случайно достъпът до него се намира в меню Експерт.

Промените които се правят в този файл изискват минимум от основни познания по Линукс, мрежи и сървъри. Ако не сте сигурни какво правите потърсете помощ от колеги.

В него отделните мрежи са описани в хронологичен ред.

При първоначална инсталация на Pi-Star в този файл има само четири мрежи:

XLX, BrandMeister, IPSC2 и HBlink.

FreeDMR мрежата не е описана, тя е най младата мрежа и затова се добавя допълнително.

В този файл има правила които определят кои групи за разговори накъде и как да се пренасочват. Тези правила са описани в предишни мои статии.

За радиолюбителите интерес представляват правилата за пренасочване на трафика -  TGRewrite. Тези правила се описват с поредни номера.

TGRewrite0

TGRewrite1

.

.

.

TGRewriteN

Ако номерацията на правилата е една и съща:

TGRewrite0

TGRewrite0

То тогава следващото правило пренаписва предишното и то не се изпълнява, затова поредните номера трябва да бъдат различни в рамките на една       [DMR мрежа N]

По подразбиране има зададени групи от правила за мрежите XLX, BrandMeister, IPSC2 и HBlink. Тези правила е добре да се оставят както са си и само да се допълват. Всяка една мрежа има своите особенности и тези базови правила регулират трафика от и към съответните мрежи по начин избягващ конфликти.

Друга особенност на този файл е, че поддържа до пет активни DMR мрежи, ако се добавят повече от пет активни мрежи, Pi-Star ще обслужва само първите четири DMR мрежи с правило Enable=1.

73 de LZ5PN

Rewrite Rules - g4klx/DMRGateway GitHub Wiki. Превод.

Rewrite Rules - g4klx/DMRGateway GitHub Wiki. Превод.

Правила за пренаписване - g4klx/DMRGateway GitHub Wiki

Обща употреба

DMR Gateway ще пренасочва трафик към различните мрежи само ако това е посочено в правило за пренасочване в .ini файла. 

Точките за достъп имат два интерфейса. Единият е радио интерфейс през който става връзката между радиостанцията и точката за достъп. Другият интерфейс е IP - LAN или WIFI през който се осъществява връзката със сървърите.

TGRewrite

TGRewrite ви позволява да пренасочите една група за разговори в друга и обратно както и да промените времевият слот. TGRewrite може също да се използва за пренасочване на група за разговори и комбинация от слотове към определена мрежа. „от“ се отнася за DMR пакети, влизащи в шлюза през MMDVMHost (RF), а „до“ е мястото, където те се насочват от страната на мрежата (Net). Правилата се прилагат за DMR пакети, преминаващи през шлюза в двете посоки.

Синтаксис

TGRewrite=fromSlot,fromTG,toSlot,toTG,обхват
* Обхват представлява число от 1 до 65535 което определя колко
последователни групи за разговори да се преименуват.
Например обхват = 3 приложен към група за разговори 28401
в резултат ще даде 28401, 28402, 28403. 
Примери

Правилото по-долу ще пренасочи групово повикване за разговор от група за разговор 8 в група за разговор 9 в [DMR мрежа 1].

[DMR Network 1] 

# Reflector TG on to slot 2 TG8
TGRewrite=2,8,2,9,1

Правилата по-долу ще пренасочат групово обаждане до 9990 във времеви слот 1 към [DMR мрежа 1] и групово повикване до 9990 във времеви слот 2 към [DMR мрежа 2].

[DMR Network 1]

# Echo on slot 1 TG9990
TGRewrite=1,9990,2,9990,1

[DMR Network 2]

# Echo on slot 2 TG9990
TGRewrite=2,9990,2,9990,1

PCRewrite

 Това е почти идентично с правилото TGRewrite, с изключение на това, че работи само при частни разговори. PCRewrite може да се използва за добавяне на префикс към частно повикване към рефлектор, за да го „насочи“ към определена мрежа. След това префиксът ще бъде премахнат, преди да бъде насочен към DMR мрежата. Правилата се прилагат за DMR пакети, преминаващи през шлюза в двете посоки. Това правило работи само върху DMR пакети, преминаващи от страната на RF към мрежата.

Обикновено се използва за пренасочване на повикванията за управление на рефлектора към различен локален диапазон, за да се избегнат сблъсъци и за разрешаване на доклади за GPS позиция и частни повиквания към определена мрежа.

Синтаксис
PCRewrite=fromSlot,fromId,toSlot,toId,обхват
Примери

The rules below will route any private calls on time slot 2 in the range 94000 - 95000 to 4000 - 5000 on DMR Network 1, and the range 84000 - 85000 to 4000 - 5000 on DMR Network 2.

Правилата по-долу ще пренасочат всички частни повиквания във времеви слот 2 в диапазона 94 000 - 95 000 до 4000 - 5000 в [DMR мрежа 1] и диапазона 84 000 - 85 000 до 4000 - 5000 в [DMR мрежа 2].

[DMR Network 1]

# Reflector control command slot 2 94000->4000 to 95000->5000
PCRewrite=2,94000,2,4000,1001

[DMR Network 2]

# Reflector control command slot 2 84000->4000 to 85000->5000
PCRewrite=2,84000,2,4000,1001

SrcRewrite

SrcRewrite will rewrite the source/from Talk Group ID to another ID.

SrcRewrite ще пренасочи трафика от определен източник/ID към определена група за разговори.

Синтаксис
SrcRewrite=fromSlot,fromId,toSlot,toTG,обхват
Примери

The rule below will rewrite calls from 4000-5000 on DMR Network 1, to talk group 9 on slot 2. This is useful for ensuring reflector announcements are heard on talk group 9. This rule only works on DMR frames passing from the network side to the RF side.

Правилото по-долу ще пренасочи повикванията от 4000-5000 в [DMR мрежа 1] към разговорна група 9 в слот 2. Това е полезно, за да се гарантира, че рефлекторните съобщения ще се чуват в разговорна група 9. Това правило работи само върху DMR пакети, преминаващи от страната на мрежата към страната на RF.

[DMR Network 1]

# Състоянието на рефлектора се връща (възстановява)
SrcRewrite=2,4000,2,9,1001

TypeRewrite

TypeRewrite maps a group call to a private call. This rule only works on DMR frames passing from the RF side to the network side.

TypeRewrite преобразува групово повикване в лично повикване. Това правило работи само върху DMR пакети, преминаващи от страната на RF към мрежата.

Синтаксис

TypeRewrite==fromSlot,fromId,toSlot,toId

Примери

The rules below translate a group call to 9990 on slot 1, to a private call on DMR Network 1. The SrcRewrite rule then allows the reply to traverse the gateway.

This could be used for converting Brandmeister's private call echo service to a group call method like DMR+, to make the usage more uniform across the networks.

Правилата по-долу преобразуват групово повикване до 9990 на слот 1 в частно повикване в [DMR мрежа 1]. След това правилото SrcRewrite позволява на отговора да премине през шлюза.

Това може да се използва за преобразуване на частната услуга за ехо тест на повикване на Brandmeister в метод на групово повикване като DMR+, за да направи използването по-унифицирано в мрежите.

[DMR Network 1]

# Ехо на RF слот 1 TG9990
# към мрежов слот 1 персонално повикване 9990
TypeRewrite=1,9990,1,9990
SrcRewrite=1,9990,1,9990,1

PassAllTG

Пропуска всички групи за разговор без конкретни правила за съвпадение и може да се използва само в една DMR мрежа. Правилата се прилагат за DMR пакети, преминаващи през шлюза в двете посоки.

Синтаксис

PassAllTG=Slot

Примери

Правилата по-долу позволяват на груповите повиквания да преминат от    [DMR мрежа 2] към който и да е времеви слот от RF страна.

[DMR Network 2]
# Прекарва целия останал трафик на групите за разговори
# на слот 1 и слот 2 PassAllTG=1 PassAllTG=2
Възможна е и следната комбинация:
[DMR Network 1]
# Прекарва целия останал трафик на групите за разговори на слот 1
PassAllTG=1
[DMR Network 2]
# Прекарва целия останал трафик на групите за разговори на слот 2
PassAllTG=2

PassAllPC

Пропуска всички частни разговори без конкретни правила и може да се използва само в една DMR мрежа. Правилата се прилагат за DMR пакети, преминаващи през шлюза в двете посоки.

Синтаксис

PassAllPC=Slot

Примери

Правилата по-долу позволяват частни повиквания да преминават от           [DMR мрежа 2] към който и да е времеви слот от RF страна.

[DMR Network 2]
# Прекарайте целия останал частен трафик на слот 1 и слот 2
PassAllPC=1
PassAllPC=2
 
Възможна е и следната комбинация:
[DMR Network 1]
# Прекарайте целия останал частен трафик на слот 1
PassAllPC=1
[DMR Network 2]
# Прекарайте целия останал частен трафик на слот 2
PassAllPC=2

73 de LZ5PN

Rewrite-Rules ред за обработка на заявките

 Rewrite-Rules ред за обработка на заявките

  Когато Pi-Star се постави в режим Gateway се работи по един конфигурационен файл достъпен през меню:

 Configuration -> Expert -> DMR GW

Ето го и самият файл копиран от работещ симплексен спот:

--------------------------------------------------------------------------------------------------------------------

[General]
RptAddress=127.0.0.1
RptPort=62032
LocalAddress=127.0.0.1
LocalPort=62031
RuleTrace=0
Daemon=1
Debug=0
RFTimeout=20
NetTimeout=20

[Log]
DisplayLevel=0
FileLevel=1
FilePath=/var/log/pi-star
FileRoot=DMRGateway

[Voice]
Enabled=1
Language=en_GB
Directory=/usr/local/etc/DMR_Audio

[Info]
Enabled=0
RXFrequency=439900000
TXFrequency=439900000
Power=1
Latitude=42.163358
Longitude=24.793430
Height=0
Location="OpenGD77"
Description="Bulgaria"
URL=https://www.qrz.com/db/LZХХХХ

[XLX Network]
Enabled=1
Id=1234567*
Startup=800
Module=B
File=/usr/local/etc/XLXHosts.txt
Port=62030
Password="passw0rd"
ReloadTime=60
Slot=2
TG=6
Base=64000
Relink=60
Debug=0
UserControl=1

[DMR Network 1]
Enabled=1
Id=123456701**
Address=2841.master.brandmeister.network
Port=62031
TGRewrite0=2,9,2,9,1
PCRewrite0=2,94000,2,4000,1001
TypeRewrite0=2,9990,2,9990
SrcRewrite0=2,4000,2,9,1001
PassAllPC0=1
PassAllTG0=1
PassAllPC1=2
PassAllTG1=2
Password="Password from BM"
Debug=0
Location=1
Name=BM_2841_Bulgaria

[DMR Network 2]
Enabled=1
Id=123456702**
Address=185.80.0.40
Password="PASSWORD"
Port=55555
TGRewrite0=2,8,2,9,1
TGRewrite20=2,284023,2,284,1
PCRewrite0=2,84000,2,4000,1001
Debug=0
Location=0
Name=DMR+_IPSC2-BG-Hotspot
Options="TS1_1=284;"

[DMR Network 3]
Id=123456703**
Enabled=1
Name=HBLink LZ5PN
Address=kario88.freeddns.com
Port=62031
Password="passw0rd"
Location=0
Debug=0
TGRewrite0=2,11,2,11,1
TGRewrite30=2,9999,2,9999,1

[DMR Network 4]
Enabled=1
Id=123456704**
#Name=FreeDMR_Bulgaria
#Address=sofia.freedmr.link
Name=FreeDMR LZ5PN-2
Address=75b7068e56f6.sn.mynetname.net
#Name=FreeDMR_Bulgaria
#Address=sofia.freedmr.link
Port=62031
Password="passw0rd"
Location=0
Debug=0
Options="TS1_1=284;"
TGRewrite201=2,284799,1,284,1

[GPSD]
Enable=0
Address=127.0.0.1
Port=2947

[APRS]
Enable=1
Address=127.0.0.1
Port=8673
Description=APRS for DMRGateway
Suffix=DMR

[Dynamic TG Control]
Enabled=1
Port=3769

--------------------------------------------------------------------------------------------------------------------

 * Да се замени със вашето ID което е 7 цифри а за репитер 6 цифри.

** Да се замени със вашето ID което е 7 цифри и се добавият още две цифри като разширение с което вашето ID става 9 цифри. Последните две цифри са в обхвата от 00 до 99. За всяка мрежа трябва да бъдат различни. Ако имате повече от един спот не трябва да се дублират. За репитер се използват само 6 цифри и не се добавя разширение. За всички мрежи репитрите използват само 6 цифрени IDта.

--------------------------------------------------------------------------------------------------------------------

Интерес тук представляват правилата TGRewrite и PassAllTG.

Правилата са описани тук:

 https://github-wiki-see.page/m/g4klx/DMRGateway/wiki/Rewrite-Rules

Има една особенност която не е описана а именно, редът по който се обработват правилата.

Както съм го описвал и в старият ми блог цифровата комуникация е пакетно предаване на данни при което на всеки пакет радиото поставя адрес на подателя и адрес на получателя. В тези пакети има само ID на подателя и TG на получателя.

За това кой пакет накъде ще се насочи се грижат TGRewrite и PassAllTG правилата следвайки следният ред:

1. TGRewrite

2. PassAllTG

И така ако TG на получателя не съвпада с нито едно от TGRewrite правилата то тогава пакетът се насочва към PassAllTG.

Тези правила, PassAllTG, са само две за целият конфигурационен файл, по едно за всеки слот.

Както може би забелязвате имаме секции [DMR Network Х]

Всяка една подобна секция се отнася за един DMR Network сървър.

 PassAllTG правила може да има само за първи и втори слот и то само за един DMR Network сървър в целият конфигурационен файл.

Допуска се PassAllTG правилото за единият от двата слота да бъде в секцията на единият от DMR Network сървърите а PassAllTG правилото за другият от двата слота да бъде в секцията на друг от DMR Network сървърите.

Какво означава това?

Примерно: 

[DMR Network 1] която има PassAllTG0=1 ще пренасочва всички заявки за TG не включени във TGRewrite правилата идващи от първи слот към [DMR Network 1]

[DMR Network 2] която има PassAllTG1=2 ще пренасочва всички заявки за TG не включени във TGRewrite правилата идващи от втори слот към [DMR Network 2]

Ако във конфигурационният файл няма PassAllTG правила за единият или другият слот то тогава заявките несъответстващи на нито едно TGRewrite правило се игнорират и не се обработват. 

Ето ги и самите правила:

Rewrite Rules - g4klx/DMRGateway GitHub Wiki

General Usage

DMR Gateway will only pass traffic to the different networks if it's referenced in a rewrite rule in the .ini file.

TGRewrite

TGRewrite allows you to translate one talk group ID to another, and to alter the time slot. TGRewrite can also be used to route a talk group and slot combination to a particular network. 'from' applies to DMR frames entering the Gateway via MMDVMHost (RF), and 'to' is where they are routed on the network side (Net). The rules apply to DMR frames traversing the gateway in both directions.

Syntax
TGRewrite=fromSlot,fromTG,toSlot,toTG,range
Examples

The rule below will translate a group call to talk group talk group 8 to talk group 9 on DMR Network 1.

[DMR Network 1] 

# Reflector TG on to slot 2 TG8
TGRewrite=2,8,2,9,1

The rules below will route a group call to 9990 on time slot 1 to DMR Network 1, and a group call to 9990 on time slot 2 to DMR Network 2.

[DMR Network 1]

# Echo on slot 1 TG9990
TGRewrite=1,9990,2,9990,1

[DMR Network 2]

# Echo on slot 2 TG9990
TGRewrite=2,9990,2,9990,1

PCRewrite

This is almost identical to the TGRewrite except it only operates on private calls. PCRewrite can be used to add a prefix on a private call to a reflector to 'steer' them to a particular network. The prefix will then be removed before being routed to the DMR network. The rules apply to DMR frames traversing the gateway in both directions. This rule only works on DMR frames passing from the RF side to the network.

Typically used to remap reflector control calls to a different local range to avoid clashes, and for permitting GPS position reports and private calls to a particular network.

Syntax
PCRewrite=fromSlot,fromId,toSlot,toId,range
Examples

The rules below will route any private calls on time slot 2 in the range 94000 - 95000 to 4000 - 5000 on DMR Network 1, and the range 84000 - 85000 to 4000 - 5000 on DMR Network 2.

[DMR Network 1]

# Reflector control command slot 2 94000->4000 to 95000->5000
PCRewrite=2,94000,2,4000,1001

[DMR Network 2]

# Reflector control command slot 2 84000->4000 to 85000->5000
PCRewrite=2,84000,2,4000,1001

SrcRewrite

SrcRewrite will rewrite the source/from Talk Group ID to another ID.

Syntax
SrcRewrite=fromSlot,fromId,toSlot,toTG,range
Examples

The rule below will rewrite calls from 4000-5000 on DMR Network 1, to talk group 9 on slot 2. This is useful for ensuring reflector announcements are heard on talk group 9. This rule only works on DMR frames passing from the network side to the RF side.

[DMR Network 1]

# Reflector status returns
SrcRewrite=2,4000,2,9,1001

TypeRewrite

TypeRewrite maps a group call to a private call. This rule only works on DMR frames passing from the RF side to the network side.

Syntax

TypeRewrite==fromSlot,fromId,toSlot,toId

Example

The rules below translate a group call to 9990 on slot 1, to a private call on DMR Network 1. The SrcRewrite rule then allows the reply to traverse the gateway.

This could be used for converting Brandmeister's private call echo service to a group call method like DMR+, to make the usage more uniform across the networks.

[DMR Network 1]

# Echo on RF slot 1 TG9990 to network slot 1 9990
TypeRewrite=1,9990,1,9990
SrcRewrite=1,9990,1,9990,1

PassAllTG

Passes all talk groups without specific matching rules, and can only be used on a single DMR network. The rules apply to DMR frames traversing the gateway in both directions.

Syntax

PassAllTG=Slot

Example

The rules below allow group calls to traverse from DMR network 2 to either time slot on the RF side.

[DMR Network 2]
# Pass all of the other talk group traffic on slot 1 and slot 2
PassAllTG=1
PassAllTG=2

PassAllPC

Passes all private calls without specific rules, and can only be used on a single DMR network. The rules apply to DMR frames traversing the gateway in both directions.

Syntax

PassAllPC=Slot

Example

The rules below allow private calls to traverse from DMR network 2 to either time slot on the RF side.

[DMR Network 2]
# Pass all of the other private traffic on slot 1 and slot 2
PassAllPC=1
PassAllPC=2

Ако имате въпроси по статията може да ме намерите на TG 284 или 284359 BrandMeister.

73 de LZ5PN