Skip to content

baresip/restund

Folders and files

NameName
Last commit message
Last commit date

Latest commit

db7a02c · May 22, 2024

History

53 Commits
Sep 7, 2023
Sep 10, 2023
Aug 2, 2022
Mar 12, 2021
Jul 26, 2018
Feb 1, 2024
Sep 7, 2023
Jul 26, 2018
Sep 7, 2023
Sep 12, 2023
Sep 10, 2023
May 22, 2024
Sep 10, 2023
Mar 12, 2021

Repository files navigation

Restund

restund - modular STUN/TURN server

Distributed under BSD-3-Clause license

Design goals:

  • Modular STUN/TURN server
  • STUN and TURN support
  • IPv4 and IPv6 support
  • UDP, TCP, TLS and DTLS transport support
  • RFC-compliancy
  • Robust, fast, low footprint
  • Portable C99 and C11 source code

Modular Plugin Architecture:

  • STUN messages: auth binding stat turn
  • Database backend: mysql_ser filedb restauth
  • Server status: status
  • Logging: syslog

IETF RFCs:

  • RFC 5389 - Session Traversal Utilities for NAT (STUN)
  • RFC 5766 - Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)
  • RFC 5780 - NAT Behavior Discovery Using Session Traversal Utilities for NAT (STUN)
  • RFC 6156 - Traversal Using Relays around NAT (TURN) Extension for IPv6
  • RFC 7350 - DTLS as Transport for STUN
  • draft-uberti-behave-turn-rest-00

Building

git clone https://github.com/baresip/re
cd re && cmake -B build && cmake --build build -j
cd ..

git clone https://github.com/baresip/restund
cd restund && cmake -B build && cmake --build build -j

Define modules and static build

cmake -B build -DMODULES="stat;binding;auth;turn;filedb;syslog;status" -DSTATIC=1
cmake --build build -j

Run restund

build/restund -f etc/restund.conf -n -d

See docs for more information.