imsd/interfaces
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf a89ca5a60c
qmi, imsd-pcscf: read the ims PDN's P-CSCF list from the modem's runtime settings
The network hands the P-CSCF addresses to the modem in the PDN's Protocol
Configuration Options; ModemManager's bearer code does not ask the modem
for them, qmicli (libqmi 1.39) prints none of them, and libqmi has no TLV
for the IPv6 list (0x2E), which is why PCSCF= was a required setting. A
second QMI WDS client reads them once it is bound to the bearer's mux
data port (the binding ModemManager gives its own clients): Bind Mux
Data Port, Set IP Family 6, Get Current Settings, over one AF_QIPCRTR
socket. Imsd:Qmi holds the bytes and the readers (0x22 the flag, 0x23
IPv4, 0x24 FQDN, 0x2E IPv6 in Qualcomm's layout: a count, then 16 bytes
each); imsd-pcscf is the socket, the service lookup and the sequence, and
prints the list, one address per line; nothing runs it yet. It sends
no Start Network and no Stop Network; the bearer stayed connected and the
registration stood after its runs (the fp6 journal's probe capture 04,
benches 38 and 39). The
build, the CI cross-compile, the tarball and the apk gain the product;
linux-headers is named in the sysroot for <linux/qrtr.h>.

Tested: crafter-build test, 8 passed; the aarch64 build of this commit's
helper on the dev phone (KPN) against the live ims bearer.
2026-10-13 22:28:02 +02:00
..
Imsd-Aka.cppm imsd 0.2.7 — initial public snapshot 2026-07-22 23:04:21 +02:00
Imsd-Engine.cppm ipsec, engine, imsd: the state file records the P-CSCF and a resume follows the kernel's SA peer 2026-10-13 22:28:02 +02:00
Imsd-Ipsec.cppm ipsec, engine, imsd: the state file records the P-CSCF and a resume follows the kernel's SA peer 2026-10-13 22:28:02 +02:00
Imsd-Messages.cppm imsd: a resumed registration echoes the 401's Security-Server list from the state file 2026-10-11 02:56:47 +02:00
Imsd-Qmi.cppm 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
Imsd-Sdp.cppm engine/sdp: CODECS override for the codecs we offer and accept 2026-09-08 17:53:26 +02:00
Imsd-Sip.cppm engine: keep the reg-event subscription alive and act on a terminated binding 2026-10-06 14:01:33 +02:00
Imsd-Util.cppm util: canonical IPv6 text (RFC 5952 §4) and an address-list parser 2026-10-13 22:28:02 +02:00
Imsd.cppm 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
ImsdBus.cppm imsd, imsd-ofonod: let polkit decide call control, not the account name 2026-10-06 14:01:33 +02:00