XLX Prevents Private Calls from Working (Somtimes) #support


Dan K2IE
 

While trying out the private call functionality from the master branch, I noticed that often calls were being incorreclty forwarded back to an XLXPEER system instead of their origin MASTER system.

This has occured with both parties to a PC on the same HBlink server.  If I disable the XLXPEERs (of which I have 3) the problem goes away and the private calls are appropriately forwarded.  It does not happen all of the time, but very frequently, and enough to break the usability of private call functionality.

Can anyone else with XLXPEER systems validate this so that we can create an issue?


Dan K2IE
 

I have identified the issue via the hblink logs.  This is some type of XLX issue and it probably has been around for a while.  It explains why I've been seeing (via hbmonitor) a momentary flash of XLX transmissions right when a call from elsewhere on the bridge is completed.

At the end of a call, the logs report a brief new stream originating from the XLX module that is part of the bridge.  I verified that this occurs on each of the three modules that I have linked via XLX to three differnet bridges.

Either HBlink is reporting transmissions from the respective XLX modules based on some misunderstanding of the data or the XLX is sending something back to HBlink at the end of each transmission that it receives.


Randy AA6RH
 

If you can share your config and logs, we can have a go at troubleshooting it. If you had a diagram of your setup (with how you want the XLX peers to work, for instance) along with the config (both hblink.cfg and rules) that would be even more helpful.

Thanks,

--R
--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


Dan K2IE
 

So there are two example Bridge Groups relevant to this discussion:

    'CNJHAM': [
            {'SYSTEM': 'ASL 47742', 'TS': 2, 'TGID': 2,     'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'YSF 44977', 'TS': 2, 'TGID': 2,     'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'BM BRIDGE', 'TS': 1, 'TGID': 31340, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'TGIF',      'TS': 1, 'TGID': 31340, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'TGIF Prime','TS': 1, 'TGID': 31340, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'NJ-TRBO',   'TS': 1, 'TGID': 31340, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'NC-HAM',    'TS': 1, 'TGID': 2,     'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'XLX020 A',  'TS': 2, 'TGID': 9,     'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'P25 31340', 'TS': 2, 'TGID': 2,     'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'NXDN 31340',  'TS': 2, 'TGID': 2,   'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'ZUMSPOT',  'TS': 2, 'TGID': 2, 'ACTIVE': True, 'TIMEOUT': 60, 'TO_TYPE': 'ON',  'ON': [2], 'OFF': [99], 'RESET': []},
            {'SYSTEM': 'DUPLEX',  'TS': 2, 'TGID': 2,  'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [2], 'OFF': [99], 'RESET': []},
            {'SYSTEM': 'SCOTT RF',  'TS': 2, 'TGID': 2,     'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [2], 'OFF': [99], 'RESET': []},
            {'SYSTEM': 'SOMECALL',  'TS': 2, 'TGID': 2,       'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [2], 'OFF': [99], 'RESET': []},
            {'SYSTEM': 'ANOTHERCALL',  'TS': 2, 'TGID': 2,  'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [2], 'OFF': [99], 'RESET': []},
        ]

    'REF020A': [
            {'SYSTEM': 'BM BRIDGE', 'TS': 1, 'TGID': 31675, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'NC-HAM',    'TS': 1, 'TGID': 20,    'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'TGIF',      'TS': 2, 'TGID': 31675, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'TGIF Prime','TS': 2, 'TGID': 31675, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'YSF 40874', 'TS': 2, 'TGID': 20,    'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'XLX020 C',    'TS': 2, 'TGID': 9,   'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'ZUMSPOT',  'TS': 2, 'TGID': 20, 'ACTIVE': False, 'TIMEOUT': 60, 'TO_TYPE': 'ON',  'ON': [20], 'OFF': [99], 'RESET': []},
            {'SYSTEM': 'DUPLEX',  'TS': 2, 'TGID': 20,  'ACTIVE': False, 'TIMEOUT': 60, 'TO_TYPE': 'ON',  'ON': [20], 'OFF': [99], 'RESET': []},
            {'SYSTEM': 'SCOTT RF',  'TS': 2, 'TGID': 20,     'ACTIVE': False, 'TIMEOUT': 60, 'TO_TYPE': 'ON',  'ON': [20], 'OFF': [99], 'RESET': []},
            {'SYSTEM': 'SOMECALL',  'TS': 2, 'TGID': 20,       'ACTIVE': False, 'TIMEOUT': 60, 'TO_TYPE': 'ON',  'ON': [20], 'OFF': [99], 'RESET': []},
            {'SYSTEM': 'ANOTHERCALL',  'TS': 2, 'TGID': 20,  'ACTIVE': False, 'TIMEOUT': 60, 'TO_TYPE': 'ON',  'ON': [20], 'OFF': [99], 'RESET': []},
        ]

Keyup anywhere on CNJHAM, the unwanted false transmission under the ID of the original talker comes from XLX020 A.
Likewise, REF020A from XLX020 C.

Here's what it looks like in the logs:

INFO 2020-10-26 17:43:09,152 (DUPLEX) *GROUP CALL START* STREAM ID: 221783164 SUB: K2IE (3134090) PEER: 313409003 (313409003) TGID CNJHAM (2), TS 2
INFO 2020-10-26 17:43:09,153 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to HBP System: ASL 47742 TS: 2, TGID: 2
INFO 2020-10-26 17:43:09,154 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to HBP System: YSF 44977 TS: 2, TGID: 2
INFO 2020-10-26 17:43:09,154 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to OBP System: BM BRIDGE TS: 1, TGID: 31340
INFO 2020-10-26 17:43:09,155 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to HBP System: TGIF TS: 1, TGID: 31340
INFO 2020-10-26 17:43:09,156 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to HBP System: TGIF Prime TS: 1, TGID: 31340
INFO 2020-10-26 17:43:09,157 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to OBP System: NJ-TRBO TS: 1, TGID: 31340
INFO 2020-10-26 17:43:09,158 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to OBP System: NC-HAM TS: 1, TGID: 2
INFO 2020-10-26 17:43:09,159 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to HBP System: XLX020 A TS: 2, TGID: 9
INFO 2020-10-26 17:43:09,160 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to HBP System: P25 31340 TS: 2, TGID: 2
INFO 2020-10-26 17:43:09,161 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to HBP System: NXDN 31340 TS: 2, TGID: 2
INFO 2020-10-26 17:43:09,162 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to HBP System: ZUMSPOT TS: 2, TGID: 2
INFO 2020-10-26 17:43:09,162 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to HBP System: SCOTT RF TS: 2, TGID: 2
INFO 2020-10-26 17:43:09,163 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to HBP System: SOMECALL TS: 2, TGID: 2
INFO 2020-10-26 17:43:09,164 (DUPLEX) Conference Bridge: CNJHAM, Call Bridged to HBP System: ANOTHERCALL TS: 2, TGID: 2
INFO 2020-10-26 17:43:11,856 (DUPLEX) *GROUP CALL END*   STREAM ID: 221783164 SUB: K2IE (3134090) PEER: 313409003 (313409003) TGID CNJHAM (2), TS 2, Duration: 2.70

Call ends, but here is the after call artifact...


INFO 2020-10-26 17:43:11,867 (XLX020 A) *GROUP CALL START* STREAM ID: 221773824 SUB: K2IE (3134090) PEER: 3163081 (3163081) TGID Reflectors (9), TS 2
INFO 2020-10-26 17:43:11,868 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to HBP System: ASL 47742 TS: 2, TGID: 2
INFO 2020-10-26 17:43:11,869 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to HBP System: YSF 44977 TS: 2, TGID: 2
INFO 2020-10-26 17:43:11,870 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to OBP System: BM BRIDGE TS: 1, TGID: 31340
INFO 2020-10-26 17:43:11,871 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to HBP System: TGIF TS: 1, TGID: 31340
INFO 2020-10-26 17:43:11,872 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to HBP System: TGIF Prime TS: 1, TGID: 31340
INFO 2020-10-26 17:43:11,872 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to OBP System: NJ-TRBO TS: 1, TGID: 31340
INFO 2020-10-26 17:43:11,880 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to OBP System: NC-HAM TS: 1, TGID: 2
INFO 2020-10-26 17:43:11,881 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to HBP System: P25 31340 TS: 2, TGID: 2
INFO 2020-10-26 17:43:11,882 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to HBP System: NXDN 31340 TS: 2, TGID: 2
INFO 2020-10-26 17:43:11,882 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to HBP System: ZUMSPOT TS: 2, TGID: 2
INFO 2020-10-26 17:43:11,883 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to HBP System: SCOTT RF TS: 2, TGID: 2
INFO 2020-10-26 17:43:11,888 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to HBP System: SOMECALL TS: 2, TGID: 2
INFO 2020-10-26 17:43:11,889 (XLX020 A) Conference Bridge: CNJHAM, Call Bridged to HBP System: ANOTHERCALL TS: 2, TGID: 2

And there is never a GROUP CALL END for this.  So it sticks for a while on the hbmonitor dashboard.  The additional call also omits the source PEER that the original initiated from.

XLX020 A and XLX020 C are defined as XLXPEER:

[XLX020 A]
MODE: XLXPEER
ENABLED: True
LOOSE: True
EXPORT_AMBE: False
IP:
PORT: nnnnn
MASTER_IP: 192.168.138.52
MASTER_PORT: 62030
PASSPHRASE: passw0rd
CALLSIGN: N0CALL
RADIO_ID: 1234567
RX_FREQ: 000000000
TX_FREQ: 000000000
TX_POWER: 0
COLORCODE: 1
SLOTS: 2
LATITUDE: 40.1234
LONGITUDE: -74.1234
HEIGHT: 0
LOCATION: Newark, NJ
DESCRIPTION: 020 Group
URL: www.k2ie.net
SOFTWARE_ID: 20170620
PACKAGE_ID: MMDVM_HBlink
GROUP_HANGTIME: 0
XLXMODULE: 4001
USE_ACL: True
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL

Everything else is a standard PEER or MASTER.

If you want actual configs, let's discuss how to get those to you.  I don't want to post them on a public message list.

Thanks.


Randy AA6RH
 

My email is good on QRZ, but it's also available here via PM if you so desire.
 
I'm not going to lie: a lot of this is beyond my current understanding of XLX peers and how those reflectors work. The good news (for me) is that I'm interested and want to learn and understand it better.
 
You're bridging a LOT of things together here. If I had to guess sight unseen, I get the feeling there's a stray dmrd_received that's coming up for the XLX peer. Might be that something is looping in the config, it will just take patience and a methodical approach to get this settled.
 
Contact me off-list if you want to get further. My time during the week is kinda meager, so this might have to wait for the weekend.
 
--R
--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


Dan K2IE
 

I think we're on the same track @Randy and that this will take some traffic sniffing by someone who really understands the flow to resolve.

I think my next step is to setup a minimal test config that replicates this environment to see if it happens there.  Just a couple of standards PEERs and a single XLXPEER.  Then I could share an exact config with those interested that could easily replicate the issue and have less parts to look at.

If you agree, that is how I'll proceed.


Dan K2IE
 

I've developed the minimal config and verified that the same behavoir occurs.  You can test directly against XLX020E if you wish, but any XLX should do.

Log evidence:

INFO 2020-10-27 09:40:24,091 (HOTSPOTS) *GROUP CALL START* STREAM ID: 3158937644 SUB: K2IE (3134090) PEER: 313409002 (313409002) TGID 2 (2), TS 2
INFO 2020-10-27 09:40:24,095 (HOTSPOTS) Conference Bridge: TEST BRIDGE, Call Bridged to HBP System: XLX020E TS: 2, TGID: 2
INFO 2020-10-27 09:40:29,990 (HOTSPOTS) *GROUP CALL END*   STREAM ID: 3158937644 SUB: K2IE (3134090) PEER: 313409002 (313409002) TGID 2 (2), TS 2, Duration: 5.90
INFO 2020-10-27 09:40:30,021 (XLX020E) *GROUP CALL START* STREAM ID: 3158900736 SUB: K2IE (3134090) PEER: 3163081 (3163081) TGID 9 (9), TS 2

Config:

[HOTSPOTS]
MODE: MASTER
ENABLED: True
REPEAT: True
MAX_PEERS: 10
EXPORT_AMBE: False
IP:
PORT: 54100
PASSPHRASE: passw0rd
GROUP_HANGTIME: 5
USE_ACL: True
REG_ACL: DENY:1
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL

[XLX020E]
MODE: XLXPEER
ENABLED: True
LOOSE: True
EXPORT_AMBE: False
IP:
PORT: 54002
MASTER_IP: 66.175.215.217
MASTER_PORT: 62030
PASSPHRASE: passw0rd
CALLSIGN: YOUR_VALID_CALL
RADIO_ID: YOUR_VALID_RID
RX_FREQ: 449000000
TX_FREQ: 444000000
TX_POWER: 25
COLORCODE: 1
SLOTS: 1
LATITUDE: 38.0000
LONGITUDE: -095.0000
HEIGHT: 75
LOCATION: Anywhere, USA
DESCRIPTION: Test config
URL: www.w1abc.org
SOFTWARE_ID: 20170620
PACKAGE_ID: MMDVM_HBlink
GROUP_HANGTIME: 5
XLXMODULE: 4004
USE_ACL: True
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL

Rules:

BRIDGES = {
    'TEST BRIDGE': [
            {'SYSTEM': 'HOTSPOTS',    'TS': 2, 'TGID': 2,    'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
            {'SYSTEM': 'XLX020E',    'TS': 2, 'TGID': 2,    'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',  'ON': [], 'OFF': [], 'RESET': []},
        ]
}

UNIT = ['HOTSPOTS', 'XLX020E']


Dan K2IE
 

@Randy (and anyone else interested in testing):

Please note that XLXMODULE in the config should be changed from 4004 to 4005 to use Module E.

Thanks.