Command "rpt playback" doesn't send to all connected nodes

I believe I’m using the correct command line (from the shell of course)

/usr/sbin/asterisk -rx “rpt playback 1100 /etc/asterisk/audio/newsfiles/newstonight”

1100 is the node # that is running on the same Pi as the above line. I hear it just fine on the local node 1100 but not on the two other connected nodes (also private)

Works fine for me.

asterisk -rx "rpt playback 2530 /etc/asterisk/sounds/wd6awprepeater"

and heard it on 2521

I’m running the latest beta if that makes a difference?

I am also running the latest beta.

Edit: 2530 and 2521 are on the same server but I would not expect that to make a difference.

Hi Ken,

I have the same issue.

I’ve been meaning to reply to some of your posts. I also use private node numbering and have the links configured as:

duplex=0
linktolink=yes

This link configuration “breaks” the playback command.

As background: many years ago our system used RF analog FM links to link our repeater sites. We engineered and installed ASL private nodes that connect across ham band microwave Ethernet links. This works great but, ASL is not an exact equivalent. There are two issues I’ve run into that I think you’ve already seen:

– the playback command doesn’t properly play a file to all connected nodes.
– DTMF tones are not transparently passed down the links as would happen on an RF analog FM link.

And there’s another one:

– when playback is occurring on multiple nodes at the same time and somebody keys up on one of the nodes, the playback audio on the remote node comes down the link. I think this is a clue to the cause of the playback command issue. The solution may be to use localplay instead, but I haven’t tried it.

BTW, our workaround for the playback command issue is to have an ASL macro execute a script that executes the playback on all nodes at the same time using ssh remote command execution. This works great.

These issues are on my list to fix.

73,

Dave
WA1JHK

Thanks Dave. Yes, that is the link config I’m using, as well as a “permanent” links (which also don’t seem to work properly either). As for localplay, it doesn’t work at all on my setup.

My nodes are all connected via AREDN Mesh and aside from the latency issues, ASL seems to work well…for the most part :open_mouth:

Not so long ago someone posted “no telemetry means no telemetry”. Duplex=0 is not supposed to pass telemetry. It’s debatable if that’s always desired but it is as intended.

Anyone care to code rfemulation=yes?

Manually playing a sound file is considered telemetry? Really?

Hi Ken,

which also don’t seem to work properly either

We should discuss this in a separate thread. Mine works fine.

73,

Dave
WA1JHK

Please start one and I’ll happily jump in! :grinning:

Hi Tim,

Not so long ago someone posted “no telemetry means no telemetry”. Duplex=0 is not supposed to pass telemetry. It’s debatable if that’s always desired but it is as intended.

I remember seeing that, and that is what’s happening. All generated audio is in the “telemetry” type. Additional discussion required.

Anyone care to code rfemulation=yes ?

That’s an interesting way to do it. I’ll consider that.

[Ken wrote:]

Manually playing a sound file is considered telemetry? Really?

A sound file can be used as telemetry. It can also be used for general distribution. We use it for Newsline on our Sunday net.

73,

Dave
WA1JHK

That’s exactly what I want to do - I’ve used used cron and scripts on my IRLP node for years to automate the download and playing of Newsline, 2 nights a week on my system. I want to get rid of IRLP and use my ASL Pi to do all that in place of it, hence the desire for playback to work correctly and distribute to all the connected nodes

Mornin’ Ken,

The script we use is appended below. Be sure to adjust the node number list and file paths.

73,

Dave
WA1JHK


#!/bin/bash

#This script connects out to each node in the list, and plays the newsline file.
#We don't care which node it runs on, it will ssh in any case, even the local.  That's fine, that way
#this same script can be run from anywhere with no local changes.


#List of nodes to kick this off from
node_list="1301 1308 1310 1315 1317"


for nodeNUM in $node_list
do
        #Get the IP for this node so we can SSH to it.
        #Use asterisk's config file, if this isn't right nothing will be...
        nodeIP=`cat /etc/asterisk/rpt.conf |grep "^${nodeNUM}" |cut -d'@' -f2 |cut -d':' -f1 |cut -d'/' -f1`

        if [ ! "$nodeIP" ]
        then
                echo "Can't find IP for node $nodeNUM"
                continue
        fi


        #Put the command in a variable -- this is required so we get the quoting right through ssh
        astCommand="asterisk -R -x \"rpt playback $nodeNUM /tmp/news\""
        # test audio astCommand="asterisk -R -x \"rpt playback $nodeNUM carried-away-by-monkeys\""
        # test command # astCommand="asterisk -R -x \"rpt nodes $nodeNUM\""

        #OK, go ahead and run the command on the remote node
        #uses SSH port 222 (standard on ACID and DIAL), skips all host key checking
        ssh -q -o "StrictHostKeyChecking no" -o "UserKnownHostsFile /dev/null" $nodeIP "$astCommand"
done

Thanks Dave. That’s what I was looking for

I would have to wonder if your private nodes have these settings in their stanza

telemdynamic=1 ;allow changing of specific telemetry items via cop command
telemdefault=1 ; 0= t off - 1=t on - 2=on after command and shortly afterwards

While I no longer use this, it did work for connected nodes…

8902=Playback,/etc/asterisk/msg/wxfc ; play wx fcst ALL/BROADCASTWRN

Telemdynamic is set to 1 and telemdefalt is set to 0.

So as a test, I set telemdefault to 1 and restarted. Yep, telemetry was working.

So I issued /usr/sbin/asterisk -rx “rpt playback 1100 /etc/asterisk/audio/newsfiles/newsline_5” but it still only played out the local 1100 node.

'tis OK, the ssh option works fine for my purposes

Well, in my old example I used in the old ACID version, I assigned a command to it inside of asterisk with app_rpt
It always worked.
So I was guessing using the command line, one would have to specify the nodes to play on.
Because from a command line that would not be clear.
Inside of app_rpt, it would be.
Just guessing.

Did a simple test on my node 25330 which has no radio connection.

duplex = 0 didn’t play sound on other nodes
duplex = 2 did

Try duplex 2 on your hub and see if it works.

Doesn’t duplex 2 give me telemetry and hang time? I want neither

I installed ssh keys on all my remote nodes so I can ssh to them without a password. As such, I issue the following commands from a bash script to play audio files that reside on each node and it works as I need

/usr/sbin/asterisk -rx “rpt playback 1100 $NEWSFILE”
ssh root@10.48.13.20 “/usr/sbin/asterisk -rx ‘rpt playback 1101 $NEWSFILE’”
ssh root@10.150.180.37 “/usr/sbin/asterisk -rx ‘rpt playback 1102 $NEWSFILE’”