Do more on the web, with a fast and secure browser!

Download Opera browser with:

  • built-in ad blocker
  • battery saver
  • free VPN
Download Opera

CI+ Communication in the HbbTV platform

  • Does anyone know how to communicate with CI+ CAM module via HbbTV 1.2.1?

    We have created these objects
    <object type="application/oipfDrmAgent" id="oipfDrmAgent"></object>
    <object type="application/oipfGatewayInfo" id="gatewayinfo"></object>

    Before sending data to CI+ module, we need to know CI+ status and <only> Samsung TV 2014 has a true value of isCSPGCIPlusSupported.
    Others TV like a LG, Panasonic, Gogen have a false value.

    ... and now we called
    drmagent = document.getElementById('oipfDrmAgent');
    drmagent.onDRMSystemMessage = this.onDRMMessage;
    drmagent.onDRMMessageResult = this.onDRMRetrieve;
    ret = drmagent.sendDRMMessage("application/vnd.oipf.cspg-hexbinary", '0x0108113101190000' ,'urn:dvb:casystemid:3478');

    And we have retrieved message number, resultMsg has null object and resultCode has a value 2.

    onDRMRetrieve: function(msgID, resultMsg, resultCode){
    var drminfo = document.getElementById('drminfo');
    drminfo.innerHTML += '
    DRM retrieve message' + msgID + ' ' + resultMsg + ' ' + resultCode;

    On TV LG HbbTV 1.2.1

    Note: ETSI TS 102 796 V1.1.1 (2010-06) has defined sending messages via sendContentPurchaseMessage(), but this function is not defined

    I have three questions:

    1. How to make a message string passed via sendDRMMessage like a '0x0108113101190000'?
    2. We need to know how to get the CSSN number from CI+ card.
    3. Are there any security problems related?
  • The CI+ module and related topics are not in the field of Opera Software products. We just provide bindings between JavaScript and terminals hardware. However, what we suspect here is that, the hexadecimal value you are passing in the 'sendDRMMessage' function is not parsed as string, but rather a number. You may try converting first this hex number explicitly into String. Please also check, if the message you receive has the same ID you specified (to know you got right reply). Can you also obtain any logs from the DRMAgent implementation, to at least see if your message is delivered to the DRM system on TV (I mean does it leave the browser?).