Delete DRM Store

@startuml

autonumber

box "Container" #LightGreen
participant Netflix
participant DPI
participant rialtoClient
end box

box "Platform" #LightBlue
participant rialtoServer
participant Ocdm
end box


Netflix      ->  DPI:           deleteDrmStore(media_keys)
DPI          ->  rialtoClient:  deleteDrmStore(media_keys_handle)
rialtoClient ->  rialtoServer:  deleteDrmStore(media_keys_handle)

rialtoServer ->  Ocdm:          opencdm_delete_secure_store(media_keys_handle)
Ocdm         --> rialtoServer:  status

rialtoServer --> rialtoClient:  status
rialtoClient --> DPI:           status
DPI          --> Netflix:       status


@enduml


Delete Key Store

@startuml

autonumber

box "Container" #LightGreen
participant Netflix
participant DPI
participant rialtoClient
end box

box "Platform" #LightBlue
participant rialtoServer
participant Ocdm
end box


Netflix      ->  DPI:           deleteKeyStore(media_keys)
DPI          ->  rialtoClient:  deleteKeyStore(media_keys_handle)
rialtoClient ->  rialtoServer:  deleteKeyStore(media_keys_handle)

rialtoServer ->  Ocdm:          opencdm_delete_key_store(media_keys_handle)
Ocdm         --> rialtoServer:  status

rialtoServer --> rialtoClient:  status
rialtoClient --> DPI:           status
DPI          --> Netflix:       status


@enduml


Get DRM Store Hash

@startuml

autonumber

box "Container" #LightGreen
participant Netflix
participant DPI
participant rialtoClient
end box

box "Platform" #LightBlue
participant rialtoServer
participant Ocdm
end box


Netflix      ->  DPI:           getDrmStoreHash(media_keys)
DPI          ->  rialtoClient:  getDrmStoreHash(media_keys_handle)
rialtoClient ->  rialtoServer:  getDrmStoreHash(media_keys_handle)
rialtoServer ->  Ocdm:          opencdm_get_secure_store_hash_ext(media_keys_handle)
Ocdm         --> rialtoServer:  status, drm_store_hash
rialtoServer --> rialtoClient:  status, drm_store_hash
rialtoClient --> DPI:           status, drm_store_hash
DPI          --> Netflix:       status, drm_store_hash


@enduml


Get Key Store Hash

@startuml

autonumber

box "Container" #LightGreen
participant Netflix
participant DPI
participant rialtoClient
end box

box "Platform" #LightBlue
participant rialtoServer
participant Ocdm
end box


Netflix      ->  DPI:           getKeyStoreHash(media_keys)
DPI          ->  rialtoClient:  getKeyStoreHash(media_keys_handle)
rialtoClient ->  rialtoServer:  getKeyStoreHash(media_keys_handle)
rialtoServer ->  Ocdm:          opencdm_get_key_store_hash_ext(media_keys_handle)
Ocdm         --> rialtoServer:  status, key_store_hash
rialtoServer --> rialtoClient:  status, key_store_hash
rialtoClient --> DPI:           status, key_store_hash
DPI          --> Netflix:       status, key_store_hash


@enduml


Get LDL Session Limit

@startuml

autonumber

box "Container" #LightGreen
participant Netflix
participant DPI
participant rialtoClient
end box

box "Platform" #LightBlue
participant rialtoServer
participant Ocdm
end box


Netflix      ->  DPI:           getLdlSessionsLimit(drmHeader, licenseChallenge)
DPI          ->  rialtoClient:  getLdlSessionsLimit(media_keys_handle)
rialtoClient ->  rialtoServer:  getLdlSessionsLimit(media_keys_handle)
rialtoServer ->  Ocdm:          opencdm_system_ext_get_ldl_session_limit(media_keys_handle)
Ocdm         --> rialtoServer:  status, ldl_limit
rialtoServer --> rialtoClient:  status, ldl_limit
rialtoClient --> DPI:           status, ldl_limit
DPI          --> Netflix:       status, ldl_limit


@enduml

Get DRM Time

@startuml

autonumber

box "Container" #LightGreen
participant Netflix
participant DPI
participant rialtoClient
end box

box "Platform" #LightBlue
participant rialtoServer
participant Ocdm
end box


Netflix      ->  DPI:           getDrmTime(media_keys)
DPI          ->  rialtoClient:  getDrmTime(media_keys_handle)
rialtoClient ->  rialtoServer:  getDrmTime(media_keys_handle)
rialtoServer ->  Ocdm:          opencdm_system_get_drm_time(media_keys_handle)
Ocdm         --> rialtoServer:  status, drm_time
rialtoServer --> rialtoClient:  status, drm_time
rialtoClient --> DPI:           status, drm_time
DPI          --> Netflix:       status, drm_time


@enduml