Physical Asterisk Cell input
The production Cell is physical-host business software managed by the approved SIP management release, not a Docker service and not a Go Agent subprocess. Asterisk and the SIP Agent are the only business-code services in this project; MQ, OSS, AI and SaaS APIs remain externally supplied infrastructure.
The pinned source input is:
- Asterisk
22.10.1 - Git commit
f0e408a7b0d829c85bf15fa4b487870a50cb3000 - Archive
../packages/asterisk-22.10.1-source.tar.gz - SHA-256
373c98f4d4a1b923b42def0aee03f4e36aca9d1c244a8eeda646da8a97f89663
build-asterisk-native.sh reproduces the stage from the pinned source and
local dependency cache; the build selects no downloaded core sounds/MOH.
The native package includes its build-platform marker and
install-asterisk-user.sh. Run that installer as rogee, never as root;
it verifies the stage hash and required libraries, installs into ~/.local/opt/,
sets up ~/.config/go-sip-asterisk/ without overwriting existing files, and
installs go-sip-asterisk.service under systemd --user. Production requires
loginctl enable-linger rogee and a verified reboot-persistent enabled+active
service; --nonprod allows a session-scoped Debian 12 native build but does
not certify reboot persistence. The management-approved static pjsip.conf,
ARI and RTP configuration must be supplied separately. For the isolated
nonproduction user service only, configure-asterisk-user-ari.sh creates
private ari.conf, loopback-only http.conf and an owner-only ari-secret
without printing credentials, overwriting existing files or restarting the
service. For the same nonproduction user-level service, enable the native
HEP SIP mirror with configure-asterisk-user-hep.sh 127.0.0.1:<port> after
verifying the Agent's AGENT_HEP_LISTEN_ADDR uses that same loopback UDP
address and port. This one-time helper refuses existing hep.conf and does
not restart or overwrite Asterisk. Its config enables res_hep and
res_hep_pjsip, sets uuid_type = call-id, and uses no capture password.
The pinned native package contains both modules; no Homer server is needed.
Only after separately verifying zero active calls, restart the user service,
check module show like res_hep for both modules, read back ARI HTTP and both
enabled/active state, and check that the Agent's UDP listener is bound.
A missing listener prevents Agent startup; an absent or broken SIP mirror is
reported as sip_capture_error, never guessed as a SIP status. To roll back,
first stop new admission and verify zero active calls, stop the Agent, remove
only the explicitly installed private hep.conf, restart Asterisk and verify
its modules/status, then restore the previously approved Agent version and
config. Do not clear existing call occupancy, outbox, or Agent recovery files.
Do not treat
this local test setup as a management-approved production configuration.
The bundled stage has no live SIP trunk or dialing authorization; verify loaded endpoints and contacts
before any call. Do not substitute another Asterisk version or a container image.
The Go Agent package only consumes the resulting approved Cell artifact and
reports its applied revision. Local Mock fixtures do not prove real services.
Before every real outbound attempt, the operator must obtain a fresh user confirmation in the current conversation that names the SIP channel, raw target number and capture plan. Task and trunk schedules and quotas come from the verified SaaS configuration snapshot; the local host has no separate fixed hour or daily-attempt limit. Missing or contradictory schedules fail closed; do not wait, retry, delay or switch trunks. A prior confirmation does not authorize retries or additional targets; failed calls must stop for a new confirmation.