Permanent Node Connections on the Same Server?

Looking for recommendations.
I’m trying to figure out the best way to have private nodes permanently connected to my main node.
The private nodes in question are on the same machine as the main node so main and privates are under same AllStar instance.
I’ve tried using the startup macro to connect on the permanent parameter but on reboot or astres.sh they don’t seem to actually reconnect.
Should i use a permanent connect CRON that runs every 5 mins or so, or is there a better way to do it?

The way I have set that up is to use RTCMs at each site and connect them with the mix-minus mode. It’s a rock-solid solution. We’re using it all over the place to replace 420 MHz links.

I know it’s expensive to buy 3 RTCMs but you get what you pay for and in the long run we save money.

1 Like

If your only issue for perm con is at reboot,
Just use a startup macro to run the perm con string.

1 Like

These private nodes are own the same server as the main node. Sorry I should have specified that.

With all three nodes are on the same server, even if they weren’t a startup_macro making a permanent connect should nail up a connection that starts when the node boots and stays put.

For example *83 is a permanent connect (ilink 11) on my node connecting to node 2510

startup_macro=*832510

See Permanent Node Connection - AllStarLink Wiki

1 Like

you can use this script I wrote to check to see if your node is connected and run it in the crontab every 30 minutes or what ever time you choose. you will run it in the following way.

30 * * * * /etc/asterisk/local/check_node_connection.sh yournodenumber nodenumbertocheckfor

ex: check_node_number.sh 457430 43136

it will write a file called cron_check.txt that will log it every time it runs if it is connected or not. If not connected it will auto reconnect the node.
Here is the script. Fell free to change as you wish.

#!/bin/bash
date >> /etc/asterisk/local/cron_check.txt
CHK=
echo “Checking if connected to the hub”

CHK=asterisk -rx "rpt nodes $1" | grep -c $2
echo $CHK >> /etc/asterisk/local/cron_check.txt

if [ $CHK -eq 1 ]
then
echo “OK, Connected.”
echo “OK, connected.” >> /etc/asterisk/local/cron_check.txt
else
echo “Reconnecting.”
echo “Reconnecting.” >> /etc/asterisk/local/cron_check.txt
asterisk -rx “rpt cmd $1 ilink 3 $2”
fi

1 Like

FWIW I also use a startup macro to connect my physical nodes into my cloud node whenever they start up, but I’m used to that connection taking a minute or two after I hear the IP address announced on local RF.

I believe it’s due to the DB taking a while to update with port and IP, which may be longer if you have more than one node on the network. My advice would be to stick with the startup macro approach, but just wait for it to do its thing. I’m back from 2 weeks away just now, and for me it took about 10 minutes before the outgoing link was established.

hmm, that’s exactly what I’m doing. I thought maybe I wasn’t waiting long enough. I just did an astres.sh and it’s been about 20 mins with no connections.

is something else not set up correctly?

Yeah, something is not correct. The connection will be basically instantaneous. Make sure you have:

  • Set the [nodes] section in rpt.conf correctly.
  • The settings in extensions.conf gets a little tricky when more than one node on a server.

Look at this for guidance. Two Nodes on One Server - AllStarLink Wiki

1 Like

should i remove the “Node1-4” stuff. seems like I had issues getting it to work and just used the defined node numbers everywhere.

[globals]
HOMENPA = 205 ; change this to your Area Code
NODE = 48168  ; change this to your node number
NODE1 = 1999
NODE2 = 1998
NODE3 = 523800
NODE4 = 1997

[default]

exten => i,1,Hangup

[radio-secure]
exten => ${NODE},1,rpt,${NODE}
exten => 48168,1,rpt,48168
exten => ${NODE1},1,rpt,${NODE1}
exten => 1999,1,rpt,1999
exten => ${NODE2},1,rpt,${NODE2}
exten => 1998,1,rpt,1998
exten => ${NODE3},1,rpt,${NODE3}
exten => 523800,1,rpt,523800
exten => ${NODE4},1,rpt,${NODE4}
exten => 1997,1,rpt,1997

That should work given those are your real node numbers and they are all on this server.

What does your [nodes] section in rpt conf look like?

What does you startup_macro look like?

Can you connect these nodes using the Asterisk CLI, doing rpt fun 1999 *31998?

You have duplicate entries. It really doesn’t hurt anything but they should be corrected.

NODE1 = 1999
exten => ${NODE1},1,rpt,${NODE1}

is the same as…
exten => 1999,1,rpt,1999

When you say NODE = 1999 that is telling the computer , anywhere you see the word NODE proceeded by a $ then consider it to be 1999. Either way is correct just choose one and stick with it. So have…

[globals]
HOMENPA = 205 ; change this to your Area Code
NODE = 48168 ; change this to your node number
NODE1 = 1999
NODE2 = 1998
NODE3 = 523800
NODE4 = 1997

[default]

exten => i,1,Hangup

[radio-secure]
exten => ${NODE},1,rpt,${NODE}
exten => ${NODE1},1,rpt,${NODE1}
exten => ${NODE2},1,rpt,${NODE2}
exten => ${NODE3},1,rpt,${NODE3}
exten => ${NODE4},1,rpt,${NODE4}

or…

[globals]
HOMENPA = 205 ; change this to your Area Code

[default]

exten => i,1,Hangup

[radio-secure]
exten => 48168,1,rpt,48168
exten => 1999,1,rpt,1999
exten => 1998,1,rpt,1998
exten => 523800,1,rpt,523800
exten => 1997,1,rpt,1997

Both ways are the same thing, and both will work.

As for your connection issue…

Since all the nodes are on the same machine they should connect right away. They have to be defined in your rpt.conf to connect locally. You may be trying to use AllStar to get ip information which depending on you internet provider may or may not work. Just make sure you have each of your nodes defined such as…

48168 = radio@127.0.0.1/48168 ,NONE
1999 = radio@127.0.0.1/1999 ,NONE
1998 = radio@127.0.0.1/1998 ,NONE
523800 = radio@127.0.0.1/523800 ,NONE
1997 = radio@127.0.0.1/1997 ,NONE

This will tell your node that these nodes are all on this machine and to connect as such using the local information instead of the AllStar supplied information. They should connect immediately when requested. In rpt.conf just set the startup macro for each node to what you want it to connect to. You need to do this for each node you want to connect. You shouldn’t need a delay since they are on the same machine but putting in 30 seconds or so wouldn’t hurt.

Hope this helps
Tony
K1TNY
WRAW556

Could you show us the exact string you are using for the connection?
It is likely you have a syntax error in there somewhere.

rpt.conf

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[48168]					; Change this to your assigned node number 

                                        ; Must also be enabled in modules.conf
					; Rx audio/signalling channel. Choose ONLY 1 per node stanza

					; Enable the selected channel driver in modules.conf !!!
rxchannel = dahdi/pseudo	        ; No radio (hub)
; rxchannel = SimpleUSB/usb_1999	; SimpleUSB 
; rxchannel = Pi/1                      ; Raspberry Pi PiTA 
; rxchannel = Radio/usb_1999		; USBRadio (DSP) 
; rxchannel = Dahdi/1			; PCI Quad card 
; rxchannel = Beagle/1			; BeagleBoard 
;rxchannel = USRP/127.0.0.1:34001:32001; GNU Radio interface USRP  

duplex = 1                              ; 0 = Half duplex with no telemetry tones or hang time.
                                        ;     Special Case: Full duplex if linktolink is set to yes.
                                        ;     This mode is preferred when interfacing with an external multiport repeater controller.
					;     Comment out idrecording and idtalkover to suppress IDs also
                                        ; 1 = Half duplex with telemetry tones and hang time. Does not repeat audio.
                                        ;     This mode is preferred when interfacing a simplex node.
                                        ; 2 = Full Duplex with telemetry tones and hang time.
                                        ;     This mode is preferred when interfacing a repeater.
                                        ; 3 = Full Duplex with telemetry tones and hang time, but no repeated audio.
                                        ; 4 = Full Duplex with telemetry tones and hang time. Repeated audio only when the autopatch is down.

;linktolink = no				; disables forcing physical half-duplex operation of main repeater while
					; still keeping half-duplex semantics (optional)

linkmongain = 0				; Link Monitor Gain adjusts the audio level of monitored nodes when a signal from another node or the local receiver is received.
					; If linkmongain is set to a negative number the monitored audio will decrease by the set amount in db.
					; If linkmongain set to a positive number monitored audio will increase by the set amount in db.
					; The value of linkmongain is in db. The default value is 0 db.

erxgain = -3				; Echolink receive gain adjustment
					; Note: Gain is in db-volts (20logVI/VO)
etxgain = 3				; Echolink transmit gain adjustment
					; Note: Gain is in db-volts (20logVI/VO)
;eannmode = 1                           ; 1 = Say only node number on echolink connects (default = 1)
                                        ; 2 = say phonetic call sign only on echolink connects
                                        ; 3 = say phonetic call sign and node number on echolink connects

;controlstates = controlstates		; system control state stanza

scheduler = schedule			; scheduler stanza
functions = functions			; Repeater Function stanza
phone_functions = functions		; Phone Function stanza
link_functions = functions		; Link Function stanza

telemetry = telemetry			; Telemetry stanza
morse = morse				; Morse stanza
wait_times = wait-times			; Wait times stanza

context = radio				; dialing context for phone
callerid = "Repeater" <0000000000>	; callerid for phone calls
accountcode = RADIO                     ; account code (optional)

phonesendlinks=0
telemenabled=0

hangtime = 0				; squelch tail hang time (in ms) (optional, default 5 seconds, 5000 ms)
althangtime = 0				; longer squelch tail
totime = 180000				; transmit time-out time (in ms) (optional, default 3 minutes 180000 ms)

idrecording = |ie			; cording or morse string see http://ohnosec.org/drupal/node/87
idtalkover = |ie                    ; Talkover ID (optional) default is none see http://ohnosec.org/drupal/node/129
					; See Telemetry section Example: idrecording = rpt/nodenames/1999
idtime = 540000				; id interval time (in ms) (optional) Default 5 minutes (300000 ms)
politeid = 30000			; time in milliseconds before ID timer expires to try and ID in the tail. (optional, default 30000)

unlinkedct = ct2			; Send a this courtesy tone when the user unkeys if the node is not connected to any other nodes. (optional, default is none)
remotect = ct3				; remote linked courtesy tone (indicates a remote is in the list of links)
linkunkeyct = ct8			; sent when a transmission received over the link unkeys
;nolocallinkct = 0			; Send unlinkedct instead if another local node is connected to this node (hosted on the same PC).

;connpgm = yourconnectprogram		; Disabled. Execute a program you specify on connect. (default)
;connpgm = /usr/local/bin/msg_on_connect
;discpgm = /usr/local/bin/msg_on_disconnect
					; passes 2 command line arguments to your program: 
					; 1. node number in this stanza (us)
					; 2. node number being connected to us (them)
;discpgm = yourdisconnectprogram	; Disabled. Execute a program you specify on disconnect. (default)
					; passes 2 command line arguments to your program: 
					; 1. node number in this stanza (us)
					; 2. node number being disconnected from us (them)

;lnkactenable = 0			; Set to 1 to enable the link activity timer. Applicable to standard nodes only.

;lnkacttime = 1800			; Link activity timer time in seconds.
;lnkactmacro = *52			; Function to execute when link activity timer expires.
;lnkacttimerwarn = 30seconds		; Message to play when the link activity timer has 30 seconds left.

remote_inact_timeout = 0		; Specifies the amount of time without keying from the link. Set to 0 to disable timeout. (15 * 60)
remote_timeout = 0			; Session time out for remote base. Set to 0 to disable. (60 * 60)
;remote_timeout_warning_freq =		; 30
;remote_timeout_warning =		; (3 * 60) 

nounkeyct = 1				; Set to a 1 to eliminate courtesy tones and associated delays.

holdofftelem = 1			; Hold off all telemetry when signal is present on receiver or from connected nodes
					; except when an ID needs to be done and there is a signal coming from a connected node.

telemdefault = 0                        ; 0 = telemetry output off
                                        ; 1 = telemetry output on (default = 1)
                                        ; 2 = timed telemetry output on command execution and for a short time thereafter.

telemdynamic = 0                        ; 0 = disallow users to change the local telemetry setting with a COP command,
                                        ; 1 = Allow users to change the setting with a COP command. (default = 1)

;beaconing = 0				; Send ID regardless of repeater activity (Required in the UK, but probably illegal in the US)

parrotmode = 0				; 0 = Parrot Off (default = 0)
					; 1 = Parrot On Command
					; 2 = Parrot Always
					; 3 = Parrot Once by Command

parrottime = 1000			; Set the amount of time in milliseconds 
					; to wait before parroting what was received

;rxnotch=1065,40                        ; (Optional) Notch a particular frequency for a specified
                                        ; b/w. app_rpt must have been compiled with
                                        ; the notch option

startup_macro = *831998

; nodenames = /var/lib/asterisk/sounds/rpt/nodenames.callsign	; Point to alternate nodename sound directory
statpost_program=/usr/bin/wget,-q,--timeout=15,--tries=1,--output-document=/dev/null
statpost_url=http://stats.allstarlink.org/uhandler.php ; Status updates

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[523800]					; Change this to your assigned node number 

                                        ; Must also be enabled in modules.conf
					; Rx audio/signalling channel. Choose ONLY 1 per node stanza

					; Enable the selected channel driver in modules.conf !!!
rxchannel = dahdi/pseudo	        ; No radio (hub)
; rxchannel = SimpleUSB/usb_1999	; SimpleUSB 
; rxchannel = Pi/1                      ; Raspberry Pi PiTA 
; rxchannel = Radio/usb_1999		; USBRadio (DSP) 
; rxchannel = Dahdi/1			; PCI Quad card 
; rxchannel = Beagle/1			; BeagleBoard 
;rxchannel = USRP/127.0.0.1:34001:32001; GNU Radio interface USRP  

duplex = 0                              ; 0 = Half duplex with no telemetry tones or hang time.
                                        ;     Special Case: Full duplex if linktolink is set to yes.
                                        ;     This mode is preferred when interfacing with an external multiport repeater controller.
					;     Comment out idrecording and idtalkover to suppress IDs also
                                        ; 1 = Half duplex with telemetry tones and hang time. Does not repeat audio.
                                        ;     This mode is preferred when interfacing a simplex node.
                                        ; 2 = Full Duplex with telemetry tones and hang time.
                                        ;     This mode is preferred when interfacing a repeater.
                                        ; 3 = Full Duplex with telemetry tones and hang time, but no repeated audio.
                                        ; 4 = Full Duplex with telemetry tones and hang time. Repeated audio only when the autopatch is down.

linktolink = no				; disables forcing physical half-duplex operation of main repeater while
					; still keeping half-duplex semantics (optional)

linkmongain = 0				; Link Monitor Gain adjusts the audio level of monitored nodes when a signal from another node or the local receiver is received.
					; If linkmongain is set to a negative number the monitored audio will decrease by the set amount in db.
					; If linkmongain set to a positive number monitored audio will increase by the set amount in db.
					; The value of linkmongain is in db. The default value is 0 db.

erxgain = -3				; Echolink receive gain adjustment
					; Note: Gain is in db-volts (20logVI/VO)
etxgain = 3				; Echolink transmit gain adjustment
					; Note: Gain is in db-volts (20logVI/VO)
;eannmode = 1                           ; 1 = Say only node number on echolink connects (default = 1)
                                        ; 2 = say phonetic call sign only on echolink connects
                                        ; 3 = say phonetic call sign and node number on echolink connects

;controlstates = controlstates		; system control state stanza

scheduler = schedule			; scheduler stanza
functions = functions			; Repeater Function stanza
phone_functions = functions		; Phone Function stanza
link_functions = functions		; Link Function stanza

telemetry = telemetry			; Telemetry stanza
morse = morse				; Morse stanza
wait_times = wait-times			; Wait times stanza

context = radio				; dialing context for phone
callerid = "Repeater" <0000000000>	; callerid for phone calls
accountcode = RADIO                     ; account code (optional)

phonesendlinks=0
telemenabled=0

hangtime = 0				; squelch tail hang time (in ms) (optional, default 5 seconds, 5000 ms)
althangtime = 0				; longer squelch tail
totime = 180000				; transmit time-out time (in ms) (optional, default 3 minutes 180000 ms)

idrecording = |ie			; cording or morse string see http://ohnosec.org/drupal/node/87
idtalkover = |ie                    ; Talkover ID (optional) default is none see http://ohnosec.org/drupal/node/129
					; See Telemetry section Example: idrecording = rpt/nodenames/1999
idtime = 540000				; id interval time (in ms) (optional) Default 5 minutes (300000 ms)
politeid = 30000			; time in milliseconds before ID timer expires to try and ID in the tail. (optional, default 30000)

unlinkedct = ct2			; Send a this courtesy tone when the user unkeys if the node is not connected to any other nodes. (optional, default is none)
remotect = ct3				; remote linked courtesy tone (indicates a remote is in the list of links)
linkunkeyct = ct8			; sent when a transmission received over the link unkeys
;nolocallinkct = 0			; Send unlinkedct instead if another local node is connected to this node (hosted on the same PC).

;connpgm = yourconnectprogram		; Disabled. Execute a program you specify on connect. (default)
connpgm = /usr/local/bin/kv4s_connect
discpgm = /usr/local/bin/kv4s_disconnect
					; passes 2 command line arguments to your program: 
					; 1. node number in this stanza (us)
					; 2. node number being connected to us (them)
;discpgm = yourdisconnectprogram	; Disabled. Execute a program you specify on disconnect. (default)
					; passes 2 command line arguments to your program: 
					; 1. node number in this stanza (us)
					; 2. node number being disconnected from us (them)

;lnkactenable = 0			; Set to 1 to enable the link activity timer. Applicable to standard nodes only.

;lnkacttime = 1800			; Link activity timer time in seconds.
;lnkactmacro = *52			; Function to execute when link activity timer expires.
;lnkacttimerwarn = 30seconds		; Message to play when the link activity timer has 30 seconds left.

remote_inact_timeout = 0		; Specifies the amount of time without keying from the link. Set to 0 to disable timeout. (15 * 60)
remote_timeout = 0			; Session time out for remote base. Set to 0 to disable. (60 * 60)
;remote_timeout_warning_freq =		; 30
;remote_timeout_warning =		; (3 * 60) 

nounkeyct = 1				; Set to a 1 to eliminate courtesy tones and associated delays.

holdofftelem = 1			; Hold off all telemetry when signal is present on receiver or from connected nodes
					; except when an ID needs to be done and there is a signal coming from a connected node.

telemdefault = 0                        ; 0 = telemetry output off
                                        ; 1 = telemetry output on (default = 1)
                                        ; 2 = timed telemetry output on command execution and for a short time thereafter.

telemdynamic = 0                        ; 0 = disallow users to change the local telemetry setting with a COP command,
                                        ; 1 = Allow users to change the setting with a COP command. (default = 1)

;beaconing = 0				; Send ID regardless of repeater activity (Required in the UK, but probably illegal in the US)

parrotmode = 0				; 0 = Parrot Off (default = 0)
					; 1 = Parrot On Command
					; 2 = Parrot Always
					; 3 = Parrot Once by Command

parrottime = 1000			; Set the amount of time in milliseconds 
					; to wait before parroting what was received

;rxnotch=1065,40                        ; (Optional) Notch a particular frequency for a specified
                                        ; b/w. app_rpt must have been compiled with
                                        ; the notch option

startup_macro = *831996,*831997

; nodenames = /var/lib/asterisk/sounds/rpt/nodenames.callsign	; Point to alternate nodename sound directory
statpost_program=/usr/bin/wget,-q,--timeout=15,--tries=1,--output-document=/dev/null
statpost_url=http://stats.allstarlink.org/uhandler.php ; Status updates

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[1999]
;rxchannel = dahdi/pseudo	        ; No radio (hub)
rxchannel = USRP/127.0.0.1:34002:32003  
;rxchannel = USRP/127.0.0.1:34001:32001 ; Use the USRP channel driver. Must be enabled in modules.conf
                                        ; 127.0.0.1 = IP of the target application
                                        ; 34001 = UDP port the target application is listening on
                                        ; 32001 = UDP port ASL is listening on

duplex = 0                              ; 0 = Half duplex with no telemetry tones or hang time. Ah, but Allison STILL talks!

hangtime = 0                            ; squelch tail hang time 0
althangtime = 0                         ; longer squelch tail hang time 0

holdofftelem = 1                        ; Hold off all telemetry when signal is present on receiver or from connected nodes
                                        ; except when an ID needs to be done and there is a signal coming from a connected node.

telemdefault = 0                        ; 0 = telemetry output off. Don't send Allison to DMR !!!!!!!!!!!!!!!!! Trust me.

telemdynamic = 0                        ; 0 = disallow users to change the local telemetry setting with a COP command,

linktolink = no                         ; disables forcing physical half-duplex operation of main repeater while
                                        ; still keeping half-duplex semantics (optional)

nounkeyct = 1                           ; Set to a 1 to eliminate courtesy tones and associated delays.

totime = 180000                         ; transmit time-out time (in ms) (optional, default 3 minutes 180000 ms)

phonesendlinks=0
telemenabled=0

idrecording = |ie                       ; id recording or morse string see http://ohnosec.org/drupal/node/87
idtalkover = |ie                        ; Talkover ID (optional) default is none see http://ohnosec.org/drupal/node/129

;connpgm = /usr/local/bin/msg_on_connect
discpgm = /usr/local/bin/1999_disconnect


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[1998]
rxchannel = USRP/127.0.0.1:34001:32001  ; Use the USRP channel driver. Must be enabled in modules.conf
                                        ; 127.0.0.1 = IP of the target application
                                        ; 34001 = UDP port the target application is listening on
                                        ; 32001 = UDP port ASL is listening on

duplex = 0                              ; 0 = Half duplex with no telemetry tones or hang time. Ah, but Allison STILL talks!

hangtime = 0                            ; squelch tail hang time 0
althangtime = 0                         ; longer squelch tail hang time 0

holdofftelem = 1                        ; Hold off all telemetry when signal is present on receiver or from connected nodes
                                        ; except when an ID needs to be done and there is a signal coming from a connected node.

telemdefault = 0                        ; 0 = telemetry output off. Don't send Allison to DMR !!!!!!!!!!!!!!!!! Trust me.

telemdynamic = 0                        ; 0 = disallow users to change the local telemetry setting with a COP command,

linktolink = no                         ; disables forcing physical half-duplex operation of main repeater while
                                        ; still keeping half-duplex semantics (optional)

nounkeyct = 1                           ; Set to a 1 to eliminate courtesy tones and associated delays.

totime = 180000                         ; transmit time-out time (in ms) (optional, default 3 minutes 180000 ms)

phonesendlinks=0
telemenabled=0

idrecording = |ie                       ; id recording or morse string see http://ohnosec.org/drupal/node/87
idtalkover = |ie                        ; Talkover ID (optional) default is none see http://ohnosec.org/drupal/node/129

;connpgm = /usr/local/bin/msg_on_connect
discpgm = /usr/local/bin/msg_on_disconnect

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[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.

48168 = radio@127.0.0.1:4569/48168,NONE	; This must be changed to your node number
                                        ; and iax port number if not the default
523800 = radio@127.0.0.1:4569/523800,NONE
1999 = radio@127.0.0.1:4569/1999,NONE		
1998 = radio@127.0.0.1:4569/1998,NONE
1997 = radio@127.0.0.1:4569/1997,NONE
				
startup_macro = *831998

Hope I fixed the duplicates:

[general]

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

[globals]
HOMENPA = 205 ; change this to your Area Code
NODE = 48168  ; change this to your node number

[default]

exten => i,1,Hangup

[radio-secure]
exten => 48168,1,rpt,48168
exten => 1999,1,rpt,1999
exten => 1998,1,rpt,1998
exten => 523800,1,rpt,523800
exten => 1997,1,rpt,1997

[iaxrpt]                                ; entered from iaxrpt in iax.conf
exten => 48168,1,rpt,48168|X			; NODE is the Name field in iaxrpt
exten => 1999,1,rpt,1999|X
exten => 1998,1,rpt,1998|X
exten => 523800,1,rpt,523800|X
exten => 1997,1,rpt,1997|X
                                        ; Info: The X option passed to the Rpt application
                                        ; disables the normal security checks.
                                        ; Because incoming connections are validated in iax.conf,
                                        ; and we don't know where the user will be coming from in advance,
                                        ; the X option is required.

Did you answer this? I can’t find it if you did.

Well here is my observation…

You have chosen to define the extensions and removed the duplicates. They are fine.

You have defined the local nodes in the [nodes] stanza. They look fine.

I see you using *83 to do a permanent connection. On most of my systems it is *73 to permanently connect (73=ilink,13 ; connect link permanent transceive = *73). This could be different on yours and you didn’t include that part of the rpt for me to see so please verify if yours uses the 7 or 8 for permanent. We will assume it is *83 for yours since that is what your showing.

You have defined nodes…

48168 set to connect to 1998 (*831998)

523800 set to connect to 1996 and 1997 (*831996,*831997). You do not have a node 1997 defined and there should be no comma in the string (*831996 *831997#) (they say to put the hash (#) at the end but it seems to work with or without it).

1999 no connection set

1998 no connections set

1997 not ** defined **

So create the 1997 and verify which command you use for your permanent connection. Then try a reboot and see if the 48168 connect to 1998 and if 523800 connects to both 1996 and 1997.

Tony