Skip to content
This repository has been archived by the owner on Sep 7, 2021. It is now read-only.

ByteHeathen/libsip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libsip

DEPRECIATED: Since the release of nom 6, this library fails to compile. It needs to be rewritten entirely for the new nom version.

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.

License: MIT Crates.io Docs.rs Build Status Build status

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 console

dependencies

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

Releases

No releases published

Packages

No packages published

Languages