Presentation is loading. Please wait.

Presentation is loading. Please wait.

IRLP Remote Node Control

Similar presentations


Presentation on theme: "IRLP Remote Node Control"— Presentation transcript:

1 IRLP Remote Node Control
2007 VoIP Conference Las Vegas, NV Jim – K6JWN / Bill – W6CBS

2 What will be covered here…
What is it? What makes up RNC?? lcSrv Security lcClient lcHandOff custom_decode entries How it all works together Follow along.. Demo (If possible) Future Plans

3 What is it? Set of scripts (client and server) that allow a node to be controlled from a mobile user entering DTMF on their local repeater (as long as there is an IRLP node attached and is running the client on their side) For Example, a mobile user in San Francisco can control a node/repeater set 100 miles away through the internet. I can control a repeater in Hawaii from the comfort of my chair! Commands are sent over the internet to the remote node Remote node processes DTMF locally (using decode) or generates the DTMF (dtmfdial) Uses are endless, you can use it to control remote bases, remote IRLP nodes, remote repeater controllers, etc.

4 What makes up RNC?? RNC uses a set of perl scripts, a few client side scripts and a single server side script. lcSrv lcClient lcHandOff custom_decode entries

5 lcSrv Server side listener, accepts connections on TCP port 7070, runs under repeater user Requires a new port forward entry for those nodes behind a router OPEN TO THE PUBLIC!! Processes incoming commands and then takes care of executing the decode or dtmfdial command.

6 lcSrv Security lcSrv listens on a public TCP port for connections, (7070) Runs under user repeater Once a connection is established, the process does 3 things Checks the remote IP address against the host file to see if it’s an IRLP IP. If it’s not matched, the connection is immediately closed If the IP is matched, it then looks up the IP to get the stnxxxx id The stnxxx id is verified against an authorizedNodes file to make sure it’s able to send commands, if the node isn’t found, the connection is immediately closed

7 lcSrv Security (con’t)
Once we have the connection and all the checks are passed, we then do some processing on the command to make sure it’s valid (and prevents the program from allowing anything to be run on your node – root hacks, shell access, etc) The command is checked to make sure there are valid DTMF characters, 0-9, A-D, S (*) and P (#). If illegal characters are found, the connection is closed.

8 lcClient Runs on the client node, takes user DTMF and passes it along for processing. Maintains a list of prefix->IRLP matches Ex: Prefix 123 maps to stn3598 Any commands that start with 123 will be directed to stn3598 for processing (123S73 would tell node 3598 to disconnect) Commands are sent directly to the remote nodes. You can assign repeater prefixes to allow this package to send commands to remote repeaters.

9 lcHandOff Takes input from the user entered DTMF and then sends it to lcClient in a multiple argument command. Ex: User enters 123S73 lcHandOff sends 123S 73 to lcClient lcClient matches 123S to node 3598 and sends decode 73 towards that node. We’ll go over that a bit more in the example.

10 custom_decode entries
Here is a quick example on how to set up your custom_decode for RNC. 123P*) # Regenerate DTMF via Node 3598 ${CUSTOM}/lcHandOff $1 exit 1 ;; 123S*) # Send IRLP Decode via Node 3598 Create other entries for nodes you want to capture.

11 custom_decode entries
Bovine Network uses: IDS<cmd> – Always used for IRLP node decoding IDP<cmd> – Always used for repeater controlling – the repeater’s prefix is appended when the command it sent out ID0<cmd> – Always used for DTMF regeneration (for attached Echolink Nodes, or anything attached that can be controlled without a prefix)

12 How it all works together
Mobile user keys up to their node and enters 123*73 on the repeater attached to node 1234 The command 123S73 is sent off to lcHandOff lcHandOff takes 123S73 and sends it to lcClient as 123S 73 lcClient looks up 123S using its built in prefix to node map lcClient find that 123S matches node 3598 lcClient then sends decode 73 to the lcSrv process running on Node 3598 Node 3598 looks up the IP address and sees that it’s coming from node 1234 Node 3598 disconnects from whatever its connected to.

13 How it all works together (con’t)
Mobile user keys up to their node and enters 123PABC on the repeater attached to node 1234 The command 123PABC is sent off to lcHandOff lcHandOff takes 123PABC and sends it to lcClient as 123P ABC lcClient looks up 123P using its built in prefix to node map lcClient find that 123P matches node 3598 and the repeater attached to node 3598 has a preaccess of 456 lcClient then sends dtmfdial 456PABC to the lcSrv process running on Node 3598 Node 3598 looks up the IP address and sees that it’s coming from node 1234 Node 3598 then uses dtmfdial to send 456PABC to the repeater attached and the controller sends the temperature.

14 Demonstration

15 Future Plans The function of lcHandoff will be integrated into lcClient Command string sent to lcSrv will be limited to prevent the ability to send buffer overruns (another security feature) Whatever Bill needs to help him support the network and allow him to maintain things from the comfort of his home.


Download ppt "IRLP Remote Node Control"

Similar presentations


Ads by Google