imsd 0.2.7 — initial public snapshot
Userspace VoLTE/IMS daemon for mainline Linux phones (developed on the Fairphone 6): a GLib-free core (SIP, SDP, USIM AKA, IPsec SA setup, RTP media, call engine) behind a GDBus control daemon, a standalone AMR-WB media leg, and a Plasma Dialer backend. C++26 modules built with Crafter Build; the tree is clean under the project's house-style linter (crafter-build lint) across all three build products. Assisted-by: Claude:claude-fable-5 Signed-off-by: Jorijn van der Graaf <jorijnvdgraaf@catcrafts.net>
This commit is contained in:
commit
6e77823933
31 changed files with 8761 additions and 0 deletions
34
packaging/imsd.service
Normal file
34
packaging/imsd.service
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
# SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts®
|
||||
[Unit]
|
||||
Description=Userspace IMS/VoLTE daemon (SIP register + calls over the ims PDN)
|
||||
# needs the ims PDN (multiplexed netdev + global v6) — ims-pdn-up.sh
|
||||
# creates/connects the bearer through ModemManager and configures the netdev
|
||||
After=ModemManager.service network.target
|
||||
Wants=ModemManager.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
# bring up the ims PDN first; waits for modem + LTE attach, idempotent.
|
||||
# worst case ~4 min (modem wait + connect retries), hence TimeoutStartSec
|
||||
ExecStartPre=/usr/libexec/ims-pdn-up.sh
|
||||
TimeoutStartSec=600
|
||||
# /run/imsd.env: written by ims-pdn-up.sh (DEV= the connected ims netdev).
|
||||
# /etc/imsd.env: admin configuration — PCSCF= is REQUIRED (the carrier's
|
||||
# P-CSCF address; see the README's Configuration section) and wins over the
|
||||
# runtime-derived values.
|
||||
EnvironmentFile=-/run/imsd.env
|
||||
EnvironmentFile=-/etc/imsd.env
|
||||
# registration state (imsreg.state) + media stats live here
|
||||
StateDirectory=imsd
|
||||
ExecStart=/usr/bin/imsd
|
||||
# registration: resume an existing SA when possible (avoids fresh-SA
|
||||
# throttles); a failed bring-up exits nonzero and systemd retries
|
||||
Restart=on-failure
|
||||
RestartSec=120
|
||||
# SIGTERM: engine keeps the SA + registration state for the next resume
|
||||
KillMode=mixed
|
||||
TimeoutStopSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Loading…
Add table
Add a link
Reference in a new issue