This wiki has been migrated to and is now deprecated. Please use that site instead.

DVB Common-Interface (DVB-CI)

DVB-CI defines an interface between a DVB receiver (TV set, Set-Top-Box, Bluray recorder etc.) and a PC-Card module (Conditional Access Module, CAM). It consists of a transport stream interface and a command interface.

On the transport stream interface, a DVB Transport Stream can be routed through the module and optionally be descrambled. The command interface transfers commands like start descrambling. The DVB-CI dissector processes command interface traffic and some hardware events such as module inserted/extracted


DVB-CI was defined by DVB in 1997. CI+ added content security and other features on top of DVB-CI. CI+ version 1.2 was published in May 2009, version 1.3 followed in January 2011.

standards documents

Example traffic

The screenshot shows dissection of the application_info() APDU. The capture contains no timestamps. If timestamps are available, the dissector can handle them.



The DVB-CI dissector was written by Martin Kaiser ( ). It is in pre-alpha state. It supports DVB-CI as defined in the DVB-CI specification (EN50221). Fragmentation on link and transport layers is not implemented yet. On the application layer, rm, ap and parts of the ca resource are implemented.

The dissector uses pcap files with datalink type 235. The corresponding format is documented on

Preference Settings

There are no preference settings for DVB-CI itself.

However, DVB-CI uses length fields in ASN.1 BER format in many messages. To dissect these length fields, the DVB-CI dissector uses the existing BER code. To display details of each length field, select Show internal BER encapsulation tokens from the Edit / Preferences / Protocols / BER preferences.

Example capture file

SampleCaptures/dvb-ci_1.pcap startup, requests for descrambling, removal

Display Filter

Capture Filter