Push Tracker
ria-ran--sim-drop/requirements-saip.txt
A ashkan@beigi.net b88fe4eed1 Add real SGP.22 SAIP profile generation (optional)
New server/saip_profile.py encodes a DER ProfileElement sequence (ProfileHeader
with ICCID + Milenage AKA parameters carrying Ki/OPc) using asn1tools against
the official PE_Definitions SAIP ASN.1 schema. It locates the schema from an
installed osmocom pySim (or SAIP_ASN_PATH) via find_spec WITHOUT importing
pySim's Python package, so it avoids the pyscard/smpp card-reader stack — the
only runtime dep is asn1tools.

Selectable via profile.format ("v2" default | "saip"); the app falls back to
profile-package-v2 with a warning when SAIP prerequisites are absent. IMSI and
other EFs (USIM-template PEs) are the documented next layer.

Add requirements-saip.txt, pytest.ini (silence asn1tools warnings), README and
config updates. Tests: +6 (encode/round-trip/credentials, app emit + fallback);
92 pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 02:35:54 +00:00

16 lines
772 B
Plaintext

# Optional dependencies for real SGP.22 SAIP profile generation (profile.format: saip).
# The base requirements.txt is enough for the default profile-package-v2 format.
# ASN.1 DER encoder used to build the SAIP ProfileElement sequence.
asn1tools>=0.166
# The SAIP ASN.1 schema (PE_Definitions-*.asn) ships with osmocom pySim; we
# locate it there without importing pySim's card-reader stack. Install from git:
# pip install --no-deps "git+https://github.com/osmocom/pysim.git"
# Alternatively, point SAIP_ASN_PATH at a PE_Definitions-*.asn file directly and
# skip pySim entirely.
#
# Note: `pip install pysim` (no --no-deps) pulls pyscard, which needs the PCSC
# dev headers (apt install libpcsclite-dev). --no-deps avoids that; SAIP does not
# use the card reader.