Changes

Jump to navigation Jump to search
m
no edit summary
Line 1: Line 1: −
Occasionally it becomes necessary to limit connections to your node. With this configuration you can either blacklist (block) or whitelist (allow) inbound connections. Outbound connections are not blocked. The lists are managed with these Asterisk CLI commands:
+
Occasionally it becomes necessary to limit connections to your node. With this configuration you can either blacklist (block) or whitelist (allow) inbound connections. Outbound connections are not blocked. Only one list can be used at a same time and it applies to all nodes on the server. If using the whitelist all nodes on the local server (127.0.0.1) are allowed. The lists are managed with these Asterisk CLI commands:
    
* Blacklist
 
* Blacklist
Line 12: Line 12:  
** <code>*CLI> database show</code>
 
** <code>*CLI> database show</code>
   −
''Note'': WA3DSP [https://hamvoip.org/downloads/node-ban-allow.sh menu script] for above commands.  
+
''Note'': WA3DSP wrote a [https://hamvoip.org/downloads/node-ban-allow.sh menu script] for the above commands.  
    
==Blacklist Configuration==
 
==Blacklist Configuration==
Line 56: Line 56:  
</pre>
 
</pre>
   −
''Note'': Only one list can be used at a same time and it applies to all nodes on the server. If using the whitelist all nodes on the local server (127.0.0.1) are allowed.
+
== Web Portal ==
 +
If you want to have a blacklist for the web portal users you will need to modify the [pttlink-public] context in extentions.conf
 +
 
 +
<pre>
 +
[pttlink-public]
 +
 
 +
exten => s,1,Ringing
 +
exten => s,n,Set(RESP=${CURL(https://register.pttlink.org/cgi-bin/authwebphone.pl?${CALLERID(name)})})
 +
exten => s,n,Set(NODENUM=${CALLERID(number)})
 +
exten => s,n,GotoIf($["${RESP:0:1}" = "?"]?hangit)
 +
exten => s,n,GotoIf($["${RESP:0:1}" = ""]?hangit)
 +
exten => s,n,GotoIf($["${RESP:0:5}" != "OHYES"]?hangit)
 +
exten => s,n,Set(CALLSIGN=${RESP:5})
 +
exten => s,n,Wait(3)
 +
exten => s,n,Playback(rpt/node|noanswer)
 +
exten => s,n,Saydigits(${NODENUM})
 +
exten => s,n,Set(CALLERID(name)=${CALLSIGN})
 +
exten => s,n,Set(CALLERID(num)=0)
 +
exten => s,n,GotoIf($[${DB_EXISTS(blacklist/${CALLERID(name)})}]?blacklisted)
 +
exten => s,n,Rpt(${NODENUM}|X)
 +
exten => s,n,Hangup
 +
exten => s,n(hangit),Answer
 +
exten => s,n(hangit),Wait(1)
 +
exten => s,n(hangit),Hangup
 +
exten => s,n(blacklisted),Playback(privacy-you-are-blacklisted)
 +
exten => s,n(blacklisted),Playback(goodbye)
 +
exten => s,n(blacklisted),Wait(1)
 +
exten => s,n(blacklisted),Hangup
 +
</pre>
 +
Whitelist is not implemented here, but it should be easy to do
 +
 
 +
 
 +
To block a web-portal user you will need to add the callsign in capital letters to the blacklist.
 +
* <code>*CLI> database put blacklist KM6RPT "no comment"</code>
 +
 
 +
 
    
[[Category:How to]]
 
[[Category:How to]]
 
[[Category:Node Configuration]]
 
[[Category:Node Configuration]]

Navigation menu