Guidance on setting up dudestar + allstarlink node

Hi

I’m trying to setup dudestar [ GitHub - nostar/dudestar: Software to RX/TX D-STAR, DMR, Fusion YSF, NXDN, P25, M17 and AllStar (via IAX) over UDP. ] to connect and control my allstarlink node.

The github page doesn’t list what exactly needs to be changed on allstar link node to be able to connect.

Reading some random posts, it looks like I need to add a section to my aix.conf, and below is what I have added.

[iaxclient]        
type=friend
context=iax-client    
auth=md5
secret=password
host=dynamic
disallow=all
allow=ulaw
allow=adpcm
allow=gsm
transfer=no

In my /var/log/asterisk/messages I’m seeing errors such as:

[Jan 9 12:59:46] NOTICE[3496] chan_iax2.c: Host [redacted] failed MD5 authentication for ‘iaxclient’ ([redacted] != [redacted])
[Jan 9 13:00:15] NOTICE[3496] chan_iax2.c: Host [redacted] failed to authenticate as iaxclient

I’ve tried a few different combos and have made sure my password matched.

Any suggestions? It seems to “connect” but I’m not able to send any commands from dudestar over to the node.

Thanks

What you have shown is a stanza for a iax remote connect.
Failed authentication means your user/pass is incorrect.

User you show is : iaxclient
Pass you show is : password
did you put a hyphen in user like where you show context at the other end ? don’t
user is the stanza name.

The ‘context=’ must have a matching context in extentions.conf to follow.
? radio-control ? radio ?
without valid context it goes nowhere/dead end.

I read the readme on the page and may not be written well because it must have a context but if none is specified, iax-client is used ‘by the program’.

But to connect and control any node, that node will need to be in the context you are dialing in on.

You could try/test this config with the pc program iaxrpt (zipper) if you have it. Works the same.

you could also watch asterisk in the foreground : asterisk -rvvv

I can’t be more help than that as I have never seen this before.

also see dvswitch @ groups.io

did you put a hyphen in user like where you show context at the other end ?

I used “iaxclient” for the username in the dudestar app

When I had said “control” the radio, I meant that I wanted to be able to connect from my laptop to the allstar link in kind of a “loop back” config – not sure what the proper way to describe it is. Basically get the audio in/out from my laptop and be able to send DTMF codes from dudestar to connect to other nodes.

My allstar node consists of a RBPI + RA40 + SA818 that I built, so with dudestar it should work without any radio.

I seem to have pinned down the auth issue by switching from a md5 auth to “plaintext”, which I know is not ideal, but it kept comparing different hashes (as output in the message log) so I think what gets put into iax.conf is a hashed version of the password plus other info?

What are you using in the attempt to connect to your allstar node ?

edit:
I’m sorry… the lack of info has me thinking in circles.

You are connecting from dudestar

Please download iaxrpt and configure it for checking which side is giving you a issue since the connection to asterisk is the same in iax.conf

You did not mention if you have a correct context in extentions.conf

https://wiki.allstarlink.org/wiki/Setup_IAXRPT_use

I was able to get iaxRPT to work.

There seems to be some bugs with dudestar, but the author is very unhelpful on the subject.

Using the same values in dudestar of the working config for iaxRPT, it will throw the error:

[Jan 10 20:51:23] NOTICE[6458]: chan_iax2.c:6981 register_verify: No registration for peer ‘iax-client’ (from [IPADDR] )

Any ideas?

Just for reference here is what I’m using now in iax.conf and extensions.conf:

[iax-client]
type=user
context=iax-client;
auth=md5;
secret=password;
host=dynamic
disallow=all
allow=ulaw
allow=gsm
transfer=no

[iax-client]
exten => node_number,1,rpt,node_number|X
exten => 1999,1,rpt,1999

I’ve tried setting the stanza/username as “iaxclient” in iax.conf and as “iax-client” and a few combos, as it seems the author of dudestar has that setup to default without a context set, so just trying options out.

You may need to throw that back to the folks at dudestar

According to what I read in the github readme
It is just as you have above.
There is no user auth outside of user/pass and normal for a ‘user’

dudestar seems to be wanting or is set for a secure peer.
very different set-ups
peer, friend and user are 3 of the options and need like setups at both ends. They have different security set-ups.

you did not mention which side of the connection you are reading that error though.
allstar, dudestar

If you got that on the allstar side, show us your iax.conf (mask passwords)

I suspect your extensions entry may be doing you harm. Leave your iax alone.
The purpose of entry in iax.conf is to make the connection verified however needed and push it to (context) for routing in extensions

Try this in ext conf – use your node numbers and try with iaxrpt first.

[globals] ;beginning of the file only for globals
HOMENPA=330
NODE = 29285
NODE1 = 29284
NODE2 = 29283
NODE3 = 29261
NODE4 = 48335
NODE5 = 1990
NODE6 = 1970
NODE7 = 1951
NODE9 = 1980

[iax-user] ; for IAX VIOP clients.
exten => ${NODE},1,Ringing
exten => ${NODE},n,Wait(3)
exten => ${NODE},n,Answer
exten => ${NODE},n,Set(NODENUM=${CALLERID(number)})
exten => ${NODE},n,Playback(rpt/node|noanswer)
exten => ${NODE},n,SayDigits(${EXTEN})
exten => ${NODE},n,Set(CALLERID(num)=0)
exten => ${NODE},n,Rpt,${NODE}|P|${CALLERID(name)}
exten => ${NODE},n,Hangup
;exten => ${NODE},n(hangit),Answer
;exten => ${NODE},n(hangit),Wait(1)
;exten => ${NODE},n(hangit),Hangup

I’m just not quite sure what kind of error you might get when the context is not right.
If you can’t get this to work, we will try one other thing very different.

This is what I use for the iaxrpt, you might want to use dudestar where I use gui in all… just a user/description

[gui] ;username
type = user
context = gui ; context in ext
auth = md5
secret = pass
host = dynamic
disallow = all
allow = ulaw
allow = adpcm
allow = gsm
notransfer = yes

in ext

[gui]
exten => 1951,1,rpt(1951|X)
exten => 29261,1,rpt(29261|X)
exten => 29283,1,rpt(29283|X)
exten => 29284,1,rpt(29284|X)
exten => 29285,1,rpt(29285|X)
exten => 48335,1,rpt(48335|X)