#sip #voip #protocols #clients #parser #registration #helper

libsip

SIP协议实现,重点关注软电话客户端

11个版本

0.2.6 2020年7月6日
0.2.4 2020年3月7日
0.2.2 2019年12月6日
0.2.1 2019年11月19日

#9 in #voip

每月32次下载

自定义许可LGPL-3.0+

150KB
3.5K SLoC

libsip

libsip是实现SIP协议的库,如rfc3261所述。libsip旨在实现整个SIP协议的解析,但只为某些常见用例提供辅助函数。我开始开发这个库是因为我对许多Linux上的SIP客户端/库感到沮丧。

WIP 这个库仍在建设中。

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

运行示例

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

依赖项

开发

我一直在使用fusionpbx作为这个库的测试服务器。我使用桥接模式运行的VirtualBox虚拟机来模拟本地网络上的PBX服务器。到目前为止,我只能实现拨打电话、发送消息和SIP注册。

替代方案

  • parsip 仅用于解析SIP消息。我希望libsip能够处理一些特定的用例,特别是注册。
  • sip-codec 我首先尝试使用这个库,但很多功能都没有实现,比如编写SIP请求和其他一些相对常见的事情。我还希望SIP头以枚举的形式出现,这将基本上需要重写整个crate。
  • sip 这个crate看起来是空的
  • tokio-sip 这个crate看起来也是空的

依赖项

~4MB
~81K SLoC