Skip to content
27 changes: 21 additions & 6 deletions configs/rpt/iax.conf
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ delayreject = yes
; iaxthreadcount = 30
; iaxmaxthreadcount = 150

maxcallnumbers_nonvalidated = 10 ; Reduce the security threat of not using call tokens (iaxRpt)
; by limiting connections, adjust as reasonable for your system

; Incoming radio connections

Expand All @@ -62,29 +64,42 @@ codecpriority = host
context = radio-secure
transfer = no

[iaxrpt] ; Connect from iaxrpt Username field (PC AllStar Client)
; The (!) for the [iaxrpt](!) context indicates this is a template. As such, we can store the
; actual users to authenticate in a separate file, to keep from cluttering up iax.conf.
; The actual file used to store the users is included with the #tryinclude directive below.
[iaxrpt](!) ; Connect from iaxrpt Username field (PC AllStar Client (iaxRpt))
type = user ; Notice type is user here <---------------
context = iaxrpt ; Context to jump to in extensions.conf
auth = md5
secret = Your_Secret_Pasword_Here
host = dynamic
disallow = all
disallow = all
;allow = slin16 ; un-comment to allow high-fidelity codec (make sure to load module)
;allow = slin ; un-comment to allow high-fidelity codec (make sure to load module)
allow = ulaw
allow = adpcm
allow = gsm
transfer = no

[iaxclient] ; Connect from iax client (Zoiper...)
requirecalltoken = no ; Required for iaxRpt to connect, because it is SO old
; Source the users to authenticate from here:
#tryinclude custom/iax/iaxrpt-users.conf ; PC clients to authenticate

; The (!) for the [iaxclient](!) context indicates this is a template. As such, we can store the
; actual users to authenticate in a separate file, to keep from cluttering up iax.conf.
; The actual file used to store the users is included with the #tryinclude directive below.
[iaxclient](!) ; Connect from iax client (Zoiper,DVSwitch Mobile, etc.)
type = friend ; Notice type here is friend <--------------
context = iax-client ; Context to jump to in extensions.conf
auth = md5
secret = Your_Secret_Password_Here
host = dynamic
disallow = all
;allow = slin16 ; un-comment to allow high-fidelity codec (make sure to load module)
;allow = slin ; un-comment to allow high-fidelity codec (make sure to load module)
allow = ulaw
allow = adpcm
allow = gsm
transfer = no
; Source the users to authenticate from here:
#tryinclude custom/iax/iaxclient-users.conf ; Mobile clients to authenticate

[allstar-sys]
type = user
Expand Down
34 changes: 34 additions & 0 deletions configs/rpt/iaxclient-users.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
; We use a template so we don't have to repeat code blocks.
; To add a new DVSwitch Mobile (or Zoiper) user, just repeat the lines below:
; [<callsign>](iaxclient)
; secret=<some password>
; callerid="N0CALL"
;
; They need to authenticate with username <callsign> (the context name),
; and the password (the secret). This allows us to verify their connection/client.
;
; You can use whatever you want for the context name (username), but a callsign
; is probably a good idea. NOTE: If the user has multiple clients (ie an entry in
; this file, as well as iaxrpt-users), the context names MUST be unique. That could
; mean naming the contexts something like [<callsign>-m] and [<callsign>-p].
;
; We will then override any callerid they send us, so we specify what
; callerid ("N0CALL") to use and display publicly in allmon.
;
; Don't forget to remind users to adjust their codec settings in their client to match
; your allowed codecs for the [iaxclient] context in iax.conf, otherwise they will not
; be able to connect.
;
; The stock generic user, un-comment it and change the secret (the password)
; if you want to use the same account for all users
; Be warned, whatever the user sets their CallerID Name to in their client will be
; passed and show up in the allmon dashboard (this could be undesired). You
; can force-override that by adding a callerid line as shown below.
;[iaxclient](iaxclient)
;secret = Your_Secret_Pasword_Here

; A custom user, un-comment and set the fields as necessary
;[n0call](iaxclient) ; pull in the config from the [iaxclient] context in
;user=n0call ; iax.conf and then add this user's specific information
;secret=Your_Secret_Pasword_Here ; (user, secret, and callerid). n0call is the USERNAME in
;callerid="N0CALL" ; their client account configuration.
39 changes: 39 additions & 0 deletions configs/rpt/iaxrpt-users.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
; We use a template so we don't have to repeat code blocks.
; To add a new PC Client user, just repeat the lines below:
; [<callsign>](iaxrpt)
; secret=<some password>
; callerid="N0CALL" <0>
;
; They need to authenticate with username <callsign> (the context name),
; and the password (the secret). This allows us to verify their connection/client.
; So, users need to set the Username in iaxRpt to match the context name here
; ie. n0call and set the Password the same as the secret.
;
; You can use whatever you want for the context name (username), but a callsign
; is probably a good idea. NOTE: If the user has multiple clients (ie an entry in
; this file, as well as iaxclient-users), the context names MUST be unique. That could
; mean naming the contexts something like [<callsign>-m] and [<callsign>-p].
;
; We will then override any callerid they send us, so we specify what
; callerid ("N0CALL") to use and display publicly in allmon.
;
; Note, the callerid number MUST be <0>. This replicates what the iaxRPT client
; sends, and if it is non-0, weird things happen! Callerid name is limited to 8 char!
;
; Don't forget to remind users to adjust their codec settings in iaxRpt to match
; your allowed codecs for the [iaxrpt] context in iax.conf, otherwise they will not
; be able to connect.
;
; The stock generic user, un-comment it and change the secret (the password)
; if you want to use the same account for all users
; Be warned, whatever the user sets their CallerID Name to in iaxRpt will be
; passed and show up in the allmon dashboard (this could be undesired). You
; can force-override that by adding a callerid line as shown below.
;[iaxrpt](iaxrpt)
;secret = Your_Secret_Pasword_Here

; A custom user, un-comment and set the fields as necessary
;[n0call](iaxrpt) ; pull in the config from the [iaxrpt] context in
;user=n0call ; iax.conf and then add this user's specific information
;secret=Some_Secret_Pasword_Here ; (user, secret, and callerid). n0call is the USERNAME in
;callerid="N0CALL" <0> ; the iaxRPT client account configuration.