[App_rpt-users] app_rpt updates, upgrades etc.
Steve Zingman
szingman at msgstor.com
Wed Sep 14 15:53:50 UTC 2016
I've been watching the back and forth concerning updating app_rpt to run
on "a more current version" of Asterisk in hopes of a number if
improvements. Some of these improvements do have value, others not so much.
A little history is in order here. I have been using and supporting
AllStar for the past 10 years. Like most, I used ACID to get up and
running. Centos is not my preferred Linux distribution. I prefer Debian
and pretty quickly built what I needed to run AllStar on Debian for
myself. Debian is not "bleeding edge" It's not meant to be. It's rock
solid stable.
About 1.5 years ago I started seeing a increasing number of people
reporting issues with installing ACID on newer hardware. No network
drivers etc. Since I did not have those issues running current Debian, I
decided to see if I could do something about the problem.
I took the current Debian netinst image and using the ability to
"preseed" the answers required for a base install of Debian. From there
it was a simple task to automate the download of the most current source
from the "official" SVN compile and install it. Building the kernel
modules for DAHDI had to be done also. With that, we had AllStar running
on a distribution with up to date drivers and a fairly current kernel.
With the apt system of Debian a user could update the OS easily. Pulling
updates from the SVN for Asterisk can be done manually or via a pretty
simple script. I now had what I called "Bare Metal Install"
Could AllStar be turned into installable Debian programs? Yes a
repository could be built. Scripts could be built to automate the
package creation. To be honest I don't think AllStar changed that often
to make this worthwhile. Someone could take this on.
A couple of the things bothered me about ACID. First was that Asterisk
loaded every conceivable module at startup. No matter if you needed the
module or not. This worked and the user usually did not care. It put a
lot of bogus errors in the log and to some extent, ate memory that was
not needed. I tried to build every module, even if it was not needed but
did not enable the module in modules.conf. The other thing that bothered
me was that the sample rpt.conf and other config files were not
complete. Most everything was there, but some thing were missing and I
felt it was better to try to include all options AND add comments
detailing all possible values. Nothing is ever perfect, but I tried and
continue to add things I missed.
Jim approached me and asked if I was willing to turn BMI into the
official AllStar x86 distribution. I agreed and added the scripts to
support the web portal for creation and backup of configs. Jim came up
with a name DIAL.
At the same time, Jim had heard I built a image for the Raspberry Pi
using Debian Jessie. He asked if we could also us it as official PIi
version. I agreed added the scripts and DIAL for the RPi was born. This
image does not build on the fly as did BMI but the update path was the
same.
DIAL relies on the official Asterisk source for the SVN. No more no
less. I do not believe in fluff being part of a official distribution.
Sure, it can be added. I just don't want people to have to remove
things. There are quite a few great add on features and programs
available for AllStar. I'll continue to make sure they work, but I don't
think they should be part of the distribution. All of my work for
building DIAL and scripts to support more platforms is kept in a GIT
repository along with links to the "release candidate" for amd64, i386
and the RPi. <https://github.com/N4IRS/AllStar>
The reason for this romp down memory lane is just to point out that DIAL
is independent of the official source. I don't care is it is in a SVN or
GIT repository. As long as I can get to the current source, DIAL is good.
For me, I could care less if appt_rpt is ported to a more current
version of Asterisk. To me the current version is fine as a repeater
controller, remote base and voter. I think the current attack surface is
small and still be reduced within the host OS. If I want a PBK I'll spin
up the current Asterisk and connect the 2.
The time available for people that can work on app_rpt is limited. I
think that time at least at first should be spent on app_rpt.c and the
channel drivers. There is a LOT of code there and if more people
understood it, the more people could maintain and enhance it. First that
means comments! A push to comment the existing code would go a long way.
Who knows what might be found while commenting the existing code.
There are some parts of app_rpt that have a very limited audience. The
support for the Uchameleon comes to mind. I'm not saying kill it. I'm
saying break it out as a module and allow the user to load it if the
user has one and wants to use it. Other areas that can get the same
treatment could be the remote base. I know others have done work with
Hamlib. It should be leveraged. I think it could be more of a module,
not a set of scripts that need to be pasted together. Integrate it and
let the user decide to enable it.
The channel drivers could use some attention. Right now we have the PCI
quad card and USB sound. Other devices are due in the future. Break out
the "digital IO" from the channel driver. Move the PTT, COS and CTCSS
and other digital IO away from the dependence on the CM1xx. I'm not
saying remove it. Make it more modular. If I want the GPIO on the CM1xx
great. If I want to use the GPIO of the RPi fine. If I want to use the
parallel port on the PC, fine. This way only the Digital IO module needs
to be modified, not the whole channel driver. Combine the simpleUSB and
USBradio channel drivers. I know of at least one fork that did this with
success. and future channel drivers are doing this soon. One less
channel driver to maintain.
Expand the capability of chan_usrp. We use this channel driver for the
DMRGateway project with great success. Being able to pass more data
between app_rpt and the outside world (and back) would enhance the
abilities of both. Think of passing a MDC ID through to DMRGateway or
D-StarGateway.
I could go on and on. There are a ton of feature and enhancements people
have asked for. All of this requires the "buy in" of Jim. Without it,
it's just another fork.
Just one off the top of my head.
73, Steve N4IRS
--
"No, INAD is not JUST I need a drink"
More information about the App_rpt-users
mailing list