Parrot with hb_confbridge.py


Jay Campbell KB9YYN
 

Hi all,

I've set up a master, MASTER-1, using hb_confbridge.py and its working great.  All clients can connect to the master and all traffic is repeated to all of the clients. 

I would like to add a parrot to this master that would be accessed via a rule using TS 2 and TGID 9999.  In order to do this I have created two different directories, one that runs hb_confbridge and one that runs hb_parrot.  My intent is to bridge to the PARROT master via CLIENT-1 when the bridge rule is met.

Problem:  Traffic is not being passed from MASTER-1 to the PARROT master using CLIENT-1 even though the rule seems to be bridging MASTER-1 to CLIENT-1 (as seen in the terminal window).  It appears that CLIENT-1 connects to PARROT during startup because I can see the exchange in the terminal.


Diredctory 1:  (/opt/hblink/)
This is the directory where I run hb_confbridge.py and use the following configurations.

hblink.cfg
[MASTER-1]
MODE: MASTER
ENABLED: True
REPEAT: True
EXPORT_AMBE: False
IP:
PORT: 54000
PASSPHRASE: s3cr37w0rd
GROUP_HANGTIME: 5

[CLIENT-1] MODE: CLIENT ENABLED: True LOOSE: False EXPORT_AMBE: False IP: 127.0.0.1 PORT: 6302 MASTER_IP: 127.0.0.1 MASTER_PORT: 62031
PASSPHRASE: s3cr37w0rd

hb_confbridge_rules.py
BRIDGES = {
 
    'hblink': [
            {'SYSTEM': 'MASTER-1',    'TS': 2, 'TGID': 9999, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [], 'OFF': []},
            {'SYSTEM': 'CLIENT-1',    'TS': 2, 'TGID': 9999, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [], 'OFF': []},
        ]
}


Diredctory 2:  (/opt/HBLink/)

This is the directory where I run hb_parrot.py and use the following configuration.

hblink.cfg
[PARROT]
MODE: MASTER
ENABLED: True
REPEAT: True
EXPORT_AMBE: False
IP:127.0.0.1
PORT: 62031
PASSPHRASE: s3cr37w0rd
GROUP_HANGTIME: 5

I am very new to this and don't even know if I am approaching this in a logical manner.  Can anyone find a flaw and point me in the right direction?

Thanks!











Matthew 2E0SIP
 

So to confirm your logic looks like:

Client (MMDVM?) - - > Conf Bridge - - > Parrot ? 

I suspect the traffic is getting as far as the Parrot Master and failing the Radio ID validation, because Conf Bridge doesn't rewrite the ID unless something has recently changed. 


Jay Campbell KB9YYN
 

This is what I am trying to do but maybe I'm on the wrong track.
Does anyone have a comment on my approach or have a different way to add a "parrot" function to a master like a BrandMeister parrot?


Cort N0MJS <n0mjs@...>
 

Make parrot a client and connect it to master-1?


On Jul 26, 2018, at 2:30 PM, Jay Campbell KB9YYN <jay@...> wrote:

This is what I am trying to do but maybe I'm on the wrong track.
Does anyone have a comment on my approach or have a different way to add a "parrot" function to a master like a BrandMeister parrot?<PARROT _1_.svg>


Matthew 2E0SIP
 

Hi Jay,

My previous comment still stands, I was waiting for one of the core DVSwitch team to weigh in before expanding.

It's been a while since I've played with this, but as far as I remember best way to configure this today, without any code changes, is to configure the Parrot as a client and run two "Master" instances within confbridge, one for MMDVM clients and one for the Parrot itself.  

I hope that helps,
Matthew
2E0SIP


Cort N0MJS <n0mjs@...>
 

I stand corrected. I didn’t write the hb_parrot.py. It doesn’t have TGID selection built in like the IPSC/DMRlink version — then I stand with Matthew, 2E0SIP.

On Jul 26, 2018, at 2:35 PM, Cort N0MJS via Groups.Io <n0mjs@...> wrote:

Make parrot a client and connect it to master-1?


On Jul 26, 2018, at 2:30 PM, Jay Campbell KB9YYN <jay@...> wrote:

This is what I am trying to do but maybe I'm on the wrong track.
Does anyone have a comment on my approach or have a different way to add a "parrot" function to a master like a BrandMeister parrot?<PARROT _1_.svg>

Cort Buffington
785-865-7206


Mike Zingman - N4IRR
 

Wow, I am getting old!  I did not even remember writing this code.  It was one of the first things I did for HB as an experiment.
I will look at the code and add the proper TG selection which will allow it to be used in the proper setting.  In addition, I will see if any other changes are needed for rewrite.

Mike


Matthew 2E0SIP
 
Edited

Hi Mike,

To get the Parrot working as a "Master" with confbridge connecting as a client, either the confbridge needs to rewrite the RADIO_ID, or the Parrot should not validate the ID.

I see some merit in both, depending on whether you want to see the last hop of the frame or the original source.

I guess it's a big job, but perhaps it's worth swapping to the OpenBridge format for linking applications?


Thanks

Matthew


Cort N0MJS <n0mjs@...>
 

OpenBridge is a work on progress for me. Not working yet, so not pushed to the hblink repo. 

On Jul 28, 2018, at 3:09 AM, Matthew 2E0SIP <groups.io@...> wrote:

Hi Mike,

To get the Parrot working as a "Master" with confbridge connecting as a client, either the confbridge needs to write the RADIO_ID, or the Parrot should not validate the ID.

I see some merit in both, depending on whether you want to see the last hope of the frame our the original source.

I guess it's a big job, but perhaps it's worth swapping to the OpenBridge format for linking applications?


Thanks

Matthew


--
Cort Buffington
H: +1-785-813-1501
M: +1-785-865-7206






Cort N0MJS <n0mjs@...>
 

parrot.py dones’t hae a choice, because if it’s a master, it’s hblink.py underneath that’s doing it.

The work is not hard… the consequences of the choice are. I’ll work on this in the next few days.

On Jul 28, 2018, at 3:09 AM, Matthew 2E0SIP <groups.io@...> wrote:

To get the Parrot working as a "Master" with confbridge connecting as a client, either the confbridge needs to write the RADIO_ID, or the Parrot should not validate the ID

--
Cort Buffington
H: +1-785-813-1501
M: +1-785-865-7206






Peter M0NWI
 

That sounds interesting! 

Would the same code be able to able to be ported to DMRlink?  Be nice to have a more open way to trunk it to a bigger network.

73,
Peter

Sent from Outlook
From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of Cort N0MJS via Groups.Io <n0mjs@...>
Sent: 28 July 2018 12:09:56
To: main@DVSwitch.groups.io
Subject: Re: [DVSwitch] Parrot with hb_confbridge.py
 
OpenBridge is a work on progress for me. Not working yet, so not pushed to the hblink repo. 

On Jul 28, 2018, at 3:09 AM, Matthew 2E0SIP <groups.io@...> wrote:

Hi Mike,

To get the Parrot working as a "Master" with confbridge connecting as a client, either the confbridge needs to write the RADIO_ID, or the Parrot should not validate the ID.

I see some merit in both, depending on whether you want to see the last hope of the frame our the original source.

I guess it's a big job, but perhaps it's worth swapping to the OpenBridge format for linking applications?


Thanks

Matthew


--
Cort Buffington
H: +1-785-813-1501
M: +1-785-865-7206






Cort N0MJS <n0mjs@...>
 

OpenBridge is based on home-brew repeater protocol… so going through IPSC_Bridge to HB_Bridge would be the appropriate way to use it.

Pushing it into DMRlink would mean full protocol translation in DMRlink itself, which is orthogonal to the point of “DVSwitch”.

On Jul 28, 2018, at 7:02 AM, Peter M0NWI <peter-martin@...> wrote:

That sounds interesting! 

Would the same code be able to able to be ported to DMRlink?  Be nice to have a more open way to trunk it to a bigger network.

73,
Peter

Sent from Outlook
From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of Cort N0MJS via Groups.Io <n0mjs@...>
Sent: 28 July 2018 12:09:56
To: main@DVSwitch.groups.io
Subject: Re: [DVSwitch] Parrot with hb_confbridge.py
 
OpenBridge is a work on progress for me. Not working yet, so not pushed to the hblink repo. 

On Jul 28, 2018, at 3:09 AM, Matthew 2E0SIP <groups.io@...> wrote:

Hi Mike,

To get the Parrot working as a "Master" with confbridge connecting as a client, either the confbridge needs to write the RADIO_ID, or the Parrot should not validate the ID.

I see some merit in both, depending on whether you want to see the last hope of the frame our the original source.

I guess it's a big job, but perhaps it's worth swapping to the OpenBridge format for linking applications?


Thanks

Matthew


--
Cort Buffington
H: +1-785-813-1501
M: +1-785-865-7206






--
Cort Buffington
H: +1-785-813-1501
M: +1-785-865-7206






Steve N4IRS
 

I think just as we have IPSC_Bridge and HB_Bridge, I think OpenBridge_Bridge would be the way to go. (Well except for the name).

Steve

On 07/28/2018 08:42 AM, Cort N0MJS via Groups.Io wrote:
OpenBridge is based on home-brew repeater protocol… so going through IPSC_Bridge to HB_Bridge would be the appropriate way to use it.

Pushing it into DMRlink would mean full protocol translation in DMRlink itself, which is orthogonal to the point of “DVSwitch”.

On Jul 28, 2018, at 7:02 AM, Peter M0NWI <peter-martin@...> wrote:

That sounds interesting! 

Would the same code be able to able to be ported to DMRlink?  Be nice to have a more open way to trunk it to a bigger network.

73,
Peter

Sent from Outlook
From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of Cort N0MJS via Groups.Io <n0mjs@...>
Sent: 28 July 2018 12:09:56
To: main@DVSwitch.groups.io
Subject: Re: [DVSwitch] Parrot with hb_confbridge.py
 
OpenBridge is a work on progress for me. Not working yet, so not pushed to the hblink repo. 

On Jul 28, 2018, at 3:09 AM, Matthew 2E0SIP <groups.io@...> wrote:

Hi Mike,

To get the Parrot working as a "Master" with confbridge connecting as a client, either the confbridge needs to write the RADIO_ID, or the Parrot should not validate the ID.

I see some merit in both, depending on whether you want to see the last hope of the frame our the original source.

I guess it's a big job, but perhaps it's worth swapping to the OpenBridge format for linking applications?


Thanks

Matthew


--
Cort Buffington
H: +1-785-813-1501
M: +1-785-865-7206






--
Cort Buffington
H: +1-785-813-1501
M: +1-785-865-7206