#voip #sip #telephony #sipstack

bin+lib rsipstack

SIP Stack Rust library for building SIP applications

13 releases

new 0.2.3 May 23, 2025
0.2.2 May 23, 2025
0.1.9 May 15, 2025
0.1.7 Apr 30, 2025
0.1.1 Jan 16, 2025

#104 in Multimedia

Download history 3/week @ 2025-02-05 163/week @ 2025-02-26 3/week @ 2025-03-05 4/week @ 2025-03-12 128/week @ 2025-03-26 13/week @ 2025-04-02 13/week @ 2025-04-09 16/week @ 2025-04-16 188/week @ 2025-04-23 260/week @ 2025-04-30 172/week @ 2025-05-07 417/week @ 2025-05-14

1,038 downloads per month
Used in rustpbx

MIT license

725KB
6.5K SLoC

A SIP Stack written in Rust

WIP This is a work in progress and is not yet ready for production use.

A RFC 3261 compliant SIP stack written in Rust. The goal of this project is to provide a high-performance, reliable, and easy-to-use SIP stack that can be used in various scenarios.

TODO

  • Transport support
    • UDP
    • TCP
    • TLS
    • WebSocket
  • Digest Authentication
  • Transaction Layer
  • Dialog Layer
  • WASM target

Use Cases

This SIP stack can be used in various scenarios, including but not limited to:

  • Integration with WebRTC for browser-based communication, such as WebRTC SBC.
  • Building custom SIP proxies or registrars
  • Building custom SIP user agents (SIP.js alternative)

Why Rust?

We are a group of developers who are passionate about SIP and Rust. We believe that Rust is a great language for building high-performance network applications, and we want to bring the power of Rust to the SIP/WebRTC/SFU world.

How to run

# the sip phone will serve at: YOUR_NETWORK_IP:25060
cargo run --example client

Make a call to sip:YOUR_NETWORK_IP:25060 from another sip client.(e.g. linphone)

Benchmark tools

# run server
cargo run -r --bin bench_ua  -- -m server -p 5060
# run client with 1000 calls
cargo run -r  --bin bench_ua  -- -m client -p 5061 -s 127.0.0.1:5060 -c 1000

The test monitor:

=== SIP Benchmark UA Stats ===
Dialogs: 9992
Active Calls: 9983
Rejected Calls: 0
Failed Calls: 0
Total Calls: 250276
Calls/Second: 1501
============================

Dependencies

~27–41MB
~725K SLoC