forked from miuda-ai/active-call
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
125 lines (119 loc) · 3.27 KB
/
Cargo.toml
File metadata and controls
125 lines (119 loc) · 3.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
[package]
name = "active-call"
version = "0.3.51"
edition = "2024"
authors = ["jinti<shenjindi@fourz.cn>"]
description = "A SIP/WebRTC voice agent"
license = "MIT"
repository = "https://github.com/miuda-ai/active-call"
readme = "README.md"
keywords = ["sip", "voip", "telephony", "voice-agent", "webrtc"]
categories = ["network-programming", "multimedia"]
[features]
default = ["opus", "offline"]
opus = ["dep:opusic-sys"]
offline = [
"dep:symphonia",
"dep:knf-rs-sys",
"dep:ort",
"dep:hf-hub",
"dep:ndarray",
]
cross = ["opus", "offline", "aws-lc-rs/bindgen"]
not_vad = []
[dependencies]
libc = "0.2"
opusic-sys = { version = "0.6.0", optional = true }
audio-codec = { version = "0.3.30", features = ["opus"] }
#rustrtc = { path = "../rustrtc" }
rustrtc = "0.3.30"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
minijinja = { version = "2.17.1", features = ["loader", "json"] }
anyhow = "1"
arc-swap = "1.8.2"
async-trait = "0.1.88"
async-stream = "0.3.6"
axum = { version = "0.8.7", features = ["ws", "tokio", "multipart"] }
tower-http = { version = "0.6.2", features = ["fs", "trace"] }
bytes = "1"
futures = "0.3.32"
rustls = "0.23.37"
dotenvy = "0.15.7"
clap = { version = "4.6.0", features = ["derive"] }
chrono = { version = "0.4.44", features = ["serde"] }
tokio = { version = "1.50.0", features = ["full", "tracing"] }
tokio-stream = { version = "0.1.18", features = ["net", "sync"] }
tokio-tungstenite = { version = "0.29.0", features = [
"rustls-tls-native-roots",
] }
tokio-util = "0.7.18"
tracing = "0.1.43"
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
tracing-appender = "0.2.4"
toml = "0.9.8"
rsipstack = "0.5.0"
#rsipstack = { path = "../rsipstack" }
uuid = { version = "1.23.0", features = ["v4"] }
reqwest = { version = "0.13.2", features = [
"json",
"stream",
"rustls",
"multipart",
"form",
"query",
"gzip",
] }
object_store = { version = "0.13.2", features = ["aws", "azure", "gcp"] }
serde_with = "3.18.0"
rand = "0.10.0"
humantime = "2.1.0"
lru = "0.16.3"
md5 = { package = "md-5", version = "0.11.0" }
sha2 = "0.11.0"
serde_yaml = "0.9.33"
regex = "1.12.3"
once_cell = "1.21.4"
hex = "0.4.3"
nnnoiseless = "0.5.2"
hound = "3.5.1"
get_if_addrs = "0.5.3"
http = "1.4.0"
urlencoding = "2.1.3"
base64 = "0.22.1"
url = "2.5.8"
unic-emoji = "0.9.0"
socket2 = { version = "0.6.3", features = ["all"] }
realfft = "3.3"
rmp3 = "0.3"
tempfile = "3.27.0"
aws-lc-rs = "1"
# Math / arrays (keep in sync with ort 2.0.0-rc.10 -> ndarray 0.16)
ndarray = { version = "0.16.1", optional = true }
rustfft = "6.2"
num-complex = "0.4"
hf-hub = { version = "0.5.0", default-features = false, features = [
"rustls-tls",
"tokio",
"ureq",
], optional = true }
ort = { version = "=2.0.0-rc.11", default-features = false, features = [
"std",
"ndarray",
"tls-rustls",
"load-dynamic",
], optional = true }
knf-rs-sys = { version = "0.3.2", optional = true }
# Audio processing for offline
symphonia = { version = "0.5", optional = true, features = ["all"] }
unicode-normalization = "0.1"
rand_distr = "0.6.0"
num_cpus = "1.16"
[dev-dependencies]
tempfile = "3.23.0"
warp = { version = "0.4.1", features = ["server", "websocket"] }
tokio-test = "0.4.5"
mockall = "0.14.0"
portpicker = "0.1.1"
dotenvy = "0.15.7"
wiremock = "0.6"