Repolode
fonoster

fonoster/routr

A programmable, cloud-native SIP server that acts as a proxy, registrar and location service for telephony carriers and integrators.

Stars
1,729
Forks
186
Open issues
0
Last commit
5 hours ago

What is it?

Routr is a SIP proxy, location server and registrar aimed at telephony carriers, communication service providers and integrators. It handles SIP registration and call routing, with programmable routing strategies across intra-domain, domain ingress/egress and peer egress paths, plus load balancing toward media servers such as Asterisk and FreeSWITCH.

The server supports multi-tenant, multi-domain setups with domain-level access control lists. Transports include TCP, UDP, TLS, WS and WSS, and location data can be stored in memory, Redis, JSON/YAML files or Postgres. Management is exposed through a gRPC API, a command-line tool (@routr/ctl) and a Node.js SDK.

Routr can be deployed with Docker Compose or installed on Kubernetes via a Helm chart. It is extensible through custom Processors and Middleware written in Node.js, and includes RTPEngine middleware, JWT authentication for web phones and OpenTelemetry instrumentation.

Key features

  • 01Proxy, registrar and location service for SIP signaling
  • 02Programmable routing with domain-level ingress, egress and peer policies
  • 03Transports over TCP, UDP, TLS, WebSocket and secure WebSocket
  • 04Location storage in memory, Redis or Postgres
  • 05Multi-tenant domains with access control lists
  • 06Management via gRPC API, CLI and Node.js SDK

Use cases

  • Running a carrier-grade or cloud-hosted SIP routing layer in front of Asterisk or FreeSWITCH
  • Building a VoIP or CPaaS platform that needs programmable call routing
  • Deploying a SIP server on Kubernetes with Helm
  • Adding custom call-handling logic through Node.js processors

Quick start

  1. 1

    Create a directory named routr and add the compose.yaml file from the README

  2. 2

    Start the server with Docker Compose (replace the IP address with your own)

    DOCKER_HOST_ADDRESS=192.168.1.3 docker compose up

Things to know

  • Region-based routing and STIR/SHAKEN support are not yet implemented.
  • The Web Application feature is listed as not yet available.

Topics

FAQ

What is routr?
A programmable, cloud-native SIP server that acts as a proxy, registrar and location service for telephony carriers and integrators. Routr is a SIP proxy, location server and registrar aimed at telephony carriers, communication service providers and integrators. It handles SIP registration and call routing, with programmable routing strategies across intra-domain, domain ingress/egress and peer egress paths, plus load balancing toward media servers such as Asterisk and FreeSWITCH.
Is routr free to use? What license does it have?
routr is open source under the MIT license. Check the license terms before using it in commercial products.
Is routr still maintained?
Actively maintained. The last commit to routr was on Nov 7, 2026.
What can I use routr for?
Running a carrier-grade or cloud-hosted SIP routing layer in front of Asterisk or FreeSWITCH Building a VoIP or CPaaS platform that needs programmable call routing Deploying a SIP server on Kubernetes with Helm Adding custom call-handling logic through Node.js processors
How do I install routr?
Create a directory named routr and add the compose.yaml file from the README Start the server with Docker Compose (replace the IP address with your own): DOCKER_HOST_ADDRESS=192.168.1.3 docker compose up
Where can I get routr?
The source code and installation instructions are on GitHub: https://github.com/fonoster/routr

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects