9.6 KiB
9.6 KiB
Nonproduction native Asterisk user service — 2026-10-03
This is nonproduction host and isolated-Mock channel evidence, not carrier trunk, outbound-call, external SaaS, or production acceptance. The test host's address and raw logs are omitted from committed evidence.
- Fresh Debian 13 amd64 host, root directory mode
0755 root:root(read-only inspection). - Native Asterisk 22.10.1 stage SHA-256:
68006a1a8efed288be4ca4a2ae3cb9554a31d733eac08eaacf4c646c95faf74d. - Installed under
rogee's home without sudo;systemctl --userreportedgo-sip-asterisk.serviceenabled and active, and the live CLI returned Asterisk 22.10.1. - Initial installation:
systemctl --user reloadsucceeded andres_pjsip.soreported running. At that time no PJSIP endpoints were configured. Later authorized three-line loading is documented below; reload during an active call remains unverified. - User lingering was disabled by user choice: reboot persistence is not verified. The production installer now refuses installation without lingering;
--nonprodis explicitly session-scoped. - An earlier user-install draft generated a template-only
[directories](!)stanza and missed a startup crash. Corrected to[directories]and a live CLI readiness check; the corrected installer was checked for platform/lingering and no-overwrite behavior, but a fresh-install run of that final revision remains unverified. - Prior Debian 12 nonproduction host: a native, same-OS Asterisk 22.10.1 stage was built and its checksum checked. The default installer rejected Debian 12;
--nonprodinstalled the stage. Its system service could not be accepted and the host was subsequently reinstalled; do not count that as a successful Cell deployment.
Authorized native SIP load — 2026-10-03
- After confirming zero active calls, a fixed UDP transport and Agent-owned include were installed in the
rogeeuser config. Restarting the user service took time; an early CLI query found it unready, so no loaded revision was claimed then. Once ready,go-sip-udpwas observed on0.0.0.0:5060. - The project's native renderer and loader applied a complete user-authorized test snapshot that explicitly declares UDP/IP authentication and no REGISTER for three historical trunk addresses and inspected live PJSIP endpoint, AOR/contact, PCMA and transport state. Three endpoints loaded, revision 9 recorded, zero active calls. The initial interrupted observation recorded no revision; recovery required both the exact approved file and matching Asterisk runtime state. No dial, REGISTER, provider authorization, media, or active-call reload was attempted. The carrier has not confirmed that these historical lines actually use the asserted authentication, transport, or registration settings.
- This initial direct native-loader probe alone did not prove Dispatcher→Agent RPC or RabbitMQ
sip.config; the later channel test below does. Only counts, status and revision are retained here; service addresses, caller identities, keys and raw host logs are omitted.
Isolated HTTPS / RabbitMQ / mTLS → native Asterisk — 2026-10-03
- Test Agent/Dispatcher binary SHA-256 matched locally and on the host:
6e5b7b9b3de0cdd5aeb944d8df842269b4748dd6af4763396b95ea6288f1166d. A private, self-signed test CA and isolated HTTPS config source supplied the approved complete SIP snapshot; an isolated RabbitMQ container had the SaaS-owned topic exchanges and Dispatcher control queue provisioned before the SIP-only Dispatcher started. Only its own assigned control route was consumed. A pinned SSH tunnel carried the Dispatcher's mTLS gRPC session to the SIP-only Agent on the Debian host. No external SaaS or carrier participated. - Startup read revision 10 and verified 3 native Asterisk endpoints; the Dispatcher checkpoint became
(applied=10, pending=0, call_admission=0). - Two persistent
sip.confignotifications changed only the approved middle trunk's enabled state. Revision 11 loaded 2 native endpoints; revision 12 restored all 3. Each time, the Dispatcher checkpoint reached the matching applied revision,pending=0, andcall_admission=0; Agent's persisted revision, live endpoint count, and Asterisk's zero active calls were independently read. The final observed state is revision 12, three endpoints, not an authorization to call. - A replay of the already applied revision 12 returned to
(12,0,0)with an empty control queue and unchanged managed-config and verified-state file modification times; no second native write/reload was needed. RabbitMQ publisher confirms only broker acceptance; the separate Agent/Asterisk readback and Dispatcher checkpoint established this isolated application's handling. Neither the publisher confirm nor the local Mock response proves external SaaS receipt or production readiness. A transient user-service startup delay was treated as unready rather than inventing a loaded revision. With lingering disabled, this test does not verify service availability after logout or reboot. - Restricted test certificates, environment files, raw logs and snapshots remain outside the repository; committed evidence contains no credential, service IP, caller identity, audio, or transcript. The test made no call, registration, media capture, or active-call reload.
Capture-tool preflight — 2026-10-04
- On the same pinned Debian 13 test host,
rogeenow passes noninteractivesudo -n true. With explicit user authorization, installed Debiantcpdump4.99.5-2 andlibpcap0.8t641.10.5-2; tcpdump executable SHA-2560d426e2571a22de0d30996fd01bb44c1f267f33065023abea092c88bad16d2d2. sudo -n tcpdump -Dreported 8 interfaces. This is only a capability check: no packet capture or call was started. Asterisk ARI/HTTP config is still absent on this rebuilt host, the business call executable remains Mock-only, and a real provider/task snapshot has not been signed off. At inspection Asia/Shanghai was 08:15, before the authorized 09:00 opening; installation of tcpdump alone is not dialing permission.
Authorized nonproduction ARI/HTTP setup — 2026-10-04
- After read-only confirmation of zero active calls and channels, the committed and locally tested
configure-asterisk-user-ari.sh(1d12007) created only therogeeuser's privateari.conf,http.confandari-secret, all mode0600; no existing file was overwritten and no credential was printed or committed. HTTP binds only127.0.0.1:8088. The user-level Asterisk service was then explicitly restarted and reported enabled+active with a live CLI; anonymous ARI status returned 401, and a read-only authenticated ARI information request returned 200. No outbound call, registration or media capture was performed. - Very short independent SSH probes had observed the service active before its control socket appeared. In a sustained SSH session, its PID stayed stable and the socket and CLI became available after startup; this was a session/startup observation, not evidence of a broken Asterisk binary. Lingering is still disabled: availability after logout or reboot remains unverified. Real Agent ARI use, signed task/provider snapshots, carrier requirements and capture-first host validation have not been accepted.
Native Agent ARI SDK readback — 2026-10-04
- On the same pinned test host, an explicitly opt-in, CGO-disabled Go test read the owner-only
ari-secretin memory (no value logged) and used the existinggithub.com/CyCoreSystems/ari/v5/client/nativeclient against the loopback ARI endpoint.native.Connectand the authenticated read-only Asterisk status request both passed. The test binary was temporary and removed after the check; no channel was created, no call originated, no RTP/audio was captured and no OSS or AI request was issued.internal/asterisk/ari.gofails closed for missing, non-regular, non-0600, malformed or mismatched credentials. SDK readback does not establish real Agent execution, Stasis/media handling, recording or carrier acceptance.
Still required before a real call or production acceptance
- Verify the effect of endpoint updates during an active authorized call separately; SIP-only does not enable business dialing. Unsupported authentication/REGISTER and transport changes must continue to fail closed, and provider-side authentication, registration, routing and capacity remain unverified.
- Obtain carrier-confirmed authentication, transport and registration requirements for each real line, provide approved real line configuration, and arrange each whitelist trial (trunk, original number, time, attempt count). The fixed Asia/Shanghai 09:00–20:00 gate and per-number daily cap remain mandatory.
- Establish the approved task/provider snapshots, real ASR/TTS/recording chain and nonproduction call-evidence capture. One isolated Bailian LLM request and one unique-object OSS PUT succeeded independently (evidence); neither proves a phone call or SaaS application receipt. tcpdump and passwordless sudo are now present, and
deploys/test/nonprod-call-evidence.shnow has an explicit user-service scope verified with local fail-closed tests; its host preflight and actual PJSIP logger/capture are not yet verified. User-level ARI/HTTP is configured as above, but the formal Agent business call route still rejects non-Mock execution. Verify the host diagnostics, real media and signed snapshots before any call; any unavailable step fails closed. - Enable
rogeeuser lingering and verify reboot-persistentenabled+activebefore claiming production readiness. Complete the host/network/dependency diagnostics and external signoffs separately; localmake checkcannot replace them.