[[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"