IPSC3 is an operational, Rust-based DMR routing and network-services platform created by Matt Perkins, VK2FLY. It began as the next-generation core for VKDMR and now supports independent IPSC3 networks in Australia, New Zealand, the United Kingdom, and the United States.
The platform brings Motorola IPSC repeaters, MMDVM/Homebrew repeaters, supported Hytera deployments, simplex and duplex hotspots, cellular POC radios, and external network trunks into one policy-driven system. Its aim is predictable radio behaviour: one active talkgroup per endpoint timeslot, reliable dynamic linking, endpoint-aware fanout, private-call roaming, and useful voice feedback when the network changes state.
Participating servers can federate through the native IPSC3 Master Exchange. Each server keeps its own talkgroups, timeslots, users, and operating policy, while explicitly selected voice, private calls, SMS, presence, and position data can move between networks without exposing one server's internal database or endpoint credentials.
| Area | Current Capability |
|---|---|
| Core | Rust radio daemon with bounded in-memory stream state, endpoint-aware routing, and background workers for slow operations. |
| Radio endpoints | Motorola IPSC, provisioned MMDVM/Homebrew, supported Hytera connections, simplex and duplex MMDVM hotspots, and cellular POC clients. |
| Network links | MMDVM, OpenBridge/FreeDMR, bMaster+, YSF V/D Mode 2, and authenticated IPSC3 Master Exchange trunks. |
| User services | Group voice, dynamic linking, TG777 scan, TG9990 Parrot, private calls, durable SMS, GPS/APRS, roaming, and optional SMS AI. |
| Operator tools | Web dashboard and CMS, terminal and Qt clients, maps, statistics, monitoring, downloads, public APIs, and migration proxies. |
| Discovery | api.ipsc3.net publishes the current IPSC3 server directory and connection information. |
The public directory currently lists four operational IPSC3 servers. Their talkgroup catalogues and selected services may be shared through the master, but each network remains independently configured and administered.
| Network | Dashboard | Local Call Channel |
|---|---|---|
| VKDMR, Australia | ipsc3.vkdmr.com | TG505 |
| IPSC3 ZL, New Zealand | zl.ipsc3.net | TG530 |
| IPSC3 UK | uk.ipsc3.net | TG235 |
| IPSC3 US | us.ipsc3.net | TG3100 |
Clients should use the master server directory rather than embedding a single network address. The configured static call channel is also announced to POC clients as that server's default channel.
| Service | Behaviour |
|---|---|
| Dynamic linking | A user selects a dynamic talkgroup by transmitting on it. The endpoint remains camped until inactivity or an explicit unlink. |
| Scan, TG777 / TS1 | Follows eligible network activity on one predictable radio channel, supports reply to the current talkgroup, and honours per-hotspot ScanInclude and ScanExclude policy. |
| Hangup, TG400 | Cancels the current dynamic camp or scan state without creating normal network voice traffic. |
| Parrot, TG9990 | Works as a group or private call, plays the recording back once, reads the caller's callsign phonetically, and can report peak, RMS, level, and clipping measurements. |
| Private calls | Routes directly to the last valid repeater, hotspot, POC client, or participating remote IPSC3 server. Unavailable callers receive bounded, asynchronous voice feedback. |
| SMS/TMS | Supports DMR and POC text messaging, same-endpoint pass-through, cross-endpoint routing, durable store-and-forward, staged retry, acknowledgement tracking, and configurable expiry. |
| Data service, ID9998 | Receives configured GPS and SMS data. An optional isolated AI worker can answer SMS questions using approved network, RadioID, call-history, and CMS context. |
IPSC3 uses signalling and data reports to maintain roaming without requiring users to kerchunk a busy call channel. Slow decoding, storage, APRS-IS delivery, AI requests, and historical writes are kept outside the live voice packet loops.
| Mechanism | Current Use |
|---|---|
| Motorola ARS | Presence and roaming leases, radio-check probing, immediate logout handling, and scheduling of supported data requests. |
| Motorola LRRP | Scheduled and registration-time GPS polling, response decoding, map history, and APRS-IS forwarding of valid fixes. |
| Motorola BMS/XCMP | Battery-service discovery and available identification/status metadata, shown in protected operator views. |
| Motorola/AnyTone SMS | Inbound acknowledgement, radio-to-radio delivery, dashboard send, bulk operator messaging, durable retry, and SMS AI access. |
| AnyTone and TYT GPS | Private-data NMEA and compact GPS decoding from supported radios on repeater and hotspot paths. |
| OpenGD77 GPS-TA | In-band Talker Alias position decoding on supported paths, with radio-type indication in roaming views. |
| POC location | GPS, Android network fixes, and privacy-preserving indoor Wi-Fi-cache estimates without sending SSIDs or MAC addresses to the server. |
Position reports are sanity-checked against the receiving repeater or known hotspot location where applicable. Valid positions are retained historically, displayed on the map and roaming views, and may be forwarded to APRS-IS with rate limiting. Invalid or zero coordinates can still maintain roaming without polluting the public map.
IPSC3-POC is a separate cellular push-to-talk service integrated at the edge of the DMR network. It uses a persistent JSON control channel and NAT-safe UDP/RTP PCMU audio. Codec work is handled by a separate vocoder service, so mobile-network jitter and AMBE conversion do not execute inside the IPSC3 DMR packet listeners.
LOSS state.See the IPSC3 POC client guide, gateway architecture, and client protocol for implementation details and current release status.
The implemented I3MX/1 IPSC3 Master Exchange links approved
IPSC3 servers over authenticated QUIC and TLS 1.3. DMR timeslots remain local:
servers advertise namespaced channels, explicitly subscribe to remote
channels, and map them to local talkgroups and timeslots at their own edge.
Runtime state is visible on the read-only IPSC3 Master dashboard. The full wire and routing model is documented in the IPSC3 Master Exchange protocol.
ipsc3-monitor checks the dashboard, IPSC3 daemon heartbeat, MMDVM listener heartbeat, POC service, MySQL, system load, disk space, and provisioned repeaters.| Section | Start Here |
|---|---|
| Project overview | Feature set, runtime architecture, health monitoring, and versions and releases. |
| Clients | Client index, IPSC3view, IPSC3qt, IPSC3 POC, and IPSC3 POC Stream. |
| APIs and protocols | API index, dashboard API, POC protocol, master exchange, and RadioID.net feed draft. |
| DMR operation | DMR documentation index, routing behaviour, hotspot configuration, and GPS setup. |
| DMR data | Data protocol index, ARS, LRRP, SMS/TMS, and APRS over DMR. |
| Audio and prompts | Voice prompts, Parrot audio reports, and test frames. |
| Planning and policy | Roadmap, transport refactor, and legal and use notice. |
IPSC3 is developed for non-commercial amateur-radio use. Third-party protocols, trademarks, patents, codecs, and copyrights remain the property of their respective holders. See the legal and use notice for details.