rustpbx 0.3.15

A SIP PBX implementation in Rust
Documentation
[[bin]]
name = "perfcli"
path = "src/bin/perfcli.rs"
required-features = ["perfcli-bin"]

[[bin]]
name = "rustpbx"
path = "src/bin/rustpbx.rs"

[[bin]]
name = "text2wav"
path = "src/bin/text2wav.rs"
required-features = ["text2wav-bin"]

[[bin]]
name = "wav2text"
path = "src/bin/wav2text.rs"
required-features = ["wav2text-bin"]

[dependencies.anyhow]
version = "1.0.100"

[dependencies.argon2]
features = ["password-hash"]
version = "0.5.3"

[dependencies.async-openai]
version = "0.30.0"

[dependencies.async-stream]
version = "0.3.6"

[dependencies.async-trait]
version = "0.1.88"

[dependencies.axum]
features = ["ws", "tokio"]
version = "0.8.6"

[dependencies.base64]
version = "0.22.1"

[dependencies.byteorder]
version = "1.5.0"

[dependencies.bytes]
version = "1.10.1"

[dependencies.chrono]
features = ["serde"]
version = "0.4.41"

[dependencies.clap]
features = ["derive"]
version = "4.5.49"

[dependencies.console-subscriber]
version = "0.4.1"

[dependencies.cpal]
version = "0.16.0"

[dependencies.crc32fast]
version = "1.5.0"

[dependencies.dotenv]
version = "0.15"

[dependencies.futures]
version = "0.3.31"

[dependencies.g729-sys]
optional = true
version = "0.1.0"

[dependencies.get_if_addrs]
version = "0.5.3"

[dependencies.glob]
version = "0.3.1"

[dependencies.hex]
version = "0.4.3"

[dependencies.hmac]
version = "0.12"

[dependencies.hound]
version = "3.5.1"

[dependencies.http]
version = "1.3.1"

[dependencies.humantime]
version = "2"

[dependencies.ipnetwork]
version = "0.21.1"

[dependencies.lru]
version = "0.16.2"

[dependencies.md-5]
version = "0.10.6"

[dependencies.minijinja]
features = ["loader", "json"]
optional = true
version = "2.0.1"

[dependencies.ndarray]
version = "0.16.1"

[dependencies.nnnoiseless]
features = ["default"]
version = "0.5"

[dependencies.object_store]
features = ["aws", "azure", "gcp"]
version = "0.12.4"

[dependencies.once_cell]
version = "1.21.3"

[dependencies.opus]
optional = true
version = "0.3"

[dependencies.ort]
features = ["ndarray"]
optional = true
version = "2.0.0-rc.10"

[dependencies.ort-sys]
optional = true
version = "2.0.0-rc.10"

[dependencies.rand]
version = "0.9.2"

[dependencies.regex]
version = "1.12.2"

[dependencies.reqwest]
features = ["json", "stream", "rustls-tls", "multipart"]
version = "0.12.24"

[dependencies.ring]
version = "0.17.14"

[dependencies.rmp3]
version = "0.3"

[dependencies.rsip]
version = "0.4.0"

[dependencies.rsipstack]
version = "0.2.87"

[dependencies.rubato]
version = "0.16.2"

[dependencies.rustls]
features = ["ring"]
version = "0.23.33"

[dependencies.sea-orm]
features = ["runtime-tokio-rustls", "sqlx-sqlite"]
version = "1.1.17"

[dependencies.sea-orm-migration]
version = "1.1.17"

[dependencies.serde]
features = ["derive"]
version = "1.0.228"

[dependencies.serde_json]
version = "1.0.143"

[dependencies.serde_with]
version = "3"

[dependencies.sha1]
version = "0.10.6"

[dependencies.sha2]
version = "0.10"

[dependencies.sqlx]
features = ["runtime-tokio-rustls", "postgres", "sqlite", "mysql", "any"]
version = "0.8.6"

[dependencies.tempfile]
version = "3.23.0"

[dependencies.tokio]
features = ["full", "tracing"]
version = "1.47.1"

[dependencies.tokio-stream]
features = ["net", "sync"]
version = "0.1.17"

[dependencies.tokio-tungstenite]
features = ["rustls-tls-native-roots"]
version = "0.28.0"

[dependencies.tokio-util]
version = "0.7.16"

[dependencies.toml]
version = "0.9.8"

[dependencies.toml_edit]
version = "0.22"

[dependencies.tower-http]
features = ["fs", "cors"]
version = "0.6.2"

[dependencies.tracing]
version = "0.1.41"

[dependencies.tracing-appender]
version = "0.2"

[dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3.19"

[dependencies.unic-emoji]
version = "0.9.0"

[dependencies.url]
version = "2.5.7"

[dependencies.urlencoding]
version = "2.1.3"

[dependencies.uuid]
features = ["v4"]
version = "1.18.1"

[dependencies.webrtc]
version = "0.14.0"

[dependencies.webrtc-vad]
optional = true
version = "0.4.0"

[dev-dependencies.mockall]
version = "0.13.1"

[dev-dependencies.portpicker]
version = "0.1.1"

[dev-dependencies.tempfile]
version = "3.8"

[dev-dependencies.tokio-test]
version = "0.4"

[dev-dependencies.warp]
features = ["server", "websocket"]
version = "0.4.1"

[[example]]
name = "voice-demo"
path = "examples/voice_demo.rs"

[features]
console = ["dep:minijinja"]
default = ["vad_webrtc", "vad_silero", "vad_ten", "opus", "g729", "console"]
g729 = ["dep:g729-sys"]
not_vad = []
opus = ["dep:opus"]
perfcli-bin = []
text2wav-bin = []
vad_silero = ["ort", "ort-sys"]
vad_ten = ["ort", "ort-sys"]
vad_webrtc = ["webrtc-vad"]
wav2text-bin = []

[lib]
name = "rustpbx"
path = "src/lib.rs"

[package]
authors = ["jinti<shenjindi@fourz.cn>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["network-programming", "multimedia"]
description = "A SIP PBX implementation in Rust"
edition = "2024"
keywords = ["sip", "voip", "telephony", "pbx", "webrtc"]
license = "MIT"
name = "rustpbx"
readme = "README.md"
repository = "https://github.com/restsend/rustpbx"
version = "0.3.15"