The RTC Reference Tool is the SWAP v1 reference implementation of TS 26.113 clause 13.2.4: a Node.js signalling server and a client library for the signalling reference point RTC-4s. It is audited on the main branch of rt-3gpp-swap (2026-10-21). The RTC AF, the Media Session Handler, the ICE function and the other RTC AS functions are not part of it.
Implemented: the SWAP signalling over WebSocket at /3gpp-swap/v1 with the 3gpp.SWAP.v1 subprotocol; connect, accept, reject, update, close and application messages; matching criteria and endpoint selection; optional integrity and encryption of messages.
Needs fix:
The server defaults to plain ws, where the specification requires wss; the client allows ws when its secure option is false.
Errors are sent as a SWAP response whose description joins the Problem Details title and detail, not as a Problem Details object.
A message to an endpoint that never registered is acknowledged, not answered with an error.
On a received close the client does not send the accept itself.
The reference to the request in a reject is optional.
The server prefers the endpoint with the most matching criteria and picks at random only among ties.
Not implemented: handling of the Service Access Information and swapEndpoints, processing criteria, checking the application message type, and a client that listens for point-to-point connections.
Not shown: cases that depend on the WebSocket library's own behaviour, which is not part of the repository.
Open a feature, then a requirement, to see each case and why. Filter by component, profile and release.
Real-time Media Communication (RTC) Architecture.
SWAP server (SWAP server (WebRTC Signalling Function of the RTC AS, RTC-4s)): rt-3gpp-swap.
SWAP client (SWAP client library (signalling side of an RTC endpoint, RTC-4s)): rt-3gpp-swap.
RTC AF (RTC AF (Provisioning, Configuration and Network Support Functions; none exists)): .
RTC MSH (RTC Media Session Handler (none exists)): .
ICE (ICE Function, STUN and TURN (none exists)): .
RTC AS (Other RTC AS functions: Media, Application-supporting Web, Transport Gateway, Interworking (none exists)): .
Source: code read against every statement of the specifications on the project page; statements a component cannot meet by construction marked absent by group, 2026-10-21.
Not shown: 3 further cases (a specification or code outside the audit that could not be read).
3GPP release
105 of 124 implemented · 11 differ · 8 absentcases, over 41 requirements
✓ Implemented≠ Differs from the specification– Absent? Specification inconsistent: its text and its OpenAPI or tables disagreei Noted: observed, not a verdict against a clauseSWAP signalling79 of 91 implemented · 7 differ · 5 absent
SWAP / Protocol and version identificationSWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap1 of 1 implemented
SWAP / TransportSWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap2 of 2 implemented
Common message fields / Source (source)SWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap5 of 5 implemented
Common message fields / Message Identifier (messge_id)SWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap3 of 3 implemented
Common message fields / Message Type (message_type)SWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap1 of 1 implemented
Register message / ParametersSWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap2 of 3 implemented · 1 differs
Response message / DescriptionSWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap5 of 6 implemented · 1 differs
Response message / ParametersSWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap1 of 1 implemented
Update message / DescriptionSWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap4 of 4 implemented
Close message / DescriptionSWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap2 of 2 implemented
Application message / DescriptionSWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap1 of 1 implemented
SWAP / Integrity and securitySWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap4 of 4 implemented
SWAP / Protocol operationSWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap7 of 8 implemented · 1 differs
Procedures for media content and signalling transport / Signalling (RTC-4s) proceduresSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap0 of 1 implemented · 1 absent
SWAP / Protocol and version identificationSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap2 of 2 implemented
SWAP / TransportSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap2 of 3 implemented · 1 absent
SWAP / State machineSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap1 of 1 implemented
Common message fields / Source (source)SWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap4 of 4 implemented
Common message fields / Message Identifier (messge_id)SWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap3 of 3 implemented
Common message fields / Message Type (message_type)SWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap1 of 1 implemented
Register message / DescriptionSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap1 of 1 implemented
Register message / ParametersSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap2 of 3 implemented · 1 absent
Connect message / DescriptionSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap2 of 2 implemented
Connect message / ParametersSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap1 of 1 implemented
Accept message / DescriptionSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap3 of 4 implemented · 1 differs
Accept message / ParametersSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap1 of 1 implemented
Update message / DescriptionSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap5 of 5 implemented
Reject message / DescriptionSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap1 of 3 implemented · 2 differ
Close message / DescriptionSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap2 of 3 implemented · 1 differs
Application message / DescriptionSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap2 of 3 implemented · 1 absent
Application message / ParametersSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap0 of 1 implemented · 1 absent
SWAP / Integrity and securitySWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap4 of 4 implemented
SWAP / Protocol operationSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap4 of 4 implemented
ICE and signalling configuration0 of 2 implemented · 2 absent
WebRTC signalling protocol / WebSocket URI structureSWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap0 of 1 implemented · 1 absent
WebRTC signalling protocol / WebSocket URI structureSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap0 of 1 implemented · 1 absent
General26 of 31 implemented · 4 differ · 1 absent
WebRTC signalling protocol / Protocol and version identificationSWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap3 of 3 implemented
WebRTC signalling protocol / WebSocket URI structureSWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap8 of 11 implemented · 2 differ · 1 absent
WebRTC signalling protocol / Protocol and version identificationSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap3 of 4 implemented · 1 differs
WebRTC signalling protocol / WebSocket URI structureSWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap10 of 11 implemented · 1 differs
Media-centric transport interface (RTC-4, RTC-12) / Signalling exchange (RTC-4s)SWAP client · Real-time Media Communication (RTC) Architecturert-3gpp-swap1 of 1 implemented
Media-centric transport interface (RTC-4, RTC-12) / Signalling exchange (RTC-4s)SWAP server · Real-time Media Communication (RTC) Architecturert-3gpp-swap1 of 1 implemented
Full audit for members
The full audit, with the code behind each verdict, is available to 5G-MAG members through Developer Tools.