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
//! Runtime engine shared by scenarios: one baresip [`session::AgentSession`] per
//! agent, event-reduced [`state::AgentState`], audio analysis and reporting. The
//! Rhai host in [`crate::script`] drives these; this module has no scenario
//! language of its own.
pub
pub
pub
pub
pub
pub use wait_holding;
use BaresipOptions;
/// The baresip options every ringo-flow agent runs with.
///
/// SIP trace on: lets sessions recover inbound INVITE headers (for `header`
/// assertions) that the ctrl_tcp events don't expose. `aubridge` is a virtual
/// loopback audio device: scenarios need no real sound hardware, so calls
/// establish in CI/headless (unlike the auto-detected pipewire/pulse/alsa, which
/// fail to open a device and abort baresip). Player and source share the device
/// name, so aubridge couples them: the recv path is clocked (sndfile can record
/// dump-…-dec.wav) and, until a `send-audio` overrides the source, nothing is
/// injected, so a silent call stays silent — the loopback only echoes audio that
/// is actually sent. `send-audio` switches the source via `ausrc ausine,<freq>` /
/// `ausrc aufile,<path>`; those drivers only exist if their modules are loaded,
/// hence the `extra` module lines.
pub
/// How a run reports progress (set from the CLI).