imsd/implementations
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf bd52afd931
imsd: P-CSCF candidates from PCSCF_DISCOVERED when PCSCF= is not set
imsd reads PCSCF_DISCOVERED= — a comma-separated IPv6 list — from its
environment; nothing in this tree writes it yet. FreshPcscfFromEnv picks
the fresh target: PCSCF= when set — one address, it wins — else the first
entry of the list CanonicalIp6 accepts; the journal says which, and names
the entries it refused. imsd routes the P-CSCF it uses itself — the fresh
target before a fresh registration (BringUp, FreshRecover), the resumed SA
peer once its SAs are confirmed — with the same idempotent `ip -6 route
replace` as a call's media peer: the bring-up script routes only the configured
PCSCF=, so a target taken from PCSCF_DISCOVERED= (set by hand in this tree),
or a route lost with the PDN, had no route. The start line prints that target; a resume still follows the
kernel's SA peer and now says whether that peer is in today's list. With
neither variable and nothing to resume, the fatal names both.

Tested: crafter-build test, 8 passed; the configured, discovered, differing (the
discovered list's order flipped: the resume stays on the SA peer, the next
fresh registration's target is the other address) and empty arms in builds
of this series on the dev phone (KPN).
2026-10-13 22:28:02 +02:00
..
dialerd.cpp imsd 0.2.7 — initial public snapshot 2026-07-22 23:04:21 +02:00
main.cpp imsd: P-CSCF candidates from PCSCF_DISCOVERED when PCSCF= is not set 2026-10-13 22:28:02 +02:00
media.cpp imsd, media: aim call audio at logind's seat0 session, not an account named user 2026-10-06 14:01:33 +02:00
ofonod.cpp imsd, imsd-ofonod: let polkit decide call control, not the account name 2026-10-06 14:01:33 +02:00
pcscf.cpp qmi, imsd-pcscf: read the ims PDN's P-CSCF list from the modem's runtime settings 2026-10-13 22:28:02 +02:00