Expand description
CI Plus extensions (ETSI TS 103 205) — the resource-scoped APDU layer.
Like the TS 101 699 extensions (crate::ci_ext), the CI Plus resources
defined by TS 103 205 have their own apdu_tag namespace that collides
with EN 50221 and TS 101 699 — e.g. the Multi-stream resource’s tags live in
0x9F92xx, Content Control’s in 0x9F90xx, and the extended CA Support
ca_pmt/ca_pmt_reply reuse EN 50221’s 0x9F8032/0x9F8033 verbatim. The
same tag bytes therefore denote different objects depending on which
resource’s session they arrive on, so they cannot join the global
crate::AnyApdu. This module provides a resource-scoped dispatch
(CiPlusApdu): parsing keys on the resource_identifier() first
(classify), then the leading apdu_tag selects the object within that
resource.
Spec: ETSI TS 103 205 V1.4.1 — resource IDs in docs/ts_103_205/resource-ids.md;
per-resource layouts cited in their own module docs.
§Resources implemented this pass
- Multi-stream (
0x00900041,multistream) —CICAM_multistream_capability/PID_select_req/PID_select_reply. - Content Control multi-stream (
0x008C1041,content_control) — the printed-syntax extended APDUscc_PIN_reply/cc_PIN_event, plus the SAC protocol datatype model. - Multi-stream Host Control (
0x00200081, base v30x00200043,multistream_host_control) — the tune APDUstune_triplet_req/tune_lcn_req/tune_ip_req/tuner_status_req/tuner_status_reply. Both resource ids route to the sameCiPlusResource::MultistreamHostControlkind, carrying themultistream_host_control::HostControlModethat selects thetune_ip_reqreserved-bit budget.tune_broadcast_req/tune_reply/ask_release(_reply)are deferred to CI Plus V1.3 and not encoded. - Sample decryption (
0x00920041,sample_decryption) —sd_info_req/sd_info_reply/sd_start(_reply)/sd_update(_reply), with opaque DRM metadata / UUID payloads. - CICAM Player (
0x00930041,cicam_player) — the full 16-APDU set9FA000–9FA00F(CICAM_player_verify_req…CICAM_player_update_reply). - Auxiliary File System / file retrieval (
0x00910041,file_retrieval) —FileSystemOffer/FileSystemAck, plusFileRequest/FileAcknowledgewhose bodies defer to CI Plus V1.3 (carried opaquely; tags only established).
§Not dispatched here
- CA Support multi-stream (
ca_support) — TS 103 205 does not print a resource_id for theresource_type = 2variant (it defers to CI Plus V1.3), so its extendedca_pmt/ca_pmt_replyare standalone typed structs, directly constructible/parseable but not wired intoCiPlusApdu. - Low-Speed Comms v4 extensions (
low_speed_comms_v4) — TS 103 205 §10 prints no LSC v4 resource_id (the LSC resource_id + basecomms_*APDUs defer to CI Plus V1.3), so the v4comms_info/comms_IP_configAPDUs and the hybrid/multicast descriptors are standalone typed structs (tag-dispatch helper), not wired intoCiPlusApdu. - URI v3 (
uri) — theuri_messageis a SAC datatype (datatype_id 25), not an APDU/resource, souri::UriMessageis a standalone typed struct used from the Content Control SAC layer. - CI Plus descriptors (
descriptors) — Sample-Mode TLV descriptors, not APDUs, so they are standalone too.
Modules§
- ca_
support - Conditional Access Support — CI Plus multi-stream
ca_pmt/ca_pmt_reply— ETSI TS 103 205 V1.4.1 §6.4.4, Tables 14/16 (PDF pp. 38-40). Seedocs/ts_103_205/ca-support.md. - cicam_
player - CICAM Player resource objects — ETSI TS 103 205 V1.4.1 §8.8, Tables 48-71
(PDF pp. 86-96). See
docs/ts_103_205/cicam-player.md. - content_
control - Content Control resource — multi-stream extensions — ETSI TS 103 205 V1.4.1
§6.4.3, Tables 6-13 (PDF pp. 34-38). See
docs/ts_103_205/content-control.md. - descriptors
- CI Plus Sample-Mode descriptors (IV / key-identifier) — ETSI TS 103 205
V1.4.1 §7.5.5.4, Tables 45-47 (PDF pp. 79-80). See
docs/ts_103_205/ci-plus-descriptors.md. - file_
retrieval - Auxiliary File System resource (CICAM file retrieval) — ETSI TS 103 205
V1.4.1 §9, Tables 72-75 (PDF pp. 96-99). See
docs/ts_103_205/file-retrieval.md. - low_
speed_ comms_ v4 - Low Speed Communication resource version 4 extensions — ETSI TS 103 205
V1.4.1 §10, Tables 76-89 (PDF pp. 100-110). See
docs/ts_103_205/low-speed-comms-v4.md. - multistream
- Multi-stream resource objects — ETSI TS 103 205 V1.4.1 §6.4.2, Tables 2-5
(PDF pp. 31-33). See
docs/ts_103_205/multi-stream-resource.md. - multistream_
host_ control - Multi-stream Host Control resource objects — ETSI TS 103 205 V1.4.1 §6.4.5,
Tables 17-22 (PDF pp. 40-44); base DVB Host Control v3 tune APDUs §13.2,
Tables 97-102 (PDF pp. 126-130). See
docs/ts_103_205/multi-stream-host-control.md. - sample_
decryption - Sample decryption resource objects — ETSI TS 103 205 V1.4.1 §7.4, Tables
30-39 (PDF pp. 52-60). See
docs/ts_103_205/sample-decryption.md. - uri
- Usage Rules Information (URI) version 3 — ETSI TS 103 205 V1.4.1 §11,
Tables 90-92 (PDF pp. 110-112). See
docs/ts_103_205/usage-rules-v3.md.
Enums§
- CiPlus
Apdu - A parsed CI Plus APDU, scoped to the resource it arrived on.
- CiPlus
Resource - The CI Plus resource a
ResourceIddenotes, for the resources dispatched byCiPlusApdu. ReturnsNonefor any other resource (including the deferred-resource_id CA Support multi-stream type).
Constants§
- CICAM_
PLAYER - CICAM Player resource — Class 147, Type 1, Version 1 (
0x00930041). §8.8, Table 71. - CONTENT_
CONTROL - Content Control multi-stream resource — Class 140, Type 65, Version 1
(
0x008C1041). §6.4.3.1 Table 6. - FILE_
RETRIEVAL - Auxiliary File System resource (CICAM file retrieval) — Class 145, Type 1,
Version 1 (
0x00910041). §9, Table 75. - HOST_
CONTROL_ V3 - Base DVB Host Control v3 resource — Class 32, Type 1, Version 3
(
0x00200043). §13. The multi-stream tune APDUs derive from this; both ids route toCiPlusResource::MultistreamHostControl, distinguished only by thetune_ip_reqreserved-bit budget (multistream_host_control::HostControlMode). - MULTISTREAM
- Multi-stream resource — Class 144, Type 1, Version 1 (
0x00900041). §6.4.2.1 Table 2. - MULTISTREAM_
HOST_ CONTROL - Multi-stream Host Control resource — Class 32, Type 2, Version 1
(
0x00200081). §6.4.5, Table 17. Based on DVB Host Control v3. - SAMPLE_
DECRYPTION - Sample decryption resource — Class 146, Type 1, Version 1 (
0x00920041). §7.4, Table 30.
Functions§
- classify
- Map a
ResourceIdto the CI Plus resource it denotes, orNonefor any resource not dispatched byCiPlusApdu.