Failed to Connect

Hello

I have set up a new node 65930 on port 4571 and have my original node 553181 on port 4570

Both run on different networks/telco

I am unable to connect to either and get connection failed when I try, but am able to connect to 55553 parrot and other nodes ok on both

All passwords appear to be correct and routers configured with port forwarding to each port

I did have one day that they did connect, but later on they went back to failed and I had done nothing in between or prior to this happening

Looking at diagnostics in asl-menu I am registered and can ping successfully

Any other suggestions would be great

Thanks

Ray - VK5RR

What is the network on the failed system ? cellular ?

From what ? the other node ?

I was able to connect to 65930 this morning

553181 did not allow a connect, so the issue seems to be with that node.

Being NNX, you should probably review that part of your setup, especially if that was a recent change to NNX.
reg data = 553181=radio@202.90.241.21:4570/553181,202.90.241.21

1 Like

Hello Mike

One is Home Internet the other is cellular

The one you connected to was the cellular

I could connect both ways from either node yesterday for a short time

553181 has been up for quite some time now and working, I did try and setup another NNX note but that did the same, so I requested another plan node to see if that would work

I could alway change the NNX node back to a normal node and see if that works any different

Thanks for the info will keep looking

Ray

There are a lot of 'could be' issues.

Perhaps a look at the extensions.conf for the inbound route for connection.
Or even possibly a firewall issue.
ufw status

But you really should test this node for inbound and outbound with each config change. It probably helps to have a friend test with that is outside your network.

Verifying that it does have a nodelist file in /var/lib/asterisk and that it is up-to-date may go a long way.

systemctl restart asl3-update-nodelist

Just watching the asterisk in the foreground @ CLI> may reveal the error during connection attempt.
If you see it, post it here.

edit:
I would concentrate on the outbound connection. For it is not effected by any port routing issues.

Mike
I recreated an sd card and reverted the node back to a normal node

It did not work then after a few hours could connect both ways no issue and had it connect for about 48hrs

Last night for not reason at all, then now trying to connect from 55318 to 69530 it get the following

[2025-07-17 09:30:37.321] NOTICE[865]: chan_iax2.c:4829 __auto_congest: Auto-congesting call due to slow response
-- Hungup 'IAX2/124.19.84.11:4571-12599'
-- Hungup 'DAHDI/pseudo-189216664'
-- <DAHDI/pseudo-899241626> Playing 'custom/rpt/node.gsm' (language 'en')
-- <DAHDI/pseudo-899241626> Playing 'custom/digits/6.ulaw' (language 'en')
-- <DAHDI/pseudo-899241626> Playing 'custom/digits/5.ulaw' (language 'en')
-- <DAHDI/pseudo-899241626> Playing 'custom/digits/9.ulaw' (language 'en')
-- <DAHDI/pseudo-899241626> Playing 'custom/digits/3.ulaw' (language 'en')
-- <DAHDI/pseudo-899241626> Playing 'custom/digits/0.ulaw' (language 'en')
-- <DAHDI/pseudo-899241626> Playing 'custom/rpt/connection_failed.gsm' (language 'en')
-- Hungup 'DAHDI/pseudo-899241626'

I can connect 65930 > 55318 but not 55318 > 65930

Nothing on the network here changed in that 48hr period

Now dont know where to start looking seeing that after doing a clean setup and having it working for more than 48hrs to suddenly stop, leaving me scratching my head

Autocongest usually indicates a problem with the node you're calling. Maybe it's them, not you?

Thanks

The node that I cam connecting to is mine in the next room, on a totally different network and I have started it from fresh, it was working but then disconneected overnight for no reason and now will not connect back 55318 > 69530 but will work 69530 > 55318 without any issue, still looking for issue

Well, at that point, you need to verify the node list data on 69530 (I think you mean 95930) and the port used shows 4571 is correctly forwarded to the correct NAT IP.

I failed to connect to either node. Might look at them both.

Perhaps just a little follow through with the networking.

Just to rule it out, you might make sure that inbound connections are enabled (ICE)

that should have been 65930

Hi Mike

Found the only way to resolve the issue was to revert it back to a stand node, as no matter what we done, could not get connection to the other type of node, it even got to the extent that the other node would not connect to a 6 digit node

Now it has been revert back to 55318 everything appears to be working, but it is not ideal

Thanks for your assistance

Ray

Could you attach your file extensions.conf

If the issue is dialing 6 digits, then the dialplan is the culprit.

Perhaps you are using a config before NNX.

Hi Mike

This is a copy from the PI that would not connect to the 553182 would only say it was connect to 55318

[general]

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

[globals]
HOMENPA = 999 ; change this to your Area Code
NODE = 65930 ; change this to your node number

[default]
exten => i,1,Hangup

[radio-secure]
;exten => ${NODE},1,rpt(${EXTEN})
exten => _XXXX!,1,Set(NODENUM=${CALLERID(num)})
same => n,NoOp(Connect from node: ${NODENUM})
same => n,NoOp(Connect to: ${EXTEN})
same => n,NoOp(Channel type: ${CHANNEL(channeltype)})
same => n,GotoIf($["${CHANNEL(channeltype)}" = "IAX2"]?:allowlist) ; if not IAX2, skip IP check

; if peer IP is localhost, connect
same => n,NoOp(Channel Peer IP: ${CHANNEL(peerip)})
same => n,GotoIf($["${CHANNEL(peerip)}" = "127.0.0.1"]?connect)                 ; if localhost; connect

; if allowlist/extension doesn't exist, check the denylist
same => n(allowlist),GotoIf($[${DB_KEYCOUNT(allowlist/${EXTEN})} = 0]?denylist) ; no allowlist, check denylist
; if allowlist/extension/callerID exists, connect
same => n,GotoIf(${DB_EXISTS(allowlist/${EXTEN}/${NODENUM})}?connect)           ; in allowlist, connect
same => n,NoOp(${EXTEN} not in allowlist, Hangup)
same => n,Hangup

; if denylist/extension/callerID doesn't exist, connect
same => n(denylist),GotoIf(${DB_EXISTS(denylist/${EXTEN}/${NODENUM})}?:connect) ; not in denylist, connect
same => n,NoOp(${EXTEN} is in denylist, Hangup)
same => n,Hangup

; connect!
same => n(connect),rpt(${EXTEN})
same => n,Hangup

[iaxrpt]
; Entered from iaxrpt in iax.conf
; 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.
exten => ${NODE},1,rpt(${EXTEN},X) ; NODE is the Name field in iaxrpt

[iax-client] ; for IAX VoIP clients.
exten => _XXXXX!,1,Ringing()
same => n,Wait(1)
same => n,Answer()
same => n,Set(CALLSIGN=${CALLERID(name)})
same => n,NoOp(Caller ID name is ${CALLSIGN})
same => n,NoOp(Caller ID number is ${CALLERID(number)})
same => n,GotoIf(${ISNULL(${CALLSIGN})}?hangit)
same => n,Playback(rpt/connected-to&rpt/node)
same => n,SayDigits(${EXTEN})
same => n,rpt(${EXTEN},P,${CALLSIGN})
same => n(hangit),NoOp(No Caller ID Name)
same => n,Playback(connection-failed)
same => n,Wait(1)
same => n,Hangup1

; Comment-out the following clause if you want Allstar Autopatch service
[pstn-out]
exten => _NXXNXXXXXX,1,playback(ss-noservice)
same => n,Congestion

; Un-comment out the following clause if you want Allstar Autopatch service
;[pstn-out]
;exten => _NXXNXXXXXX,1,Dial(IAX2/allstar-autopatch/${EXTEN})
; same => n,Busy

[invalidnum]
exten => s,1,Wait(3)
same => n,Playback(ss-noservice)
same => n,Wait(1)
same => n,Hangup

[radio]
exten => _X11,1,Goto(check_route,${EXTEN},1);
exten => _NXXXXXX,1,Goto(check_route,1${HOMENPA}${EXTEN},1)
exten => _1XXXXXXXXXX,1,Goto(check_route,${EXTEN},1)
exten => _07XX,1,Goto(parkedcalls,${EXTEN:1},1)
exten => 00,1,Goto(my-ip,s,1)

[check_route]
exten => _X.,1,NoOp(${EXTEN})
; no 800
exten => _1800NXXXXXX,2,Goto(invalidnum,s,1)
exten => _1888NXXXXXX,2,Goto(invalidnum,s,1)
exten => _1877NXXXXXX,2,Goto(invalidnum,s,1)
exten => _1866NXXXXXX,2,Goto(invalidnum,s,1)
exten => _1855NXXXXXX,2,Goto(invalidnum,s,1)
; no X00 NPA
exten => _1X00XXXXXXX,2,Goto(invalidnum,s,1)
; no X11 NPA
exten => _1X11XXXXXXX,2,Goto(invalidnum,s,1)
; no X11
exten => _X11,2,Goto(invalidnum,s,1)
; no 555 Prefix in any NPA
exten => _1NXX555XXXX,2,Goto(invalidnum,s,1)
; no 976 Prefix in any NPA
exten => _1NXX976XXXX,2,Goto(invalidnum,s,1)
; no NPA=809
exten => _1809XXXXXXX,2,Goto(invalidnum,s,1)
; no NPA=900
exten => _1900XXXXXXX,2,Goto(invalidnum,s,1)

; okay, route it
exten => _1NXXXXXXXXX,2,Goto(pstn-out,${EXTEN:1},1)
exten => _X.,2,Goto(invalidnum,s,1)

[my-ip]
exten => s,1,Wait(1)
same => n,SayAlpha(${CURL(http://myip.vg)})
same => n,Hangup

[allstar-sys]
exten => _1.,1,Rpt(${EXTEN:1},Rrpt/node:NODE:rpt/in-call:digits/0:PARKED,120)
exten => _1.,n,Hangup

exten => _2.,1,Ringing
exten => _2.,n,Wait(3)
exten => _2.,n,Answer
exten => _2.,n,Playback(rpt/node)
exten => _2.,n,Saydigits(${EXTEN:1})
exten => _2.,n,Rpt(${EXTEN:1},P,${CALLERID(name)}-P)
exten => _2.,n,Hangup

exten => _3.,1,Ringing
exten => _3.,n,Wait(3)
exten => _3.,n,Answer
exten => _3.,n,Playback(rpt/node)
exten => _3.,n,Saydigits(${EXTEN:1})
exten => _3.,n,Rpt(${EXTEN:1},Pv,${CALLERID(name)}-P)
exten => _3.,n,Hangup

exten => _4.,1,Ringing
exten => _4.,n,Wait(3)
exten => _4.,n,Answer
exten => _4.,n,Playback(rpt/node)
exten => _4.,n,Saydigits(${EXTEN:1})
exten => _4.,n,Rpt(${EXTEN:1},D,${CALLERID(name)}-P)
exten => _4.,n,Hangup

exten => _5.,1,Ringing
exten => _5.,n,Wait(3)
exten => _5.,n,Answer
exten => _5.,n,Playback(rpt/node)
exten => _5.,n,Saydigits(${EXTEN:1})
exten => _5.,n,Rpt(${EXTEN:1},Dv,${CALLERID(name)}-P)
exten => _5.,n,Hangup

[allstar-public]
exten => s,1,Ringing
same => n,Set(RESP=${CURL(https://register.allstarlink.org/cgi-bin/authwebphone.pl?${CALLERID(name)})})
same => n,GotoIf($["${RESP:0:1}" = "?"]?hangit)
same => n,GotoIf($["${RESP:0:1}" = ""]?hangit)
same => n,GotoIf($["${RESP:0:5}" != "OHYES"]?hangit)
same => n,Set(CALLSIGN=${RESP:5})
same => n,Set(NODENUM=${CALLERID(num)})

; if allowlist/extension doesn't exist, check the denylist
same => n,GotoIf($[${DB_KEYCOUNT(allowlist/${NODENUM})} = 0]?denylist)              ; no allowlist, check denylist
; if allowlist/extension/callsign exists, connect
same => n,GotoIf(${DB_EXISTS(allowlist/${NODENUM}/${CALLSIGN})}?connect)            ; in allowlist, connect
same => n,NoOp(${CALLSIGN} not in allowlist, Hangup)
same => n,Hangup

; if denylist/extension/callsign doesn't exist, connect
same => n(denylist),GotoIf(${DB_EXISTS(denylist/${NODENUM}/${CALLSIGN})}?:connect) ; not in denylist, connect
same => n,NoOp(${CALLSIGN} is in denylist, Hangup)
same => n,Hangup

; connect!
same => n(connect),Set(CALLERID(name)=${CALLSIGN})
same => n,Set(CALLERID(num)=0)
same => n,Wait(3)
same => n,Playback(rpt/connected-to&rpt/node,noanswer)
same => n,SayDigits(${NODENUM})
same => n,Rpt(${NODENUM},X)
same => n,Hangup

; hangup!
same => n(hangit),Answer
same => n,Wait(1)
same => n,Hangup

#tryinclude "custom/extensions.conf"

I can convert it back to an NNX not if need be as I will change over the SD card and change it on allstar system

Have you carefully read this:

The nodes are not on the same network, they are on 2 total different suppliers

So there is zero network connections between any part of these two infrastructures?

Are either of them behind a CGN IP?

Just checking:

The AllStarLink portal DB shows the server for node 55318 is setup with port 4570. The server setting for node 65930 is setup with port 4569.

Does this match your node configuration and any related port forwarding rules?

... and I'm asking because I saw a mention of port 4571 in the discussion.

Without rewriting this in allowance of custom blocking plan,

I would just add a second line that ALSO starts as instruction one. like
exten => _XXXXX!,1,Set(NODENUM=${CALLERID(num)})

So, it would look like this

[radio-secure]
;exten => ${NODE},1,rpt(${EXTEN})
exten => _XXXX!,1,Set(NODENUM=${CALLERID(num)})
exten => _XXXXX!,1,Set(NODENUM=${CALLERID(num)})
same => n,NoOp(Connect from node: ${NODENUM})
same => n,NoOp(Connect to: ${EXTEN})
same => n,NoOp(Channel type: ${CHANNEL(channeltype)})
same => n,GotoIf($["${CHANNEL(channeltype)}" = "IAX2"]?:allowlist) ; if not IAX2, skip IP check

It does not match the first real instruction but does match the second real instruction, also numbered as one.
So if it does match the first real instruction, it looks for #2(n) ignoring the second #1

Hope I did not confuse you. But that is the simplest patch.

That right there is zero connection between both networks, and they both have static IP addresses, no CG Nat

The ports are correct, I had been trying another port at one stage in case they were blocked by ISP, as some do use 4569 for services for voice on the NBN