Date   

Re: Analog_Bridge and tune.sh script #analog_bridge

Steve N4IRS
 

So,
After all that, you are sending the command to AB which is listening on port 31100.

On 7/10/2019 1:17 PM, Waldek SP2ONG wrote:
OK Steve

In AB:

[AMBE_AUDIO]
address = 127.0.0.1                      ; IP address of xx_Bridge.py
TXPort = 31103                          ; Transmit TLV frames to partner on this port
RXPort = 31100                          ; Listen for TLV frames from partner on this port


in  MB DVSwitch:
[DMR]
Address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
TXPort = 31100                  ; Port to send AMBE TLV frames to (export)
RXPort = 31103                  ; Port to listen on (import)
Slot = 2                        ; Export slot

The script
================================
#!/bin/bash

function tune() {
    echo "Tuning to TG $1"
python - <<END
#!/usr/bin/env python
import sys
import socket
import struct
cmd = "txTg=$1"
_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
cmd = struct.pack("BB", 0x05, len(cmd))[0:2] + cmd
_sock.sendto(cmd, ('127.0.0.1', 31100))
_sock.close()
END
}

tune $1
======================


It is looks I have sent to AB because RXPort is 31100


Re: ALS - YSF audio levels

Bill Kittilson <bill.kittilson@...>
 

Perfect! Thanks
Bill


On Wed, Jul 10, 2019 at 1:15 PM Steve N4IRS <szingman@...> wrote:
Bill,
Thanks for posting this in the discussion group where everyone can see the question and answer.
Since Analog_Bridge started out as part of a Analog to DMR bridge, the setting used the DMR name. To be honest, this needs to be changed so that there is no confusion.
Here is what I suggest you start with:

aslAudio = AUDIO_USE_GAIN            ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = 5                          ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_USE_GAIN
dmrGain = .50

You can substitute DMR for YSF in your mind. In actuality, is should be ambeAudio and ambeGain. I expect we will change this in the next version

If you need to adjust the YSF -> ASL audio, change:
aslAudio = AUDIO_USE_GAIN
agcGain = 1.0
This should be the same level as unity
agcGain = 2.0
This should be twice as loud as unity
agcGain = 0.5
This should be half as loud as unity

=========================================

If you need to adjust the ASL -> YSF audio, change:
dmrAudio = AUDIO_USE_GAIN
dmrGain = 1.0
This should be the same level as unity
dmrGain = 2.0
This should be twice as loud as unity
dmrGain = 0.5
This should be half as loud as unity

Hope this helps,
73, Steve N4IRS

.

 

On 7/10/2019 1:02 PM, Bill Kittilson wrote:
Where does one made audio adjustment from YSF to ASL 
ASL -> YSF audio
YSF -> ASL audio 

Analog_Bridge configuration file

aslAudio = AUDIO_USE_AGC               ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -25                        ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_USE_GAIN
dmrGain = .50
 
I see DMR but what about YSF do I just add
ysfAudio =  AUDIO_USE_GAIN
ysfGain = .50

Thanks
Bill



 


Re: Analog_Bridge and tune.sh script #analog_bridge

SP2ONG Waldek
 

OK Steve

In AB:

[AMBE_AUDIO]
address = 127.0.0.1                      ; IP address of xx_Bridge.py
TXPort = 31103                          ; Transmit TLV frames to partner on this port
RXPort = 31100                          ; Listen for TLV frames from partner on this port


in  MB DVSwitch:
[DMR]
Address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
TXPort = 31100                  ; Port to send AMBE TLV frames to (export)
RXPort = 31103                  ; Port to listen on (import)
Slot = 2                        ; Export slot

The script
================================
#!/bin/bash

function tune() {
    echo "Tuning to TG $1"
python - <<END
#!/usr/bin/env python
import sys
import socket
import struct
cmd = "txTg=$1"
_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
cmd = struct.pack("BB", 0x05, len(cmd))[0:2] + cmd
_sock.sendto(cmd, ('127.0.0.1', 31100))
_sock.close()
END
}

tune $1
======================


It is looks I have sent to AB because RXPort is 31100


Re: ALS - YSF audio levels

Steve N4IRS
 

Bill,
Thanks for posting this in the discussion group where everyone can see the question and answer.
Since Analog_Bridge started out as part of a Analog to DMR bridge, the setting used the DMR name. To be honest, this needs to be changed so that there is no confusion.
Here is what I suggest you start with:

aslAudio = AUDIO_USE_GAIN            ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = 5                          ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_USE_GAIN
dmrGain = .50

You can substitute DMR for YSF in your mind. In actuality, is should be ambeAudio and ambeGain. I expect we will change this in the next version

If you need to adjust the YSF -> ASL audio, change:
aslAudio = AUDIO_USE_GAIN
agcGain = 1.0
This should be the same level as unity
agcGain = 2.0
This should be twice as loud as unity
agcGain = 0.5
This should be half as loud as unity

=========================================

If you need to adjust the ASL -> YSF audio, change:
dmrAudio = AUDIO_USE_GAIN
dmrGain = 1.0
This should be the same level as unity
dmrGain = 2.0
This should be twice as loud as unity
dmrGain = 0.5
This should be half as loud as unity

Hope this helps,
73, Steve N4IRS

.

 

On 7/10/2019 1:02 PM, Bill Kittilson wrote:
Where does one made audio adjustment from YSF to ASL 
ASL -> YSF audio
YSF -> ASL audio 

Analog_Bridge configuration file

aslAudio = AUDIO_USE_AGC               ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -25                        ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_USE_GAIN
dmrGain = .50
 
I see DMR but what about YSF do I just add
ysfAudio =  AUDIO_USE_GAIN
ysfGain = .50

Thanks
Bill



 


ALS - YSF audio levels

Bill Kittilson <bill.kittilson@...>
 

Where does one made audio adjustment from YSF to ASL 
ASL -> YSF audio
YSF -> ASL audio 

Analog_Bridge configuration file

aslAudio = AUDIO_USE_AGC               ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -25                        ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_USE_GAIN
dmrGain = .50
 
I see DMR but what about YSF do I just add
ysfAudio =  AUDIO_USE_GAIN
ysfGain = .50

Thanks
Bill



 


Re: Analog_Bridge and tune.sh script #analog_bridge

Steve N4IRS
 

That does not tell me WHAT program is listening on UDP port 31100. You can send a tune command to either AB or MB.

On 7/10/2019 11:49 AM, Waldek SP2ONG wrote:
I have use part of your script tune.sh where is:

_sock.sendto(cmd, ('127.0.0.1', 31100))


Re: Analog_Bridge and tune.sh script #analog_bridge

SP2ONG Waldek
 

I have use part of your script tune.sh where is:

_sock.sendto(cmd, ('127.0.0.1', 31100))


Re: Analog_Bridge and tune.sh script #analog_bridge

Steve N4IRS
 

Are you sending the tune command to AB or MB?

On 7/10/2019 10:44 AM, Waldek SP2ONG wrote:
This happens when the mmdv_bridge restart is done and then this script will be used


Re: Analog_Bridge and tune.sh script #analog_bridge

Steve N4IRS
 

I don't restart MB. I keep all modes enabled and restart AB with the proper mode enabled.

On 7/10/2019 10:44 AM, Waldek SP2ONG wrote:
This happens when the mmdv_bridge restart is done and then this script will be used


Re: Analog_Bridge and tune.sh script #analog_bridge

Steve N4IRS
 

I'll have to test this.

On 7/10/2019 10:44 AM, Waldek SP2ONG wrote:
This happens when the mmdv_bridge restart is done and then this script will be used


Re: Analog_Bridge and tune.sh script #analog_bridge

SP2ONG Waldek
 

This happens when the mmdv_bridge restart is done and then this script will be used


Re: Analog_Bridge and tune.sh script #analog_bridge

Steve N4IRS
 

I have not seen this happen.

On 7/10/2019 3:30 AM, Waldek SP2ONG wrote:
Hi Steve

I use the attached tuns.sh script to switch groups in Ananlog_Bridge. This script is a part of your tune.sh script.
Sometimes it happens that after using this script, the repeaterID gatewayDmrId is reset to 0
As a result, when it is transmits by AB on the new talk group, the DMRID  for source and transmiter  is 0

I do not know if you also had such situations?

73 Waldek


Analog_Bridge and tune.sh script #analog_bridge

SP2ONG Waldek
 

Hi Steve

I use the attached tuns.sh script to switch groups in Ananlog_Bridge. This script is a part of your tune.sh script.
Sometimes it happens that after using this script, the repeaterID gatewayDmrId is reset to 0
As a result, when it is transmits by AB on the new talk group, the DMRID  for source and transmiter  is 0

I do not know if you also had such situations?

73 Waldek


Re: DMRlink to Motorola Mastger #dmrlink

Steve KC1AWV
 

Please review this article in the wiki for DMRLink to Brandmeister.


Steve KC1AWV


On Tue, Jul 9, 2019 at 6:01 PM KK4zmg <kk4zmg@...> wrote:
Ok i have got it talking to my Motorola master.

Now im trying to get Dmrlink to connect with brandmiester.

This is what I have for configuration.

[bm]
ENABLED: True
RADIO_ID: 311078
IP:
PORT: 5000
ALIVE_TIMER: 5
MAX_MISSED: 20
PEER_OPER: True
IPSC_MODE: DIGITAL
TS1_LINK: True
TS2_LINK: True
CSBK_CALL: False
RCM: True
CON_APP: True
XNL_CALL: False
XNL_MASTER: False
DATA_CALL: True
VOICE_CALL: True
MASTER_PEER: False
AUTH_ENABLED: False
AUTH_KEY:
MASTER_IP: 64.94.238.196
MASTER_PORT: 55001
GROUP_HANGTIME: 5

That repeater number is setup in brandmiester as a repeater and linked to my dash board.

Any help would be great.

Thanks

kk4zmg
Richard



--
Steve Miller
KC1AWV


Re: DMRlink to Motorola Mastger #dmrlink

KK4zmg
 

Ok i have got it talking to my Motorola master.

Now im trying to get Dmrlink to connect with brandmiester.

This is what I have for configuration.

[bm]
ENABLED: True
RADIO_ID: 311078
IP:
PORT: 5000
ALIVE_TIMER: 5
MAX_MISSED: 20
PEER_OPER: True
IPSC_MODE: DIGITAL
TS1_LINK: True
TS2_LINK: True
CSBK_CALL: False
RCM: True
CON_APP: True
XNL_CALL: False
XNL_MASTER: False
DATA_CALL: True
VOICE_CALL: True
MASTER_PEER: False
AUTH_ENABLED: False
AUTH_KEY:
MASTER_IP: 64.94.238.196
MASTER_PORT: 55001
GROUP_HANGTIME: 5

That repeater number is setup in brandmiester as a repeater and linked to my dash board.

Any help would be great.

Thanks

kk4zmg
Richard


Re: Trying to set up Parrot

Joshua Nulton
 

Thank you for sharing Jesse!


On Mon, Jul 8, 2019 at 4:51 AM Jesse Neu via Groups.Io <parkrangersteve=yahoo.com@groups.io> wrote:
There is very little in the way of documentation on setting up parrot and it took me two weeks to figure out you have to run separate config files. I finally got it working on my master server and I thought I would share a short how to on getting it up and running.

Enjoy

Parrot Example

Parrot or Echo Test functions as a separate Master server. To set up Parrot on the same server as your current master you will need to either copy the HBlink directory to run a second instance or point hb_parrot.py to a secondary configuration file.

Configuring hblink.cfg

In your Configuration file called by hb_parrot.py you will need the following master configured


[Parrot-1]    #Can be anything you want, Naming in this file isn't important
MODE: MASTER
ENABLED: True
REPEAT: True
MAX_PEERS: 10
EXPORT_AMBE: False
IP:
PORT: 54000    #Remember this port number, you'll need it later
PASSPHRASE: s3cr37w0rd    #You'll need this too
GROUP_HANGTIME: 5
USE_ACL: True
REG_ACL: DENY:1
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL

In your primary configuration called by hb_confbridge.py you will need to have the following PEER configured



[Parrot-1]     #Can be anything you want, You'll need this later
MODE: PEER
ENABLED: True
LOOSE: False
EXPORT_AMBE: False
IP:
PORT: 54001
MASTER_IP: 127.0.0.1    #loopback is fine if you are running both master and parrot on the same server
MASTER_PORT: 54000     #Same port as before
PASSPHRASE: s3cr37w0rd      #Must match password for our Parrot-1 Master above 
CALLSIGN: W1ABC        #Your callsign
RADIO_ID: 312000    #Your RadioID
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: This is a cool repeater
URL: www.w1abc.org
SOFTWARE_ID: 20170620
PACKAGE_ID: MMDVM_HBlink
GROUP_HANGTIME: 5
OPTIONS:
USE_ACL: True
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL


Now we need to conference them together. For simplicity I will only include the relevant block. Make sure the 'SYSTEM' matches both Master and Peer exactly, put them both in the same time slot and talk group.

    'ECHOTEST': [
            {'SYSTEM': 'MASTER-1',    'TS': 1, 'TGID': 9998,   'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [3,], 'OFF': [8,10], 'RESET': []},
            {'SYSTEM': 'PARROT-1',    'TS': 1, 'TGID': 9998,   'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [3,], 'OFF': [8,10], 'RESET': []},
        ],

Start hb_confbridge.py and parrot.py with their respective config files and everything should work!


Re: Trying to set up Parrot

Jesse Neu
 

There is very little in the way of documentation on setting up parrot and it took me two weeks to figure out you have to run separate config files. I finally got it working on my master server and I thought I would share a short how to on getting it up and running.

Enjoy

Parrot Example

Parrot or Echo Test functions as a separate Master server. To set up Parrot on the same server as your current master you will need to either copy the HBlink directory to run a second instance or point hb_parrot.py to a secondary configuration file.

Configuring hblink.cfg

In your Configuration file called by hb_parrot.py you will need the following master configured


[Parrot-1]    #Can be anything you want, Naming in this file isn't important
MODE: MASTER
ENABLED: True
REPEAT: True
MAX_PEERS: 10
EXPORT_AMBE: False
IP:
PORT: 54000    #Remember this port number, you'll need it later
PASSPHRASE: s3cr37w0rd    #You'll need this too
GROUP_HANGTIME: 5
USE_ACL: True
REG_ACL: DENY:1
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL

In your primary configuration called by hb_confbridge.py you will need to have the following PEER configured



[Parrot-1]     #Can be anything you want, You'll need this later
MODE: PEER
ENABLED: True
LOOSE: False
EXPORT_AMBE: False
IP:
PORT: 54001
MASTER_IP: 127.0.0.1    #loopback is fine if you are running both master and parrot on the same server
MASTER_PORT: 54000     #Same port as before
PASSPHRASE: s3cr37w0rd      #Must match password for our Parrot-1 Master above 
CALLSIGN: W1ABC        #Your callsign
RADIO_ID: 312000    #Your RadioID
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: This is a cool repeater
URL: www.w1abc.org
SOFTWARE_ID: 20170620
PACKAGE_ID: MMDVM_HBlink
GROUP_HANGTIME: 5
OPTIONS:
USE_ACL: True
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL


Now we need to conference them together. For simplicity I will only include the relevant block. Make sure the 'SYSTEM' matches both Master and Peer exactly, put them both in the same time slot and talk group.

    'ECHOTEST': [
            {'SYSTEM': 'MASTER-1',    'TS': 1, 'TGID': 9998,   'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [3,], 'OFF': [8,10], 'RESET': []},
            {'SYSTEM': 'PARROT-1',    'TS': 1, 'TGID': 9998,   'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [3,], 'OFF': [8,10], 'RESET': []},
        ],

Start hb_confbridge.py and parrot.py with their respective config files and everything should work!


Analog_Bridge and local voice services #analog_bridge

SP2ONG Waldek
 

Steve,

I really like the potential of Ananlog_bridge.

I would like to launch an information service locale using the restored information in wav files.

On the ananlog we can use DTMF to start playing different information. In the case of DMR, only on the basis of the target ID number, we can run, for example, a macro.

Would it be possible for Steve to get Ananlog_Bridge if he receives data from the DMR network eg in the field dst = for example it will be 940 (dst = 940) then AB will execute the macro defined as 940?

Suppose that TG900 is for voice services

Makro 910 (current weather report):

# change to TG900
tune 900
# playing the wav file  900.wav via a script
940.py

Makro 920 (local newsletter):

tune 900
941.py

e.t.c


Would this require changes in Ananlog_Bridge but a separate version?

What do you think about such an idea?


Re: Analog_Bridge and Received USRP packet of wrong size

Steve N4IRS
 

It looks like the last frame of the file is "short" not 320 bytes.

On 7/7/19 12:11 PM, Waldek SP2ONG wrote:
Ok when I have comment outt  57 - 60 now 

M: 2019-07-07 16:06:42.939 PTT on
W: 2019-07-07 16:07:36.781 Received USRP packet of wrong size
D: 2019-07-07 16:07:36.802 cpu_time_used = 53863, minTxTime = 2000, pttTime = 3442474491, end = 3442528354
M: 2019-07-07 16:07:36.802 PTT off (keyed for 53863 ms)

no warning before "PTT on" message but still after  PTT on


Re: Analog_Bridge and Received USRP packet of wrong size

SP2ONG Waldek
 

Ok when I have comment outt  57 - 60 now 

M: 2019-07-07 16:06:42.939 PTT on
W: 2019-07-07 16:07:36.781 Received USRP packet of wrong size
D: 2019-07-07 16:07:36.802 cpu_time_used = 53863, minTxTime = 2000, pttTime = 3442474491, end = 3442528354
M: 2019-07-07 16:07:36.802 PTT off (keyed for 53863 ms)

no warning before "PTT on" message but still after  PTT on

5441 - 5460 of 9797