Replacing an IRLP node with App-rpt node

HI all and welcome to the new list! Thanks to those involved in setting it all up.

My App-rpt node has replaced an IRLP node and is working great, but I used to have certain facilities on the IRLP node that I am attempting to replicate on my app-rpt node and I’m struggling!

1, I had a script that unlocked the controller at a set time every day and set the time using DTMF - now I know that ap-rpt cant generate DTMF (yet) but I could use WAV files as the digits will always be the same and the time the script gets called will always be the same.

So my first question is, how do you call an external shell script from within app_rpt? Perhaps from the scheduler available in rpt.conf or some other method of calling a script at a set time, maybe from a cron somewhere?

Can it be done in the dialplan by dialling a specific extension or some other cunning means?

2, I used to have the popular “playnews” package running on the IRLP node, which downloaded certain news files and played them out at pre-set time. I use these scripts to play out the GB2RS news files through my repeater every week.

I have tried to replicate how this was done on the IRLP node but am having difficulty automating this process. I have used the Asterisk command line invoked “playback” command which works but I’m not happy with the audio quality and I had to manually trigger the playback from the CLI.

So next I tried the WAVPLAY program that seems to be used to play out IRLP node announcements and the quality was great but I kept getting node timeouts from the IRLP software ( I guess ) as my APP-RPT node has no timeout.

I thought about mpg123 as used in the IRLP playnews scripts but cannot find a way of keying up the repeater - I’m not sure if the audio from mpg123 would come out of the USB radio interface!

Any ideas, suggestions or solutions would be most gratefully received as I have currently run out of talent!!

Thanks,

Matt

G4RKY

Node 2250

Hi Matt;

Haven't heard from you in a while! - see my response below...

Cheers,

Ramesh.

Matt Beasant wrote:

1, I had a script that unlocked the controller at a set time every day and set the time using DTMF - now I know that ap-rpt cant generate DTMF (yet) but I could use WAV files as the digits will always be the same and the time the script gets called will always be the same.

So my first question is, how do you call an external shell script from within app_rpt? Perhaps from the scheduler available in rpt.conf or some other method of calling a script at a set time, maybe from a cron somewhere?

<-- You can simply add a cron entry into root's crons (crontab -e will
get you into edit mode, add a new cron entry, which you can then play
out your pre-recorded DTMF file; note that the file must be a ulaw file.
  This is probably the easiest method. I have used this to play out an
ID announcement - very simple and effective.

FYI, you can also call a script from the dialplan as follows:

exten => 96,n,System(/scripts/name_of_script)

[Credit to Don, W9DRR for showing me this some time back]. This example requires your script to be in the /etc/asterisk/scripts folder - but you can specify any path as appropriate.

2, I used to have the popular "playnews" package running on the IRLP node, which downloaded certain news files and played them out at pre-set time. I use these scripts to play out the GB2RS news files through my repeater every week.

I have tried to replicate how this was done on the IRLP node but am having difficulty automating this process. I have used the Asterisk command line invoked "playback" command which works but I'm not happy with the audio quality and I had to manually trigger the playback from the CLI.

<-- As above, the file needs to be in ulaw format... not sure what
format you're using. I use Cepstral to build a ulaw audio file from a
WX text file, then play the ulaw file from the dialplan, the audio
quality is great!

You could try using sox to convert your (possibly) non-ulaw file to ulaw.

So next I tried the WAVPLAY program that seems to be used to play out IRLP node announcements and the quality was great but I kept getting node timeouts from the IRLP software ( I guess ) as my APP-RPT node has no timeout.

<-- Sounds like the file is indeed a wav file - try using sox to convert
it to a ulaw file and try using rpt's localplay function. FYI, man sox
will provide you with the info on sox.

Hi there Ramesh and thanks for the reply.

Yes, been a bit busy here - the financial year ends here on 5th April and so its panic time to try and get all the sites on the air!

Thanks for all the info in your email - I’m still a little unsure of a couple of things so please bear with me …

I can edit the crontab as you suggest but how do I control App_rpt from the crontab? What do I put as the command line to make Asterisk play out the file? I assume I have to use root’s crontab?

In your dialplan example, I see the extension referred to is 96 - is that the DTMF code I dial to activate that script or do I need to put something in rpt.conf to call to the dialplan?

You say you can call the playback command from the cron and / or the dialplan - how does one do this and what DTMF code or other trigger can be used to call the playback command?

Thanks again for your help Ramesh and sorry for the (still) noob questions! Still trying to get my head around how app_rpt and Asterisk stitch together!

Cheers and hope to speak soon.

Matt

G4RKY

···

---------- Forwarded message ----------
From: Matt Beasant g4rky@yahoo.co.uk
Date: 2009/3/30

Subject: Re: [App_rpt-users] Replacing an IRLP node with App-rpt node
To: “Ramesh Dhami (VA3UV)” Ramesh@va3uv.com
Cc: App_Rpt Mailing List App-rpt@qrvc.com

2009/3/30 Ramesh Dhami (VA3UV) Ramesh@va3uv.com

Hi Matt;

Haven’t heard from you in a while! - see my response below…

Cheers,

Ramesh.

Matt Beasant wrote:

1, I had a script that unlocked the controller at a set time every day

and set the time using DTMF - now I know that ap-rpt cant generate DTMF

(yet) but I could use WAV files as the digits will always be the same

and the time the script gets called will always be the same.

So my first question is, how do you call an external shell script from

within app_rpt? Perhaps from the scheduler available in rpt.conf or some

other method of calling a script at a set time, maybe from a cron

somewhere?

← You can simply add a cron entry into root’s crons (crontab -e will

get you into edit mode, add a new cron entry, which you can then play

out your pre-recorded DTMF file; note that the file must be a ulaw file.

This is probably the easiest method. I have used this to play out an

ID announcement - very simple and effective.

FYI, you can also call a script from the dialplan as follows:

exten => 96,n,System(/scripts/name_of_script)

[Credit to Don, W9DRR for showing me this some time back]. This example

requires your script to be in the /etc/asterisk/scripts folder - but you

can specify any path as appropriate.

2, I used to have the popular “playnews” package running on the IRLP

node, which downloaded certain news files and played them out

at pre-set time. I use these scripts to play out the GB2RS news files

through my repeater every week.

I have tried to replicate how this was done on the IRLP node but am

having difficulty automating this process. I have used the Asterisk

command line invoked “playback” command which works but I’m not happy

with the audio quality and I had to manually trigger the playback from

the CLI.

← As above, the file needs to be in ulaw format… not sure what

format you’re using. I use Cepstral to build a ulaw audio file from a

WX text file, then play the ulaw file from the dialplan, the audio

quality is great!

You could try using sox to convert your (possibly) non-ulaw file to ulaw.

So next I tried the WAVPLAY program that seems to be used to play out

IRLP node announcements and the quality was great but I kept getting

node timeouts from the IRLP software ( I guess ) as my APP-RPT node has

no timeout.

← Sounds like the file is indeed a wav file - try using sox to convert

it to a ulaw file and try using rpt’s localplay function. FYI, man sox

will provide you with the info on sox.


App_rpt-users mailing list

App_rpt-users@qrvc.com

http://qrvc.com/mailman/listinfo/app_rpt-users