EchoLink Configuration for app_rpt

As with all our “skinny” guides on app_rpt, we speak only of the ACID distribution.

In your /etc/asterisk directory you will find a echolink.conf file.

This is the only file you need to edit for a working system to enable echolink connections via one of your allstar defined (or private defined) nodes. You “can” configure this to a node that is not your repeater node. When you want echolink connectivity, just connect your node to it or use a startup macro to maintain it from startup. The reason one might want to do it this way is that you will have the ability to disconnect from echolink connectivity. It can be desirable in some situations. You can not disconnect it from the assigned node.

File contents:

[el0]                                                  ; echolink definition 1 (computer logic 0=1)
confmode=yes                             ; enable conference mode yes or no – allows multi-connections
call=YOURelCALL-r                  ; Your echolink callsign, include the -r or -l or/as per your setup
pwd=YOURelPASSWORD      ; your echolink password
name=Mike                                    ; your firstname or club name
qth=City,State
email=email@domain.com   ; your listed email as per echolink setup
maxstns=20                                 ; max connections on this port
rtcptimeout=10
node=804396                               ; your echolink ode number
recfile=/tmp/recorded.gsm   ;  file and location to record audio
astnode=50444                           ; your allstar node number to attach echolink to
context=radio-secure               ; context of asterisk connection

freq=147.210                               ; not mandatory
tone=114.8                                    ; not mandatory CTCSS Tone (0 for none)

lat=0                     ; lat & long (profile) of site – not mandatory but suguested
lon=0
power=0 ; 0=0W, 1=1W, 2=4W, 3=9W, 4=16W, 5=25W, 6=36W, 7=49W, 8=64W, 9=81W (Power in Watts)

height=0 ;0=10 1=20 2=40 3=80 4=160 5=320 6=640 7=1280 8=2560 9=5120 AMSL in Feet

gain=0 ; Gain in db (0-9)
dir=0 ; 0=omni 1=45deg 2=90deg 3=135deg 4=180deg 5=225deg 6=270deg 7=315deg 8=360deg

server1=naeast.echolink.org             ; you have 3 defined servers of 6 or more
server2=nasouth.echolink.org         ; use what works for you.
server3=servers.echolink.org          ; sometimes, some servers not working

; server1.echolink.org
; server5.echolink.org
; server3.echolink.org
; backup.echolink.org

deny=a1ass  ; deny access to station(s) –  state one line at a time:  deny = callsign
deny=n8wow
deny=no2ass

Notes:

You do have a echolink audio gain control in rpt.conf file if/as needed.

You can have a second echolink definition [el1] and more but keep in mind that echolink will only allow one echonode per IP address ( could change someday).

app_rpt Macro and Scheduler

First I should lightly define this for those that do not understand.

A MACRO is a single or multiple set of commands to be executed by a single simple command.

You could use it to have a user command that executes a string of commands making the entire function easy to preform for any user. An example would be to make several link connections with just a 4 digit macro command. It is all about what you put in the MACRO.

To my knowledge, you can not make a macro do anything you could not do with a command directly because you are entering actual commands to be executed. Need more… You can  execute a system/asterisk command line that would make just about anything possible within a script file but it has to be defines as a command first. Use your macro to call that command

Set-up for these are in rpt.conf

They are programed in this fashion,

A number for the macro (will be the executing command #)

A equals sign =

each command as you might issue to it from the keypad but separated by a space

after the last command in the string, end with a pound sign # (space#)

The format looks like this for a macro number of 10:

10=*81 *229285 #

So if you were to enter *5 10 ,  it would execute macro 10 (*5 is the command to execute a macro and the 10 is the macro we are executing). Our example here macro 10- plays the time (*81) and then makes a link connection for monitor (*2) on node (29285)

This can be a powerful way to make complex functions work in a simple way. Use your imagination and you can dream up some pretty snazzy stuff.

What makes this even more powerful, The scheduler.

The scheduler allows you to automatically “EXECUTE A MACRO” at a given time of day and/or date. A macro is the only thing the scheduler can execute. So if you want to automate, start with the macro.

Here is the format (like system cron for those familiar with linux)

First item in the string is the macro number we are going to execute at the chosen time. It must be a macro number you have defined in MACROS

After the macro number, a equal sign, then the time of execution in this format.

Minutes, Hour, DayofTheMonth, Month, DayOfTheWeek (seperated by a space) and use a STAR “*” for a wildcard, meaning it could match anything in that position.

Example:

10=00 * * * *

This will execute macro 10 on the top of the hour (at 00 minutes of any hour , any day of the month, any month, any day of the week)

1=05 * * * 0

This will execute “macro 1” at 5 minutes into any/every hour but only on Sunday (0=sunday 6=saturday…    computer logic numbers)

2=30 12 * * * ; execute macro 2 at 12:30 everyday

3=15 18 25 12 * ; execute macro 3 at 6:15pm christmas day

Remember you must “specify all 5 time parameters”. If it does not matter, it is a * -wildcard or it might not work.

Be certain to think your scheduler and macros through. Understand the implications of what you are doing. Test the macros out for functionality before setting them on a schedule (*5xx).

Handy functions for this are things like the hourly time announcement, disconnecting links after late hours, playing voice announcements, disabling functions for late at night and turning them back on in daytime. etc.

THIS PAGE NOT YET COMPLETE !

Doug Hall RBI-1 Remote Base Interface

The Doug Hall RBI-1 is a serial device but is NOT rs232.
I made a program in a controller years ago (90’s) so I do understand how to talk to the interface as a programer but knowing it was already built in to the app_rpt software, I could not find it documented anywhere.
If you have hooked this up to a traditional controller, you know it has
a “serial data” line, “serial clock” line (sometimes called a strobe line) and a “reset line”.
You will need to use the parallel port of your computer to talk to the RBI-1
That parallel port will need to be a built-in port or a add-on card but not a usb converted parallel port. They do not seem to support pin punching in Linux.
Pin-2 is the data line
Pin-3 is the clock/strobe
Pin-4 is the reset line (not required but suggested)
I had originally thought that I needed to assign the pins by declaration in the set-up but could not find that in the source code (could be there?) This is the default state in any case.
If you currently use the parallel port pins for PTT on your nodes, you will need to move them above PP3  (pin4) .  Don’t forget to change the settings for those PTT changes in usbradio/simpleusb if you move them.
Also,  you need to set a few things in rpt.conf for the node to use it.
These settings go in the node stanza of the node that will have control.
remote=rbi  ;
iobase = 0x378  ; the base address of your parallel port in hex – most common “378”,278,3BC
And of course, define a remote command structure for tuning it in the node stanza.
Also see Cop Commands.
There are many ways to customize this operation depending on needs.
It seems to me that I spotted a few errors in the source code but did not take notes when I patched and re-compiled it.
If you do the following to declare the node as a remote base,
29261 = radio@127.0.0.1/29261,NONE,y    ; y=remote base
You will only have one connect at a time. Something to think about in your scheme.
You may perhaps want to just limit connects to your primary node only or several nodes and not declare it as a remote with the “,y“. You may also not want to registrar it at allstar.org and if that is the case, comment out the node registration in iax.conf but leave that line (above)  in rpt.conf for your ability to connect to it.
One config I had used, since all were on the same server and it was never going to be controlled by a outside node was to define the parallel port and remote base commands on the repeater node and only connect to the remote base node for the audio connection. Doing it this way keeps you from the need to connect to your remote base node in control mode. That can have other implications in your set-up so be sure to think that through before you do it. I mention it for those that may benefit from it.

Testing Our app_rpt config with Commands

If you got here from a search engine and want to start from the beginning CLICK HERE

I would advise that you do not change any command unless you have good reason and some experience with the system.

Also,  Before proceeding, make sure you have printed a list of the commands from your rpt.conf file so your sure, if you changed anything, that your using the correct assigned command.

If you have created a sip/iax phone extension, or have radio connections, lets test things out !

From sip/iax phone:

First, call your extension (example 29283)

You will hear – 2,9,2,8,3,  – This depends on what you placed in the [radio-control] context of extensions.conf. You could have it playback your callsign/repeater.

Your are now connected to your node and may issue it commands as if you were on the radio.

*99 will key the transmitter and your audio will pass.

# will un-key the transmitter.

From Radio or Sip Phone

*2xxxxx -connect to node number xxxxx in monitor (listen) mode.

*3xxxxx -connect to node number xxxxx in transceive  mode -tx/rx

It needs to be said that the modern node number scheme is a five number node id. There are some early registared nodes that are 4digits.

Examples:

All Allstar nodes are simply 4 or 5 digits and start with a 2 or 4 (currently).

*3- 28522 – Connect for TX/RX on allstar node 28522

*2- 45022 – Connect for monitor on allstar node 45022

When this was done, the scheme reserved a extra digit to allow a seamless connection for the echolink gateway, so connections beginning with 3xxxxxx are for echolink connections.

You need to add the “3” in front of the echolink node number and add leading “0” ‘s digits till it is a 6 digit number (if not already) to connect to it (seven digits when you add the leading 3 for echolink gateway).

Of course, you need to set-up and have a echolink node addressed in app_rpt to do this. Edit echolink.conf for set-up.

There are no Allstar Nodes beginning with 3 to avoid confusion and not limit future expansion.

*3- 3 0 30022 – Connect for TX/RX Echonode 30022

Added a leading “0” to make digit count correct. Connections beginning with “3” are echonodes.

*3- 3 811710 – Connect for TX/RX on Echonode 811710

Important note:  Terms of use for echolink provide that any and all connections are always ‘FULL-DUPLEX’. Connections for monitor only are not possible with app_rpt. If you make a connection, it will be TX/RX not matter what.

When a node connects to your system, you will hear it announced the same way with those that come through the echolink gateway with the leading 3.

*71 disconnect all links

*74 reconnect all links

*70 – link status (announced on local system only)

*81 – announce the time

One last test before we go to other topics…

*6 phone patch (you will hear dial tone) then press “0” for ip read back

You should hear your internet ip address played back to you. When your system is remote, you can understand how important that service can be.

Next, Lets talk about Macro’s and the Scheduler

Having problems ? Sorry, I can’t be more help.

Please use the official documentation from the manuals and those at

http://ohnosec.org/drupal/

 asterisk.org    – For Help and understanding with Asterisk PBX Phone switch. At least get the manual for reference as this is one of the most highly capable pieces of software you may ever lay your hands on.  app_rpt is just a application riding on it and there are many more open source apps for asterisk that can be interfaced for a very custom set-up or you can write your own.

One drawback we have had is that we are not on cue with the majority of asterisk systems in that most are running one step ahead of us on linux kernels because of compatibility with core elements of app_rpt.  If that is ever remedied, we will have a very large assortment of new apps already built available to us made for asterisk like a quick, easy and automated whole disk back-up.

We have made a few other quick guides:

(use link below or menu above- HAM RADIO-/-APP_RPT-/-submenus)

More on MACRO and SCHEDULER

Connecting Radios with the Parallel Port

EchoLink Configuration

COP Commands Internal Summary

 

EDITING / CONFIGURING app_rpt FILES and OPTIONS

Next step,  if you started from the beginning of our quickie install example,  is to edit and configure the system files. If you want to start from the beginning CLICK HERE

A quick word once again, we are not exploring all the options you may have with this. We are assuming you care not about reading up on this stuff before you make a move. This data only pertains to ACID install.

Some rules here are that any part of a line in a .conf file that starts with ; (semicolon) is ignored and. can appear anywhere on a line but the system ignores anything after it. Lines can be very long so don’t be confused if they wordwrap to the next line.

All .conf files are located in /etc/asterisk

You can edit these .conf files locally using the “NANO” editor (included in install).

We will start with extensions.conf

cd  /etc/asterisk

nano extentions.conf

 

 In order to get our two apps 3CX and iaxRPT working, you need to make some entries but with your node number(s) and passwords not mine. Do not copy paste text from this text, it is formatted differently and may bugger up your file. …Just a updated note… 3cx is no longer available for pc/mac under asterisk. The company went proprietary. I suggest LINPHONE in it’s place.

[general]

static=yes       ; These two lines prevent the command-line interface
writeprotect=yes ; from overwriting the config file. Leave them here.

[globals]
HOMENPA=330     ; your home telephone area code

[default]
exten => i,1,Hangup

; After the above in the file enter this for iaxRPT

[radio-gui]
exten => 29283,1,rpt(29283|X)

; then Add the next for phone control (3cx or other softphone).

[radio-control]
exten => 29283,1,Answer
exten => 29283,n,Wait(2)
exten => 29283,n,Playback(rpt/node)
exten => 29283,n,Playback(digits/2)   ;say node digits one at a time
exten => 29283,n,Playback(digits/9)
exten => 29283,n,Playback(digits/2)
exten => 29283,n,Playback(digits/8)
exten => 29283,n,Playback(digits/3)
exten => 29283,n,Rpt,29283|P   ; make connection – the P is for phone control mode

OR *Note:  you can do the same thing with the following-

exten => 29283,1,Answer
exten => 29283,n,Wait(2)
exten => 29283,n,Playback(rpt/node)
exten => 29283,n,SayAlfa(29283)   ;says digits one at a time(plays letters & numbers)
exten => 29283,n,Rpt,29283|P   ; make connection – the P is for phone control mode

 ; save your file/exit

using nano… <ctrl> + O = write file      then <ctrl> + X = exit

But for future reference, Other options for the control mode for the extension control.
Note the preceding character is a “pipe” – “|” it’s NOT a lower case L or Upper case  I and is used in programming languages as a inline command separator. Look above the backslash on most keyboards.

D = Dumb exten
P= Phone exten
S = Simple exten
Pv = Phone VOX exten
X = Disable security checks

Next Lets edit iax.conf  next

nano iax.conf

; after these lines

[general]
bindport=4569
bindaddr=0.0.0.0
disallow=all
allow=gsm
allow=g726aal2
allow=ulaw
jitterbuffer=yes
forcejitterbuffer=yes
dropcount=2
maxjitterbuffer=4000
maxjitterinterps=10
resyncthreshold=1000
maxexcessbuffer=80
minexcessbuffer=10
jittershrinkrate=1
tos=0x1E
autokill=yes
delayreject=yes
;iaxthreadcount=30
;iaxmaxthreadcount=150

register=29283:123456@register.allstarlink.org

; insert this for iaxRPT:

[gui]
type=user
context=radio-gui
username=gui
auth=md5
secret=mypassword   ; your password
host=dynamic
disallow=all
allow=gsm
notransfer=yes

; save your file /exit

;Now edit sip.conf for our 3cx /  softphone

; insert this to the bottom of the file and use your own pass/extension/cid

[6010]                  ;  my 3cx on  iPad extension
deny=0.0.0.0/0.0.0.0
username=6010
secret=yourpasswd
dtmfmode=rfc2833
canreinvite=no
context=radio-control
host=dynamic                     ; unless you set it to a static ip it is dynamic / dhcp
trustrpid=yes
sendrpid=no
type=friend
nat=no
port=5060
qualify=yes
qualifyfreq=60
transport=udp
encryption=no
callgroup=
pickupgroup=
dial=SIP/6010
mailbox=6010@device
permit=0.0.0.0/0.0.0.0
callerid=iPad <6010>    ; pick your own cid name

; save file /exit

 

;Make sure you have saved your work and entered the correct setup for your iaxRPT and 3CX/softphone and reboot your system (type “reboot”  on radio pbx command hash#)

 

;Next we will edit rpt.conf and explain the many options but not all of them. Posted here as a examples, see comments to see what the functions do. if your first node is a remote base then see next example.

;It helps to keep your command numbers (as you might enter them on the keypad) in order in function layout so you don’t half-dup a number that will execute before another. EX: *89 and *891. The *891 may never execute. This is most important on phone control mode – doing this could lock you out of a command. Use *890 / *891 so all *89x commands are made into 3 digits and would solve this.

;The default settings you downloaded from your allstarlink should be enough for a initial test but you will want to add  this line to rpt conf that is helpful in testing.

[Funtions-node#]

90=cop,1     ;warm boot – put in function stanza to restart asterisk  by phone/radio by typing *90

; the format is (your assigned command)=(static internal system command)

; a leading star is assumed

Set up the 3CX software : Use data from your IP and your assigned extension number.

; from3CX/softphone… dial your node number ex 29283, then try commands.

; Test your set-up so far / otherwise here is a example rpt.conf:

[29283]            ; assigned node number my 220 repeater

rxchannel = SimpleUSB/usb        ; Rx audio/signalling channel
;rxchannel=Radio/usb29283           ; cm108 usb sound

; txchannel=Radio/usb29283           ;use only if tx is different usb than rx.
duplex=2   ; 1=half duplex

erxgain=2                      ; Echolink receive gain adjustment
etxgain=2                      ; Echolink transmit gain adjustment
; Note: Gain is in db-volts (20logVI/VO)
iobase = 0x378           ; parallel port address if used

; controlstates=controlstates    ; system control state list
scheduler=schedule29283    ;this node has a specific sched of its own
morse=morse-all          ; i use a common morse for all nodes on my system
macro=macro29283    ;this node has its own macro list
functions=functions-all       ; i use a common function command list for all my nodes
phone_functions=functions-all    ; part of the common command list above
link_functions=functions-all   ; part of the common command list above
telemetry=telemetry
wait_times=wait-times

context=radio
callerid = “Repeater” <0000029283>
idrecording = |iKB8JNM-R
accountcode=RADIO
; archivedir= /etc/asterisk/activitylog/    ; use this only if you need it as it will slow your system a bit if doing so on multiple nodes and/or have high load scripts running from crontab. enable at least once to see how it works.

hangtime=3500
althangtime=100
totime=170000
idtime=540000
politeid=3000
parrotmode=0   ; 0=off 1= By Cop Command and 2=Full time parrot simplex/rpt rpt

idtalkover=|iKB8JNM-R
unlinkedct=ct2
remotect=ct3
linkunkeyct=ct8
;nolocallinkct=0
;eannmode=1
;connpgm=yourconnectprogram
;discpgm=yourdisconnectprogram
;lnkactenable=0
;lnkacttime=1800
;lnkactmacro=*52
;lnkacttimerwarn=30seconds
;remote_inact_timeout=1800
;remote_timeout=3600
nounkeyct=0
;holdofftelem=0
beaconing=0

; *** Status Reporting *** For ACID ***
statpost_program=/usr/bin/wget,-q,–timeout=15,–tries=1,–output-document=/dev/null
statpost_url=http://stats.allstarlink.org/uhandler.php ; Status updates

[schedule29283]
;macro# to run then  m h dom mon dow – ala cron, star is “any” wildcard

; our example here will call macro 1 below to play time on the hour
1=00 * * * *   ;run macro 1 on the hour

[macro29283]
;Macro number = command string (ea command separated by space) -end with HASH
1=*81#    ; play time – (this time command output is a built in string and can’t be changed)

[functions-all]

0=autopatchdn    ; Autopatch down
1=ilink,1         ; Disconnect Link xxx
2=ilink,2         ; Con Link xxx RX-Only (mon)
3=ilink,3         ; Con Link xxx TX
4=ilink,4         ; Enter Command Mode on XXX
5=macro           ; Run a macro ##

6=autopatchup,noct=1,farenddisconnect=1,dialtime=20000     ; Autopatch up

70=ilink,5        ; Link Status (long)
71=ilink,6        ; Disconnect All Links
72=ilink,7
73=ilink,15       ; Full Sys Status (all nodes)
74=ilink,16       ; Reconnect Links (that were disconnected by command)
75=ilink,8

80=status,1       ; Force id global
81=status,2       ; Time
82=status,3       ; Give Software ver Global
88=cop,32         ; DTMF Pad test – end test string with a “#”

8900=cop,24   ; cancel localplay stream & telemetry

8901=localplay,/var/lib/asterisk/sounds/wx/wxfc    ;my custom wx script player example

8902=localplay,/var/lib/asterisk/sounds/wx/wxalert    ;my custom wx alert script player example

90=cop,1          ;warm boot
91=cop,2           ; System enable – you should not comment these out in a live system
92=cop,3        ; System disable

99=cop,6          ; Remote sip/telephone PTT key command  (# to unkey)

910=cop,4        ; Test tone on/off
912=cop,5        ; Dump system variables on console (debug use only)
914=cop,7        ; Time out timer enable
915=cop,8        ; Time out timer disable
916=cop,9        ; Autopatch enable
917=cop,10        ; Autopatch disable
918=cop,11        ; User linking functions enable
919=cop,12          ; User linking functions disable
920=cop,13        ; Query system control state
921=cop,14        ; Set systemc control state
922=cop,15        ; Scheduler enable
923=cop,16        ; Scheduler disable
924=cop,17        ; User functions enable (time, id, etc)
925=cop,18        ; User functions disable
926=cop,19        ; Select alternate hang time (althangtime)
927=cop,20        ; Select standard hangtime (hangtime)

998=cop,61,pp8=1    ;switch parallel port pin 8 on
999=cop,61,pp8=0   ;same as above but turn off (set ioport=hex val to work)

[telemetry]
ct1=|t(350,0,100,2048)(500,0,100,2048)(660,0,100,2048)
ct2=|t(660,880,150,2048)
ct3=|t(440,0,150,4096)
ct4=|t(550,0,150,2048)
ct5=|t(660,0,150,2048)
ct6=|t(880,0,150,2048)
ct7=|t(660,440,150,2048)
ct8=|t(700,1100,150,2048)
remotetx=|t(1633,0,50,3000)(0,0,80,0)(1209,0,50,3000);
remotemon=|t(1209,0,50,2048)
cmdmode=|t(900,903,200,2048)
functcomplete=|t(1000,0,100,2048)(0,0,100,0)(1000,0,100,2048)
patchup=rpt/callproceeding
patchdown=rpt/callterminated

; This section allows wait times for telemetry events to be adjusted
; A section for wait times can be defined for every repeater

[wait-times]
telemwait=3000
idwait=500
unkeywait=600
calltermwait=2000

; Morse code parameters.
[morse-all]
speed=18
frequency=700
amplitude=4096
idfrequency=800
idamplitude=1024

;[controlstates]
;;
;; controlstates allow several control operator functions to be grouped together so that one command may be used
;; to select one of 10 groups of control operator functions.
;;
;; These are the valid control operator function pairs
;;
;; rptena,rptdis         –       Repeater Enable/Disable
;; lnkena,lnkdis         –       Linking functions Enable/Disable
;; apena,apdis           –       Autopatch functions Enable/Disable
;; totena,totdis         –       Timeout timer Enable/Disable
;; skena,skdis           –       Scheduler Enable/Disable
;; ufena,ufdis         –     User functions enable/disable
;; atena,atdis         –     Alternate hang time enable/disable
;;
;; up to 10 control state combinations can be defined
;;
;; Upon startup, state 0 will be loaded.
;; If no control states are defined, all control states will default to being enabled.
;;
;;
;0 = rptena,lnkena,totena,apena
;1 = rptena,lnkena,totdis,apdis
;2 = rptena,lnkdis,totena,apdis

; This is where you define your nodes which can be connected to.
[nodes]
; Note, if you are using automatic update for allstar link nodes,
; no allstar link nodes should be defined here. Only place a definition
; for your local nodes, and private (off of allstar link) nodes here.

29283 = radio@127.0.0.1/29283,NONE  ; this node connected to this computer

#includeifexists custom/rpt.conf          ;if the rpt.conf file exists in the child directory (custom), load it also.

 ********************************

At this point you should have a working node “Without Radios” !

Want to test it out and learn a few commands… NEXT

http://themidnightengineer.com/app_rpt-testing-link-commands/

Want to look at more info…

Select from the menu above -Amateur Radio/app_rpt/

 

THIS PAGE MAY NEED REVISED !

app_rpt – Asterisk HAM Radio Repeater Controller – The Skinny Set-Up

app_rpt is a software app written in C for the open source ASTERISK PBX that will basically turn Asterisk into a voice switch for radio equipment. A repeater controller/remote base with phone patch and internet linking with echolink and/or allstarlink and or private linking between repeaters and/or phone systems.

The primary group of folks using this as a “great ham repeater switch” would be the ALLSTARLINK.ORG group. However, documentation is sparse and some that you find on the net is not fully explained. I could never find the info I was looking for to do a set-up of remote bases and found many broken links to what looked like what I needed.  I found a alternative way… looking at the source code. (located in /usr/src/astsrc/asterisk/apps/app_rpt.c)

For those of you looking to get up and running, I will note it does take a little time and even more if you have no LINUX, ASTERISK experience and/or REPEATER experience ( I hope you realize that if you strike-out on all three, it will take some time to absorb all of this no matter what).

I will attempt to save you weeks/months of frustration trying to get this to run so you can understand how it works as it is running. For me having plenty of years of ASTERISK and REPEATER, LINUX and PROGRAMMING experience, this app_rpt application was giving me a quite a few head aches for a nearly a week to set-up my 4 repeaters and remote bases. Mainly due to no/poor documentation.

In a effort to promote better documentation, I will try to lay-out the fastest set-up even for those that have no experience. But more important, in later pages, give you better doc’s on setting up the “.conf” configuration files.

In our quickie install, we are using the allstarlink.org quick setup but you are not obligated to use the allstarlink system. We are just making a easy quick basic set-up of your first machine. Although you should consider the benefits of a wide linking system. We are assuming that you do not care to explore all your options to see what is best for you in the first place so these pages are in no way advice, even though they may contain some specific advice about specific items.

Our example system set-up is probably the easiest to do with less money and less hardware and pretty reliable. All be it, this may not be the configuration you want to end up with. But this gives you a chance to learn how it works and then you can decide what works for your needs.

This quicky is intended for a PC and the ACID install. There are many other options, one of which is a set-up on a beagle-board-black (BBB) by WA3DSP and can be found at http://www.crompton.com/hamradio/BeagleBoneBlackAllstar/BeagleBoneBlack.pdf

Do not hook  this up with a actual repeater until you have configured and tested it properly and know how to issue commands for control.

-SO HERE IS THE SKINNY-

First…

You will need/want a newer computer with

a dual-core cpu and preferably one that has no ps2 style ports but has 6 usb 2.0/3.0 ports on it. Sorry to say, Intel boards with Intel chipsets do work best but others will most likely be fine.

2gb ram, 40gb hdd & a cd-rom

cm108

USB Dongle with cmedia cm108/ah

 

one or more USB sound cards with a cm108/cm108ah chipset (ebay $4 – 8 ea)

additionally, to prevent you from needing to hack the USB sound for cor/ptt control, you should pick-up a parallel port interface output board. The best would be the type that are advertised on ebay for use with CNC control and have “opto-coupled transistors” on the outputs. This isolates/buffers your machine from a mishap on your input/output connections and/or lightning. I see good ones on ebay that use the opto-couples for $25 -35 with a cable.  You do not have to have this but it is worthwhile to have and you can’t build one for that price. A mishap of sending to much voltage to one of the

Parallel Port Breakout card with Opto-Coupled Transisters on output.

Parallel Port Breakout card with Opto-Coupled Transisters on output.

parallel port pins directly can trash the machine as compared to just burning out one of the opto-coupled transistors ($1-5).  Not all mainboards have proper buffering for what we use them for.  Please, Take it from my experience in ’95 when I built a bunch of repeater controllers in DOS Box’s and built a card just like this for protection. Use One ! It makes a nice neat,clean hook-up with the terminal strips and pins are well marked preventing further mistakes/shorts.

It helps while getting started to have a second machine with FILEZILLA FTP Client program to do some quick edits on the “.conf”  files on a windows/linux machine and PUTTY ssh program will allow you to remotely run/edit the system. Find them both at sourceforge.net

Also, 2 windows programs called 3CX phone a sip softphone and iaxRPT. You can also get the 3CX phone as a iphone/ipad/android app. Once configured in your radio pbx, they will allow you to test and run the system even without any radio equipment connected.

Yes, you can use less computer but depending on what you do, you may regret doing this with less computer if you create more than 1 or 2 nodes. I say this for varying reasons that are to much to print here.

In advance, something to think about is,  unless you have a static ip address, if you are going to run this at a remote site with internet connection, you “may” want to set your router for a dynamic dns connection so you can get in and re configure it remotely. (not explained here) . The system, by default, can play the IP back to you on the air.

Go to allstarlink.org and sign-up for account. When this has been checked and authorized (day or two), sign-up for a server and  one node(also takes a day or two). Once this has been authorized and you get a node number, download the ACID linux distribution iso and burn the cd.  This is a centos (community enterprise os) server distribution and is very lean, clean and stable even if not the latest version (stay with the program and do not install newer OS than is in the distro). It’s a lot like RHEL if you are familiar with that.

While you may be waiting for parts to arrive, please set-up your first node/repeater/remote base  on your first node at allstarlink.org.   After you think you have a descent setup go to the next step (This does not need to be exact at this point as you will edit your files that are generated, by hand at a later time) .

Setting up the PC machine….

First and foremost, remove all unneeded cards and USB devices except for your keyboard. Then get into the machines BIOS and reset to factory defaults. SAVE/EXIT and upon reboot and enter BIOS again and set-up what it needs for your drives etc and disable any built in stuff you do not need. BUT DO NOT DISABLE network, video, parallel port or sound and do not disable serial port if you will be using it for a hf remote via rs232 “CAT interface”. This is to free and reset possible irq handling for the Plug and play system… don’t skip this first step, it may cause you grief / head scratching later. Set the pc boot order for 1st-cd-rom & 2nd-hdd.

You might take a note as to what address the parallel port is assigned… i.e. 378,278 etc.  If your bios gives you a choice of manual configuration, choose 378 for your first port unless you have good reason not to.

What you have now done is clear problems that may have been buggering the PNP system up most especially for the irq sharing. You may have had potential problems without knowing it.  Most important if using multiple nodes. Even at this day and age, Plug-N-Play does still have its problems in certain situations especially for usb handling and mainly because of irq shares and poor handling of them and manufactures that do not adhere to PNP specs.

Set-up your router:

If you intend to set-up echolink, you need to set port forwarding for udp ports 5198 and 5199 to your radio pbx’s ip. Even though most 2.0 versions of echolink software will revert to tcp port 5200 when udp ports fail, some nodes are on older software and (at the time of writing) iPad/iPhone apps will not revert to tcp 5200 when udp ports fail to connect.

If you intend to use allstarlink or use direct private network between nodes, you want  to forward udp port 4569 to your radio pbx ip.

Make sure your machine has adequate internet access when starting the next steps (plug in Ethernet).

Now install the ACID distribution cd keeping in mind that the system will need to boot to the cd and it will partition and format the hard drive without asking as it installs (everything on drive will be lost).

It installs Centos OS from the cd and goes to the internet for the latest app_rpt distribution and supporting files.

At the end of the distributed install, it will ask you to create a system password. Make it at least 12 characters of letters and numbers and punctuation. Write it down in advance and don’t loose it. Then it will ask you for your user name and password for your allstar system to be able to download the config files you made when you set-up your node online. This will give you a basic framework to get started with. It will then ask you to install the USB FOB (usb sound) dongle as the system reboots so have it handy.

Next Step…

Check the radio pbx’s ip address & write it down. (use router to see what ip’s are assigned and connected for your radio pbx)

For those of you that have good linux experience, I would suggest at this point you install webmin to access/edit/manage your machine. The following is for all others.

Fire up the second machine that’s connected to your network with filezilla/putty/iaxrpt installed

A word of caution if you edit app_rpt/system files on a windows based machine:

edit only “.conf files” .

This is because your system editor/notepad/wordpad on a windows machine handles carriage return and line feeds differently than a linux/unix system. But because the way the .conf files are read into the system, it does not matter. Do not edit script files ( .sh ) or system  crontab  using a windows editor. you will be lost and confused when things don’t work and you can’t see why when it all looks right.

Those of you that are old DOS hounds will be able to easily convert to editing in linux by using “vi” or “nano” for editing files. After going to the directory,  just type “vi filename.conf”  or  “vi  /path/to/directory/filename.ext” .

One other note for those new to linux: When you log in and see you are in “root”,     ” root  ” is not the top of the directory tree, it is a directory.

Type the following to get a quick demo:

cd /        brings you to the top of tree

ls           list files/directories

cd /etc/asterisk/

ls    *.conf          list files with extention .conf  (the old wildcards work here).

Old dos folks probably have a grip on this now but I can’t teach linux in this article.

Once editing a file in vi, you need to hit your insert key to actually change text and escape when done to enter a command of ” : ” and then “quit” to exit without saving or      :exit    to exit and save your work.

The following is for the folks yet intimidated by linux and want to get moving. Others go to next page link at bottom.

Start your filezilla ftp client on your second machine and set-up a new site. Enter your ip details and port to 222 (change this later), set to ssh mode and normal log-in and use root for username and then your password you created for your system during initial setup.

Since all of the files we are editing are in the directory /etc/asterisk/  , we can backup our files on this second machine by ftp transferring them back to a known directory you see in the left pane.

When you hit the connect button, you will see a directory tree on the right. Click on the top of that tree to see all root directories, then double click “etc” dir and when that opens up double click on asterisk sub-directory.

Now you can see all of the files that make up the user editable configuration files in the pane below the tree.

If you right click the  ” extensions.conf ” file a submenu appears / select view-edit and your system editor will load with that file to edit.

When done editing, save the file (normal) but once you do go directly to filezilla as it will ask you to upload the changed edited file to the server it came from and select yes and check done editing.

This is the procedure for editing all .cong files for those yet to intimidated by linux. (you will have to change that eventually)

and go toEDITING / CONFIGURING app_rpt FILES and OPTIONS