libsip
libsip is a library implementation of the sip protocol as described in
rfc3261. libsip intends to implement
parsing the entire SIP Protocol, but will only provide helpers for certain
common use cases. I begin developing this library because i was frustrated with
many of the SIP clients / Libraries on linux.
WIP This library is still very much under construction.
Running the examples
git clone https://github.com/ByteHeathen/libsip
cd /libsip
# This example expects a server with the credentials in examples/udp_register.rs
# to be running without it will fail.
cargo run --example registration
# This example expects a server with the credentials in examples/console.rs
# to be running without it will fail. It prints all requests received to the terminal.
cargo run --example consoledependencies
Development
I've been using fusionpbx as the testing server for this library.
I use a VirtualBox virtual machine running in bridged mode to simulate a PBX server running
on my local network. At this point i have only been able to implement Placing Calls,
Sending Messages and SIP registration.
Alternatives
- parsip
Is only for parsing SIP messages. I wanted libsip to be able to handle some user case's
specifically Registration. - sip-codec
I attempted to use this library first, lots of features are not implemented like writing
sip requests and a few other fairly common things. I also wanted SIP Headers to be in the form of an enum witch would have required
basically rewriting the whole crate. - sip
This crate appears to be empty - tokio-sip
This crate also appears to be empty