2.9.3. Paging

DAPNet server makes use of a TCP connection between the hotspots and server, however that doesn’t really scale well so for the RAYNET Paging system we’ve defined a new protocol using UDP. This protocol is very light weight on both sides.

Below is the basic authentication and PING/PONG response between the hotspot and server. The PING/PONG is used to make sure any firewalls and routers remember the UDP path between the two.

@startuml
Client -> Server : PING
note left: Attempt to checkin with Server
Server -> Client : LOGNAK
note right: If IP/PORT does not match expected send LOGNAK to request auth
Client -> Server : PLON
note left: Request login for ID
Server -> Client : PSALT
note right: Return a random Salt
Client -> Server : PLOK
note left: send ID and password encrypted with SALT
Client <- Server : LOGACK
note right: IF auth valid return LOGACK, if not valid send LOGNAK
Client -> Server : PING
note left: ping server
Server -> Client : PONG
note right: client is valid and IP / port match expectations
@enduml

A paging message is sent via this UDP path as byte stream starting with “PAGE” followed by the message syntax.

  • type (5, timesync, 6, text message)

  • speed (message speed 1 - 1200)

  • RIC (Paging code)

  • Fucntion (function bit or sub RIC)

  • text message (Text message)